diff --git a/App.config b/App.config new file mode 100644 index 0000000..4095eec --- /dev/null +++ b/App.config @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/DBWizard.csproj b/DBWizard.csproj new file mode 100644 index 0000000..dad2dcc --- /dev/null +++ b/DBWizard.csproj @@ -0,0 +1,125 @@ + + + + + Debug + AnyCPU + {42D31E64-C955-4C6F-9BE2-1FC06E252F37} + WinExe + DBWizard + DBWizard + v4.7.2 + 512 + true + true + + + + + AnyCPU + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + AnyCPU + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + packages\CsvHelper.15.0.5\lib\net47\CsvHelper.dll + + + packages\Dapper.2.0.35\lib\net461\Dapper.dll + + + packages\Microsoft.Bcl.AsyncInterfaces.1.1.0\lib\net461\Microsoft.Bcl.AsyncInterfaces.dll + + + + + + packages\System.Data.SQLite.Core.1.0.112.1\lib\net40\System.Data.SQLite.dll + + + + packages\System.Runtime.CompilerServices.Unsafe.4.5.2\lib\netstandard2.0\System.Runtime.CompilerServices.Unsafe.dll + + + packages\System.Threading.Tasks.Extensions.4.5.2\lib\netstandard2.0\System.Threading.Tasks.Extensions.dll + + + + + + + + + + + + + + Form + + + Form1.cs + + + + + + + + + + + Form1.cs + + + ResXFileCodeGenerator + Resources.Designer.cs + Designer + + + True + Resources.resx + True + + + PreserveNewest + + + + + SettingsSingleFileGenerator + Settings.Designer.cs + + + True + Settings.settings + True + + + + + + + + + + + This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. + + + + \ No newline at end of file diff --git a/DBWizard.db b/DBWizard.db new file mode 100644 index 0000000..12b8e7f Binary files /dev/null and b/DBWizard.db differ diff --git a/DBWizard.sln b/DBWizard.sln new file mode 100644 index 0000000..d198bd1 --- /dev/null +++ b/DBWizard.sln @@ -0,0 +1,25 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 16 +VisualStudioVersion = 16.0.29806.167 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DBWizard", "DBWizard.csproj", "{42D31E64-C955-4C6F-9BE2-1FC06E252F37}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {42D31E64-C955-4C6F-9BE2-1FC06E252F37}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {42D31E64-C955-4C6F-9BE2-1FC06E252F37}.Debug|Any CPU.Build.0 = Debug|Any CPU + {42D31E64-C955-4C6F-9BE2-1FC06E252F37}.Release|Any CPU.ActiveCfg = Release|Any CPU + {42D31E64-C955-4C6F-9BE2-1FC06E252F37}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {4AB6A6F8-500A-4828-875F-1F1AE37E8234} + EndGlobalSection +EndGlobal diff --git a/Form1.Designer.cs b/Form1.Designer.cs new file mode 100644 index 0000000..6d1ccb3 --- /dev/null +++ b/Form1.Designer.cs @@ -0,0 +1,832 @@ +namespace DBWizard +{ + partial class Form1 + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.components = new System.ComponentModel.Container(); + System.Windows.Forms.Label lastNameLabel; + System.Windows.Forms.Label firstNameLabel; + System.Windows.Forms.Label student_idLabel; + System.Windows.Forms.Label dOBLabel; + System.Windows.Forms.Label programNameLabel; + System.Windows.Forms.Label addressLabel; + System.Windows.Forms.Label schoolLabel; + System.Windows.Forms.Label genderLabel; + System.Windows.Forms.Label gradeLevelLabel; + System.Windows.Forms.Label lastNameLabel1; + System.Windows.Forms.Label firstNameLabel1; + System.Windows.Forms.Label phoneNumberLabel; + System.Windows.Forms.Label emailAddressLabel; + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Form1)); + this.topTableLayoutPanel = new System.Windows.Forms.TableLayoutPanel(); + this.mainMenuStrip = new System.Windows.Forms.MenuStrip(); + this.fileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.newStudentToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.saveStudentToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.reportsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.studentBySchoolToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.studentsByProgramToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.exitsavesDataToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.studentBindingNavigator = new System.Windows.Forms.BindingNavigator(this.components); + this.bindingNavigatorAddNewItem = new System.Windows.Forms.ToolStripButton(); + this.bindingNavigatorCountItem = new System.Windows.Forms.ToolStripLabel(); + this.bindingNavigatorDeleteItem = new System.Windows.Forms.ToolStripButton(); + this.bindingNavigatorMoveFirstItem = new System.Windows.Forms.ToolStripButton(); + this.bindingNavigatorMovePreviousItem = new System.Windows.Forms.ToolStripButton(); + this.bindingNavigatorSeparator = new System.Windows.Forms.ToolStripSeparator(); + this.bindingNavigatorPositionItem = new System.Windows.Forms.ToolStripTextBox(); + this.bindingNavigatorSeparator1 = new System.Windows.Forms.ToolStripSeparator(); + this.bindingNavigatorMoveNextItem = new System.Windows.Forms.ToolStripButton(); + this.bindingNavigatorMoveLastItem = new System.Windows.Forms.ToolStripButton(); + this.bindingNavigatorSeparator2 = new System.Windows.Forms.ToolStripSeparator(); + this.studentBindingNavigatorSaveItem = new System.Windows.Forms.ToolStripButton(); + this.student_pictureBox = new System.Windows.Forms.PictureBox(); + this.lastNameTextBox = new System.Windows.Forms.TextBox(); + this.firstNameTextBox = new System.Windows.Forms.TextBox(); + this.student_idTextBox = new System.Windows.Forms.TextBox(); + this.dob_dateTimePicker = new System.Windows.Forms.DateTimePicker(); + this.programComboBox = new System.Windows.Forms.ComboBox(); + this.addressTextBox = new System.Windows.Forms.TextBox(); + this.schoolComboBox = new System.Windows.Forms.ComboBox(); + this.genderComboBox = new System.Windows.Forms.ComboBox(); + this.gradeLevelComboBox = new System.Windows.Forms.ComboBox(); + this.save_button = new System.Windows.Forms.Button(); + this.parent_groupBox = new System.Windows.Forms.GroupBox(); + this.emailAddressTextBox = new System.Windows.Forms.TextBox(); + this.phoneNumberNumericUpDown = new System.Windows.Forms.NumericUpDown(); + this.parent_firstNameTextBox = new System.Windows.Forms.TextBox(); + this.parent_lastNameTextBox = new System.Windows.Forms.TextBox(); + this.clear_button = new System.Windows.Forms.Button(); + this.delete_button = new System.Windows.Forms.Button(); + this.pic_openFileDialog = new System.Windows.Forms.OpenFileDialog(); + this.lblSearch = new System.Windows.Forms.Label(); + this.search_textBox = new System.Windows.Forms.TextBox(); + this.errorProvider1 = new System.Windows.Forms.ErrorProvider(this.components); + this.toolTips = new System.Windows.Forms.ToolTip(this.components); + this.btnChaosMonkey = new System.Windows.Forms.Button(); + this.foundStudents_comboBox = new System.Windows.Forms.ComboBox(); + this.lblFoundStudents = new System.Windows.Forms.Label(); + this.studentBindingSource = new System.Windows.Forms.BindingSource(this.components); + lastNameLabel = new System.Windows.Forms.Label(); + firstNameLabel = new System.Windows.Forms.Label(); + student_idLabel = new System.Windows.Forms.Label(); + dOBLabel = new System.Windows.Forms.Label(); + programNameLabel = new System.Windows.Forms.Label(); + addressLabel = new System.Windows.Forms.Label(); + schoolLabel = new System.Windows.Forms.Label(); + genderLabel = new System.Windows.Forms.Label(); + gradeLevelLabel = new System.Windows.Forms.Label(); + lastNameLabel1 = new System.Windows.Forms.Label(); + firstNameLabel1 = new System.Windows.Forms.Label(); + phoneNumberLabel = new System.Windows.Forms.Label(); + emailAddressLabel = new System.Windows.Forms.Label(); + this.topTableLayoutPanel.SuspendLayout(); + this.mainMenuStrip.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.studentBindingNavigator)).BeginInit(); + this.studentBindingNavigator.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.student_pictureBox)).BeginInit(); + this.parent_groupBox.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.phoneNumberNumericUpDown)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.errorProvider1)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.studentBindingSource)).BeginInit(); + this.SuspendLayout(); + // + // lastNameLabel + // + lastNameLabel.AutoSize = true; + lastNameLabel.Location = new System.Drawing.Point(183, 38); + lastNameLabel.Name = "lastNameLabel"; + lastNameLabel.Size = new System.Drawing.Size(90, 20); + lastNameLabel.TabIndex = 3; + lastNameLabel.Text = "Last Name:"; + // + // firstNameLabel + // + firstNameLabel.AutoSize = true; + firstNameLabel.Location = new System.Drawing.Point(380, 38); + firstNameLabel.Name = "firstNameLabel"; + firstNameLabel.Size = new System.Drawing.Size(90, 20); + firstNameLabel.TabIndex = 4; + firstNameLabel.Text = "First Name:"; + // + // student_idLabel + // + student_idLabel.AutoSize = true; + student_idLabel.Location = new System.Drawing.Point(12, 200); + student_idLabel.Name = "student_idLabel"; + student_idLabel.Size = new System.Drawing.Size(83, 20); + student_idLabel.TabIndex = 6; + student_idLabel.Text = "student id:"; + // + // dOBLabel + // + dOBLabel.AutoSize = true; + dOBLabel.Location = new System.Drawing.Point(10, 266); + dOBLabel.Name = "dOBLabel"; + dOBLabel.Size = new System.Drawing.Size(48, 20); + dOBLabel.TabIndex = 8; + dOBLabel.Text = "DOB:"; + // + // programNameLabel + // + programNameLabel.AutoSize = true; + programNameLabel.Location = new System.Drawing.Point(380, 108); + programNameLabel.Name = "programNameLabel"; + programNameLabel.Size = new System.Drawing.Size(73, 20); + programNameLabel.TabIndex = 10; + programNameLabel.Text = "Program:"; + // + // addressLabel + // + addressLabel.AutoSize = true; + addressLabel.Location = new System.Drawing.Point(185, 177); + addressLabel.Name = "addressLabel"; + addressLabel.Size = new System.Drawing.Size(70, 20); + addressLabel.TabIndex = 12; + addressLabel.Text = "address:"; + // + // schoolLabel + // + schoolLabel.AutoSize = true; + schoolLabel.Location = new System.Drawing.Point(380, 177); + schoolLabel.Name = "schoolLabel"; + schoolLabel.Size = new System.Drawing.Size(62, 20); + schoolLabel.TabIndex = 14; + schoolLabel.Text = "School:"; + // + // genderLabel + // + genderLabel.AutoSize = true; + genderLabel.Location = new System.Drawing.Point(185, 108); + genderLabel.Name = "genderLabel"; + genderLabel.Size = new System.Drawing.Size(67, 20); + genderLabel.TabIndex = 16; + genderLabel.Text = "Gender:"; + // + // gradeLevelLabel + // + gradeLevelLabel.AutoSize = true; + gradeLevelLabel.Location = new System.Drawing.Point(390, 262); + gradeLevelLabel.Name = "gradeLevelLabel"; + gradeLevelLabel.Size = new System.Drawing.Size(99, 20); + gradeLevelLabel.TabIndex = 18; + gradeLevelLabel.Text = "Grade Level:"; + // + // lastNameLabel1 + // + lastNameLabel1.AutoSize = true; + lastNameLabel1.Location = new System.Drawing.Point(34, 42); + lastNameLabel1.Name = "lastNameLabel1"; + lastNameLabel1.Size = new System.Drawing.Size(90, 20); + lastNameLabel1.TabIndex = 0; + lastNameLabel1.Text = "Last Name:"; + // + // firstNameLabel1 + // + firstNameLabel1.AutoSize = true; + firstNameLabel1.Location = new System.Drawing.Point(34, 90); + firstNameLabel1.Name = "firstNameLabel1"; + firstNameLabel1.Size = new System.Drawing.Size(90, 20); + firstNameLabel1.TabIndex = 2; + firstNameLabel1.Text = "First Name:"; + // + // phoneNumberLabel + // + phoneNumberLabel.AutoSize = true; + phoneNumberLabel.Location = new System.Drawing.Point(6, 139); + phoneNumberLabel.Name = "phoneNumberLabel"; + phoneNumberLabel.Size = new System.Drawing.Size(119, 20); + phoneNumberLabel.TabIndex = 4; + phoneNumberLabel.Text = "Phone Number:"; + // + // emailAddressLabel + // + emailAddressLabel.AutoSize = true; + emailAddressLabel.Location = new System.Drawing.Point(10, 192); + emailAddressLabel.Name = "emailAddressLabel"; + emailAddressLabel.Size = new System.Drawing.Size(115, 20); + emailAddressLabel.TabIndex = 6; + emailAddressLabel.Text = "Email Address:"; + // + // topTableLayoutPanel + // + this.topTableLayoutPanel.ColumnCount = 2; + this.topTableLayoutPanel.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F)); + this.topTableLayoutPanel.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 382F)); + this.topTableLayoutPanel.Controls.Add(this.mainMenuStrip, 0, 0); + this.topTableLayoutPanel.Controls.Add(this.studentBindingNavigator, 1, 0); + this.topTableLayoutPanel.Dock = System.Windows.Forms.DockStyle.Top; + this.topTableLayoutPanel.Location = new System.Drawing.Point(0, 0); + this.topTableLayoutPanel.Name = "topTableLayoutPanel"; + this.topTableLayoutPanel.RowCount = 1; + this.topTableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F)); + this.topTableLayoutPanel.Size = new System.Drawing.Size(992, 35); + this.topTableLayoutPanel.TabIndex = 0; + // + // mainMenuStrip + // + this.mainMenuStrip.Dock = System.Windows.Forms.DockStyle.Fill; + this.mainMenuStrip.GripMargin = new System.Windows.Forms.Padding(2, 2, 0, 2); + this.mainMenuStrip.ImageScalingSize = new System.Drawing.Size(24, 24); + this.mainMenuStrip.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.fileToolStripMenuItem}); + this.mainMenuStrip.Location = new System.Drawing.Point(0, 0); + this.mainMenuStrip.Name = "mainMenuStrip"; + this.mainMenuStrip.Size = new System.Drawing.Size(610, 35); + this.mainMenuStrip.TabIndex = 0; + this.mainMenuStrip.Text = "mainMenuStrip"; + // + // fileToolStripMenuItem + // + this.fileToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.newStudentToolStripMenuItem, + this.saveStudentToolStripMenuItem, + this.reportsToolStripMenuItem, + this.exitsavesDataToolStripMenuItem}); + this.fileToolStripMenuItem.Name = "fileToolStripMenuItem"; + this.fileToolStripMenuItem.Size = new System.Drawing.Size(54, 29); + this.fileToolStripMenuItem.Text = "&File"; + // + // newStudentToolStripMenuItem + // + this.newStudentToolStripMenuItem.Name = "newStudentToolStripMenuItem"; + this.newStudentToolStripMenuItem.Size = new System.Drawing.Size(239, 34); + this.newStudentToolStripMenuItem.Text = "&New Student"; + // + // saveStudentToolStripMenuItem + // + this.saveStudentToolStripMenuItem.Name = "saveStudentToolStripMenuItem"; + this.saveStudentToolStripMenuItem.Size = new System.Drawing.Size(239, 34); + this.saveStudentToolStripMenuItem.Text = "&Save Student"; + // + // reportsToolStripMenuItem + // + this.reportsToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.studentBySchoolToolStripMenuItem, + this.studentsByProgramToolStripMenuItem}); + this.reportsToolStripMenuItem.Name = "reportsToolStripMenuItem"; + this.reportsToolStripMenuItem.Size = new System.Drawing.Size(239, 34); + this.reportsToolStripMenuItem.Text = "Reports"; + // + // studentBySchoolToolStripMenuItem + // + this.studentBySchoolToolStripMenuItem.Name = "studentBySchoolToolStripMenuItem"; + this.studentBySchoolToolStripMenuItem.Size = new System.Drawing.Size(283, 34); + this.studentBySchoolToolStripMenuItem.Text = "Students by school"; + // + // studentsByProgramToolStripMenuItem + // + this.studentsByProgramToolStripMenuItem.Name = "studentsByProgramToolStripMenuItem"; + this.studentsByProgramToolStripMenuItem.Size = new System.Drawing.Size(283, 34); + this.studentsByProgramToolStripMenuItem.Text = "Students by program"; + // + // exitsavesDataToolStripMenuItem + // + this.exitsavesDataToolStripMenuItem.Name = "exitsavesDataToolStripMenuItem"; + this.exitsavesDataToolStripMenuItem.Size = new System.Drawing.Size(239, 34); + this.exitsavesDataToolStripMenuItem.Text = "E&xit (saves data)"; + // + // studentBindingNavigator + // + this.studentBindingNavigator.AddNewItem = this.bindingNavigatorAddNewItem; + this.studentBindingNavigator.BindingSource = this.studentBindingSource; + this.studentBindingNavigator.CountItem = this.bindingNavigatorCountItem; + this.studentBindingNavigator.DeleteItem = this.bindingNavigatorDeleteItem; + this.studentBindingNavigator.Dock = System.Windows.Forms.DockStyle.Fill; + this.studentBindingNavigator.ImageScalingSize = new System.Drawing.Size(24, 24); + this.studentBindingNavigator.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.bindingNavigatorMoveFirstItem, + this.bindingNavigatorMovePreviousItem, + this.bindingNavigatorSeparator, + this.bindingNavigatorPositionItem, + this.bindingNavigatorCountItem, + this.bindingNavigatorSeparator1, + this.bindingNavigatorMoveNextItem, + this.bindingNavigatorMoveLastItem, + this.bindingNavigatorSeparator2, + this.bindingNavigatorAddNewItem, + this.bindingNavigatorDeleteItem, + this.studentBindingNavigatorSaveItem}); + this.studentBindingNavigator.Location = new System.Drawing.Point(610, 0); + this.studentBindingNavigator.MoveFirstItem = this.bindingNavigatorMoveFirstItem; + this.studentBindingNavigator.MoveLastItem = this.bindingNavigatorMoveLastItem; + this.studentBindingNavigator.MoveNextItem = this.bindingNavigatorMoveNextItem; + this.studentBindingNavigator.MovePreviousItem = this.bindingNavigatorMovePreviousItem; + this.studentBindingNavigator.Name = "studentBindingNavigator"; + this.studentBindingNavigator.PositionItem = this.bindingNavigatorPositionItem; + this.studentBindingNavigator.Size = new System.Drawing.Size(382, 35); + this.studentBindingNavigator.TabIndex = 2; + this.studentBindingNavigator.Text = "bindingNavigator1"; + // + // bindingNavigatorAddNewItem + // + this.bindingNavigatorAddNewItem.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; + this.bindingNavigatorAddNewItem.Image = ((System.Drawing.Image)(resources.GetObject("bindingNavigatorAddNewItem.Image"))); + this.bindingNavigatorAddNewItem.Name = "bindingNavigatorAddNewItem"; + this.bindingNavigatorAddNewItem.RightToLeftAutoMirrorImage = true; + this.bindingNavigatorAddNewItem.Size = new System.Drawing.Size(34, 30); + this.bindingNavigatorAddNewItem.Text = "Add new"; + // + // bindingNavigatorCountItem + // + this.bindingNavigatorCountItem.Name = "bindingNavigatorCountItem"; + this.bindingNavigatorCountItem.Size = new System.Drawing.Size(54, 30); + this.bindingNavigatorCountItem.Text = "of {0}"; + this.bindingNavigatorCountItem.ToolTipText = "Total number of items"; + // + // bindingNavigatorDeleteItem + // + this.bindingNavigatorDeleteItem.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; + this.bindingNavigatorDeleteItem.Image = ((System.Drawing.Image)(resources.GetObject("bindingNavigatorDeleteItem.Image"))); + this.bindingNavigatorDeleteItem.Name = "bindingNavigatorDeleteItem"; + this.bindingNavigatorDeleteItem.RightToLeftAutoMirrorImage = true; + this.bindingNavigatorDeleteItem.Size = new System.Drawing.Size(34, 30); + this.bindingNavigatorDeleteItem.Text = "Delete"; + // + // bindingNavigatorMoveFirstItem + // + this.bindingNavigatorMoveFirstItem.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; + this.bindingNavigatorMoveFirstItem.Image = ((System.Drawing.Image)(resources.GetObject("bindingNavigatorMoveFirstItem.Image"))); + this.bindingNavigatorMoveFirstItem.Name = "bindingNavigatorMoveFirstItem"; + this.bindingNavigatorMoveFirstItem.RightToLeftAutoMirrorImage = true; + this.bindingNavigatorMoveFirstItem.Size = new System.Drawing.Size(34, 30); + this.bindingNavigatorMoveFirstItem.Text = "Move first"; + // + // bindingNavigatorMovePreviousItem + // + this.bindingNavigatorMovePreviousItem.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; + this.bindingNavigatorMovePreviousItem.Image = ((System.Drawing.Image)(resources.GetObject("bindingNavigatorMovePreviousItem.Image"))); + this.bindingNavigatorMovePreviousItem.Name = "bindingNavigatorMovePreviousItem"; + this.bindingNavigatorMovePreviousItem.RightToLeftAutoMirrorImage = true; + this.bindingNavigatorMovePreviousItem.Size = new System.Drawing.Size(34, 30); + this.bindingNavigatorMovePreviousItem.Text = "Move previous"; + // + // bindingNavigatorSeparator + // + this.bindingNavigatorSeparator.Name = "bindingNavigatorSeparator"; + this.bindingNavigatorSeparator.Size = new System.Drawing.Size(6, 35); + // + // bindingNavigatorPositionItem + // + this.bindingNavigatorPositionItem.AccessibleName = "Position"; + this.bindingNavigatorPositionItem.AutoSize = false; + this.bindingNavigatorPositionItem.Font = new System.Drawing.Font("Segoe UI", 9F); + this.bindingNavigatorPositionItem.Name = "bindingNavigatorPositionItem"; + this.bindingNavigatorPositionItem.Size = new System.Drawing.Size(50, 31); + this.bindingNavigatorPositionItem.Text = "0"; + this.bindingNavigatorPositionItem.ToolTipText = "Current position"; + // + // bindingNavigatorSeparator1 + // + this.bindingNavigatorSeparator1.Name = "bindingNavigatorSeparator1"; + this.bindingNavigatorSeparator1.Size = new System.Drawing.Size(6, 35); + // + // bindingNavigatorMoveNextItem + // + this.bindingNavigatorMoveNextItem.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; + this.bindingNavigatorMoveNextItem.Image = ((System.Drawing.Image)(resources.GetObject("bindingNavigatorMoveNextItem.Image"))); + this.bindingNavigatorMoveNextItem.Name = "bindingNavigatorMoveNextItem"; + this.bindingNavigatorMoveNextItem.RightToLeftAutoMirrorImage = true; + this.bindingNavigatorMoveNextItem.Size = new System.Drawing.Size(34, 30); + this.bindingNavigatorMoveNextItem.Text = "Move next"; + // + // bindingNavigatorMoveLastItem + // + this.bindingNavigatorMoveLastItem.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; + this.bindingNavigatorMoveLastItem.Image = ((System.Drawing.Image)(resources.GetObject("bindingNavigatorMoveLastItem.Image"))); + this.bindingNavigatorMoveLastItem.Name = "bindingNavigatorMoveLastItem"; + this.bindingNavigatorMoveLastItem.RightToLeftAutoMirrorImage = true; + this.bindingNavigatorMoveLastItem.Size = new System.Drawing.Size(34, 30); + this.bindingNavigatorMoveLastItem.Text = "Move last"; + // + // bindingNavigatorSeparator2 + // + this.bindingNavigatorSeparator2.Name = "bindingNavigatorSeparator2"; + this.bindingNavigatorSeparator2.Size = new System.Drawing.Size(6, 35); + // + // studentBindingNavigatorSaveItem + // + this.studentBindingNavigatorSaveItem.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; + this.studentBindingNavigatorSaveItem.Enabled = false; + this.studentBindingNavigatorSaveItem.Image = ((System.Drawing.Image)(resources.GetObject("studentBindingNavigatorSaveItem.Image"))); + this.studentBindingNavigatorSaveItem.Name = "studentBindingNavigatorSaveItem"; + this.studentBindingNavigatorSaveItem.Size = new System.Drawing.Size(34, 30); + this.studentBindingNavigatorSaveItem.Text = "Save Data"; + // + // student_pictureBox + // + this.student_pictureBox.BackColor = System.Drawing.SystemColors.Window; + this.student_pictureBox.Image = ((System.Drawing.Image)(resources.GetObject("student_pictureBox.Image"))); + this.student_pictureBox.Location = new System.Drawing.Point(12, 38); + this.student_pictureBox.Name = "student_pictureBox"; + this.student_pictureBox.Size = new System.Drawing.Size(156, 156); + this.student_pictureBox.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom; + this.student_pictureBox.TabIndex = 1; + this.student_pictureBox.TabStop = false; + this.student_pictureBox.Tag = "DefaultImage"; + this.student_pictureBox.Click += new System.EventHandler(this.pictureBox1_Click); + // + // lastNameTextBox + // + this.lastNameTextBox.DataBindings.Add(new System.Windows.Forms.Binding("Text", this.studentBindingSource, "LastName", true)); + this.lastNameTextBox.Location = new System.Drawing.Point(187, 61); + this.lastNameTextBox.Name = "lastNameTextBox"; + this.lastNameTextBox.Size = new System.Drawing.Size(167, 26); + this.lastNameTextBox.TabIndex = 4; + this.lastNameTextBox.Validating += new System.ComponentModel.CancelEventHandler(this.String_TextBox_Validating); + // + // firstNameTextBox + // + this.firstNameTextBox.DataBindings.Add(new System.Windows.Forms.Binding("Text", this.studentBindingSource, "FirstName", true)); + this.firstNameTextBox.Location = new System.Drawing.Point(384, 61); + this.firstNameTextBox.Name = "firstNameTextBox"; + this.firstNameTextBox.Size = new System.Drawing.Size(177, 26); + this.firstNameTextBox.TabIndex = 5; + this.firstNameTextBox.Validating += new System.ComponentModel.CancelEventHandler(this.String_TextBox_Validating); + // + // student_idTextBox + // + this.student_idTextBox.DataBindings.Add(new System.Windows.Forms.Binding("Text", this.studentBindingSource, "student_id", true)); + this.student_idTextBox.Location = new System.Drawing.Point(12, 223); + this.student_idTextBox.Name = "student_idTextBox"; + this.student_idTextBox.Size = new System.Drawing.Size(135, 26); + this.student_idTextBox.TabIndex = 7; + this.student_idTextBox.Validating += new System.ComponentModel.CancelEventHandler(this.student_idTextBox_Validating); + // + // dob_dateTimePicker + // + this.dob_dateTimePicker.Format = System.Windows.Forms.DateTimePickerFormat.Short; + this.dob_dateTimePicker.Location = new System.Drawing.Point(12, 289); + this.dob_dateTimePicker.MinDate = new System.DateTime(1900, 1, 1, 0, 0, 0, 0); + this.dob_dateTimePicker.Name = "dob_dateTimePicker"; + this.dob_dateTimePicker.Size = new System.Drawing.Size(135, 26); + this.dob_dateTimePicker.TabIndex = 9; + this.dob_dateTimePicker.Validating += new System.ComponentModel.CancelEventHandler(this.dob_dateTimePicker_Validating); + // + // programComboBox + // + this.programComboBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.programComboBox.FormattingEnabled = true; + this.programComboBox.Location = new System.Drawing.Point(384, 131); + this.programComboBox.Name = "programComboBox"; + this.programComboBox.Size = new System.Drawing.Size(177, 28); + this.programComboBox.TabIndex = 11; + this.programComboBox.Validating += new System.ComponentModel.CancelEventHandler(this.ComboBox_Validating); + // + // addressTextBox + // + this.addressTextBox.DataBindings.Add(new System.Windows.Forms.Binding("Text", this.studentBindingSource, "address", true)); + this.addressTextBox.Location = new System.Drawing.Point(187, 200); + this.addressTextBox.Multiline = true; + this.addressTextBox.Name = "addressTextBox"; + this.addressTextBox.Size = new System.Drawing.Size(167, 115); + this.addressTextBox.TabIndex = 13; + this.addressTextBox.Validating += new System.ComponentModel.CancelEventHandler(this.String_TextBox_Validating); + // + // schoolComboBox + // + this.schoolComboBox.DataBindings.Add(new System.Windows.Forms.Binding("Text", this.studentBindingSource, "School.name", true)); + this.schoolComboBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.schoolComboBox.FormattingEnabled = true; + this.schoolComboBox.Location = new System.Drawing.Point(384, 200); + this.schoolComboBox.Name = "schoolComboBox"; + this.schoolComboBox.Size = new System.Drawing.Size(177, 28); + this.schoolComboBox.TabIndex = 15; + this.schoolComboBox.Validating += new System.ComponentModel.CancelEventHandler(this.ComboBox_Validating); + // + // genderComboBox + // + this.genderComboBox.DataBindings.Add(new System.Windows.Forms.Binding("Text", this.studentBindingSource, "gender", true)); + this.genderComboBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.genderComboBox.FormattingEnabled = true; + this.genderComboBox.Items.AddRange(new object[] { + "Male", + "Female"}); + this.genderComboBox.Location = new System.Drawing.Point(189, 131); + this.genderComboBox.Name = "genderComboBox"; + this.genderComboBox.Size = new System.Drawing.Size(121, 28); + this.genderComboBox.TabIndex = 17; + this.genderComboBox.Validating += new System.ComponentModel.CancelEventHandler(this.ComboBox_Validating); + // + // gradeLevelComboBox + // + this.gradeLevelComboBox.DataBindings.Add(new System.Windows.Forms.Binding("Text", this.studentBindingSource, "GradeLevel", true)); + this.gradeLevelComboBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.gradeLevelComboBox.FormattingEnabled = true; + this.gradeLevelComboBox.Items.AddRange(new object[] { + "K", + "1", + "2", + "3", + "4", + "5", + "6", + "7", + "8", + "9", + "10", + "11", + "12"}); + this.gradeLevelComboBox.Location = new System.Drawing.Point(384, 287); + this.gradeLevelComboBox.Name = "gradeLevelComboBox"; + this.gradeLevelComboBox.Size = new System.Drawing.Size(121, 28); + this.gradeLevelComboBox.TabIndex = 19; + this.gradeLevelComboBox.Validating += new System.ComponentModel.CancelEventHandler(this.ComboBox_Validating); + // + // save_button + // + this.save_button.Location = new System.Drawing.Point(14, 350); + this.save_button.Name = "save_button"; + this.save_button.Size = new System.Drawing.Size(104, 54); + this.save_button.TabIndex = 20; + this.save_button.Text = "Save"; + this.save_button.UseVisualStyleBackColor = true; + this.save_button.Click += new System.EventHandler(this.save_button_Click); + // + // parent_groupBox + // + this.parent_groupBox.Controls.Add(emailAddressLabel); + this.parent_groupBox.Controls.Add(this.emailAddressTextBox); + this.parent_groupBox.Controls.Add(phoneNumberLabel); + this.parent_groupBox.Controls.Add(this.phoneNumberNumericUpDown); + this.parent_groupBox.Controls.Add(firstNameLabel1); + this.parent_groupBox.Controls.Add(this.parent_firstNameTextBox); + this.parent_groupBox.Controls.Add(lastNameLabel1); + this.parent_groupBox.Controls.Add(this.parent_lastNameTextBox); + this.parent_groupBox.Location = new System.Drawing.Point(606, 51); + this.parent_groupBox.Name = "parent_groupBox"; + this.parent_groupBox.Size = new System.Drawing.Size(344, 235); + this.parent_groupBox.TabIndex = 21; + this.parent_groupBox.TabStop = false; + this.parent_groupBox.Text = "Parent Information"; + // + // emailAddressTextBox + // + this.emailAddressTextBox.DataBindings.Add(new System.Windows.Forms.Binding("Text", this.studentBindingSource, "Parent.EmailAddress", true)); + this.emailAddressTextBox.Location = new System.Drawing.Point(131, 189); + this.emailAddressTextBox.Name = "emailAddressTextBox"; + this.emailAddressTextBox.Size = new System.Drawing.Size(172, 26); + this.emailAddressTextBox.TabIndex = 7; + this.toolTips.SetToolTip(this.emailAddressTextBox, "Enter a valid email address with @"); + this.emailAddressTextBox.Validating += new System.ComponentModel.CancelEventHandler(this.emailAddressTextBox_Validating); + // + // phoneNumberNumericUpDown + // + this.phoneNumberNumericUpDown.DataBindings.Add(new System.Windows.Forms.Binding("Value", this.studentBindingSource, "Parent.PhoneNumber", true)); + this.phoneNumberNumericUpDown.Location = new System.Drawing.Point(131, 139); + this.phoneNumberNumericUpDown.Maximum = new decimal(new int[] { + 1410065407, + 2, + 0, + 0}); + this.phoneNumberNumericUpDown.Minimum = new decimal(new int[] { + 1000000000, + 0, + 0, + 0}); + this.phoneNumberNumericUpDown.Name = "phoneNumberNumericUpDown"; + this.phoneNumberNumericUpDown.Size = new System.Drawing.Size(172, 26); + this.phoneNumberNumericUpDown.TabIndex = 5; + this.toolTips.SetToolTip(this.phoneNumberNumericUpDown, "Enter 9 digit phone number with no symbols."); + this.phoneNumberNumericUpDown.Value = new decimal(new int[] { + 1000000000, + 0, + 0, + 0}); + this.phoneNumberNumericUpDown.Validating += new System.ComponentModel.CancelEventHandler(this.phoneNumberNumericUpDown_Validating); + // + // parent_firstNameTextBox + // + this.parent_firstNameTextBox.DataBindings.Add(new System.Windows.Forms.Binding("Text", this.studentBindingSource, "Parent.FirstName", true)); + this.parent_firstNameTextBox.Location = new System.Drawing.Point(130, 87); + this.parent_firstNameTextBox.Name = "parent_firstNameTextBox"; + this.parent_firstNameTextBox.Size = new System.Drawing.Size(173, 26); + this.parent_firstNameTextBox.TabIndex = 3; + this.parent_firstNameTextBox.Validating += new System.ComponentModel.CancelEventHandler(this.String_TextBox_Validating); + // + // parent_lastNameTextBox + // + this.parent_lastNameTextBox.DataBindings.Add(new System.Windows.Forms.Binding("Text", this.studentBindingSource, "Parent.LastName", true)); + this.parent_lastNameTextBox.Location = new System.Drawing.Point(130, 39); + this.parent_lastNameTextBox.Name = "parent_lastNameTextBox"; + this.parent_lastNameTextBox.Size = new System.Drawing.Size(173, 26); + this.parent_lastNameTextBox.TabIndex = 1; + this.parent_lastNameTextBox.Validating += new System.ComponentModel.CancelEventHandler(this.String_TextBox_Validating); + // + // clear_button + // + this.clear_button.Location = new System.Drawing.Point(169, 350); + this.clear_button.Name = "clear_button"; + this.clear_button.Size = new System.Drawing.Size(116, 54); + this.clear_button.TabIndex = 22; + this.clear_button.Text = "Clear form for new student"; + this.clear_button.UseVisualStyleBackColor = true; + this.clear_button.Click += new System.EventHandler(this.clear_button_Click); + // + // delete_button + // + this.delete_button.Location = new System.Drawing.Point(320, 350); + this.delete_button.Name = "delete_button"; + this.delete_button.Size = new System.Drawing.Size(104, 54); + this.delete_button.TabIndex = 23; + this.delete_button.Text = "Delete"; + this.delete_button.UseVisualStyleBackColor = true; + // + // pic_openFileDialog + // + this.pic_openFileDialog.DefaultExt = "*.png"; + this.pic_openFileDialog.FileName = "pic_openFileDialog"; + this.pic_openFileDialog.Filter = "Photos|*.png"; + this.pic_openFileDialog.Title = "Upload student photo"; + this.pic_openFileDialog.FileOk += new System.ComponentModel.CancelEventHandler(this.pic_openFileDialog_FileOk); + // + // lblSearch + // + this.lblSearch.AutoSize = true; + this.lblSearch.Location = new System.Drawing.Point(612, 295); + this.lblSearch.Name = "lblSearch"; + this.lblSearch.Size = new System.Drawing.Size(226, 20); + this.lblSearch.TabIndex = 24; + this.lblSearch.Text = "Search Student by Last Name:"; + // + // search_textBox + // + this.search_textBox.Location = new System.Drawing.Point(616, 318); + this.search_textBox.Name = "search_textBox"; + this.search_textBox.Size = new System.Drawing.Size(284, 26); + this.search_textBox.TabIndex = 25; + this.toolTips.SetToolTip(this.search_textBox, "Type last name of student and hit enter"); + this.search_textBox.KeyDown += new System.Windows.Forms.KeyEventHandler(this.search_textBox_KeyDown); + // + // errorProvider1 + // + this.errorProvider1.ContainerControl = this; + // + // btnChaosMonkey + // + this.btnChaosMonkey.Location = new System.Drawing.Point(475, 350); + this.btnChaosMonkey.Name = "btnChaosMonkey"; + this.btnChaosMonkey.Size = new System.Drawing.Size(96, 66); + this.btnChaosMonkey.TabIndex = 26; + this.btnChaosMonkey.Text = "CHAOS MONKEY"; + this.btnChaosMonkey.UseVisualStyleBackColor = true; + this.btnChaosMonkey.Click += new System.EventHandler(this.btnChaosMonkey_Click); + // + // foundStudents_comboBox + // + this.foundStudents_comboBox.FormattingEnabled = true; + this.foundStudents_comboBox.Location = new System.Drawing.Point(620, 376); + this.foundStudents_comboBox.Name = "foundStudents_comboBox"; + this.foundStudents_comboBox.Size = new System.Drawing.Size(284, 28); + this.foundStudents_comboBox.TabIndex = 27; + this.foundStudents_comboBox.SelectionChangeCommitted += new System.EventHandler(this.foundStudents_comboBox_SelectionChangeCommitted); + this.foundStudents_comboBox.KeyDown += new System.Windows.Forms.KeyEventHandler(this.foundStudents_comboBox_KeyDown); + // + // lblFoundStudents + // + this.lblFoundStudents.AutoSize = true; + this.lblFoundStudents.Location = new System.Drawing.Point(612, 350); + this.lblFoundStudents.Name = "lblFoundStudents"; + this.lblFoundStudents.Size = new System.Drawing.Size(128, 20); + this.lblFoundStudents.TabIndex = 28; + this.lblFoundStudents.Text = "Found Students:"; + // + // studentBindingSource + // + this.studentBindingSource.DataSource = typeof(DBWizard.Models.Student); + // + // Form1 + // + this.AutoScaleDimensions = new System.Drawing.SizeF(9F, 20F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(992, 450); + this.Controls.Add(this.lblFoundStudents); + this.Controls.Add(this.foundStudents_comboBox); + this.Controls.Add(this.btnChaosMonkey); + this.Controls.Add(this.search_textBox); + this.Controls.Add(this.lblSearch); + this.Controls.Add(this.delete_button); + this.Controls.Add(this.clear_button); + this.Controls.Add(this.parent_groupBox); + this.Controls.Add(this.save_button); + this.Controls.Add(gradeLevelLabel); + this.Controls.Add(this.gradeLevelComboBox); + this.Controls.Add(genderLabel); + this.Controls.Add(this.genderComboBox); + this.Controls.Add(schoolLabel); + this.Controls.Add(this.schoolComboBox); + this.Controls.Add(addressLabel); + this.Controls.Add(this.addressTextBox); + this.Controls.Add(this.programComboBox); + this.Controls.Add(programNameLabel); + this.Controls.Add(this.dob_dateTimePicker); + this.Controls.Add(dOBLabel); + this.Controls.Add(student_idLabel); + this.Controls.Add(this.student_idTextBox); + this.Controls.Add(firstNameLabel); + this.Controls.Add(this.firstNameTextBox); + this.Controls.Add(lastNameLabel); + this.Controls.Add(this.lastNameTextBox); + this.Controls.Add(this.student_pictureBox); + this.Controls.Add(this.topTableLayoutPanel); + this.MainMenuStrip = this.mainMenuStrip; + this.Name = "Form1"; + this.Text = "KentYouthDB"; + this.Load += new System.EventHandler(this.Form1_Load); + this.topTableLayoutPanel.ResumeLayout(false); + this.topTableLayoutPanel.PerformLayout(); + this.mainMenuStrip.ResumeLayout(false); + this.mainMenuStrip.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.studentBindingNavigator)).EndInit(); + this.studentBindingNavigator.ResumeLayout(false); + this.studentBindingNavigator.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.student_pictureBox)).EndInit(); + this.parent_groupBox.ResumeLayout(false); + this.parent_groupBox.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.phoneNumberNumericUpDown)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.errorProvider1)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.studentBindingSource)).EndInit(); + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private System.Windows.Forms.TableLayoutPanel topTableLayoutPanel; + private System.Windows.Forms.MenuStrip mainMenuStrip; + private System.Windows.Forms.ToolStripMenuItem fileToolStripMenuItem; + private System.Windows.Forms.BindingNavigator studentBindingNavigator; + private System.Windows.Forms.ToolStripButton bindingNavigatorAddNewItem; + private System.Windows.Forms.BindingSource studentBindingSource; + private System.Windows.Forms.ToolStripLabel bindingNavigatorCountItem; + private System.Windows.Forms.ToolStripButton bindingNavigatorDeleteItem; + private System.Windows.Forms.ToolStripButton bindingNavigatorMoveFirstItem; + private System.Windows.Forms.ToolStripButton bindingNavigatorMovePreviousItem; + private System.Windows.Forms.ToolStripSeparator bindingNavigatorSeparator; + private System.Windows.Forms.ToolStripTextBox bindingNavigatorPositionItem; + private System.Windows.Forms.ToolStripSeparator bindingNavigatorSeparator1; + private System.Windows.Forms.ToolStripButton bindingNavigatorMoveNextItem; + private System.Windows.Forms.ToolStripButton bindingNavigatorMoveLastItem; + private System.Windows.Forms.ToolStripSeparator bindingNavigatorSeparator2; + private System.Windows.Forms.ToolStripButton studentBindingNavigatorSaveItem; + private System.Windows.Forms.PictureBox student_pictureBox; + private System.Windows.Forms.TextBox lastNameTextBox; + private System.Windows.Forms.TextBox firstNameTextBox; + private System.Windows.Forms.TextBox student_idTextBox; + private System.Windows.Forms.DateTimePicker dob_dateTimePicker; + private System.Windows.Forms.ComboBox programComboBox; + private System.Windows.Forms.TextBox addressTextBox; + private System.Windows.Forms.ComboBox schoolComboBox; + private System.Windows.Forms.ComboBox genderComboBox; + private System.Windows.Forms.ComboBox gradeLevelComboBox; + private System.Windows.Forms.ToolStripMenuItem newStudentToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem saveStudentToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem reportsToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem studentBySchoolToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem studentsByProgramToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem exitsavesDataToolStripMenuItem; + private System.Windows.Forms.Button save_button; + private System.Windows.Forms.GroupBox parent_groupBox; + private System.Windows.Forms.TextBox emailAddressTextBox; + private System.Windows.Forms.NumericUpDown phoneNumberNumericUpDown; + private System.Windows.Forms.TextBox parent_firstNameTextBox; + private System.Windows.Forms.TextBox parent_lastNameTextBox; + private System.Windows.Forms.Button clear_button; + private System.Windows.Forms.Button delete_button; + private System.Windows.Forms.OpenFileDialog pic_openFileDialog; + private System.Windows.Forms.Label lblSearch; + private System.Windows.Forms.TextBox search_textBox; + private System.Windows.Forms.ErrorProvider errorProvider1; + private System.Windows.Forms.ToolTip toolTips; + private System.Windows.Forms.Button btnChaosMonkey; + private System.Windows.Forms.Label lblFoundStudents; + private System.Windows.Forms.ComboBox foundStudents_comboBox; + } +} + diff --git a/Form1.cs b/Form1.cs new file mode 100644 index 0000000..b42be68 --- /dev/null +++ b/Form1.cs @@ -0,0 +1,335 @@ +using DBWizard.Models; +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.IO; +using System.Linq; +using System.Runtime.Serialization.Formatters.Binary; +using System.Text; +using System.Text.RegularExpressions; +using System.Threading.Tasks; +using System.Windows.Forms; + +/* References + * https://www.youtube.com/watch?v=ayp3tHEkRc0 + * https://www.coderslexicon.com/passing-data-between-forms-using-delegates-and-events/ + * https://dapper-tutorial.net/parameter-anonymous + * https://www.sqlitetutorial.net/sqlite-foreign-key/ + * https://stackoverflow.com/questions/289680/difference-between-2-dates-in-sqlite + * https://dzone.com/articles/convert-object-byte-array-and + */ +// Using a delegate to trigger method on the customer view form +// https://www.coderslexicon.com/passing-data-between-forms-using-delegates-and-events/ + + + +namespace DBWizard +{ + public partial class Form1 : Form + { + SqliteDataAccess SqliteDataAccess = new SqliteDataAccess(); + bool bStudentRecordExists = false; + + public Form1() + { + InitializeComponent(); + } + + private void Form1_Load(object sender, EventArgs e) + { + FillComboBoxes(); + } + + /* Fills program and school combo boxes on the form + * with the static data from the sqlite db. + * input: no input + * output: void + */ + private void FillComboBoxes() + { + List programs = new List(); + programs = SqliteDataAccess.GetPrograms(); + + foreach (Program p in programs) + { + programComboBox.Items.Add(p.name); + } + + List schools = new List(); + schools = SqliteDataAccess.GetSchools(); + foreach (School s in schools) + { + schoolComboBox.Items.Add(s.name); + } + } + + //TODO: implement + private void student_pictureBox_DoubleClick(object sender, EventArgs e) + { + DialogResult dr = pic_openFileDialog.ShowDialog(); + if(dr == DialogResult.OK) + { + } + } + + private void pic_openFileDialog_FileOk(object sender, CancelEventArgs e) + { + byte[] dickpic; + + //Chunk file into bytes. + //If file > 2147483647 bytes long, reject file. + dickpic = ObjectToByteArray(student_pictureBox.Image); + if (dickpic.Length >= 2147483647) //THAT'S WHAT SHE SAID + { + MessageBox.Show("The selected student photo size is too large. Choose a smaller photo size or shrink the photo."); + return; + } + } + + //TODO: implement + private void pictureBox1_Click(object sender, EventArgs e) + { + DialogResult dr = pic_openFileDialog.ShowDialog(); + if(dr == DialogResult.OK) + { + //Place in dicpic box + + //change tag of pic box to something else + student_pictureBox.Tag = "dickpic"; + } + } + + private void save_button_Click(object sender, EventArgs e) + { + byte[] dickpic; + + //Perform sanity check, ensure all data is filled except picture + + // Check to see if any control is in error. + foreach (Control c in errorProvider1.ContainerControl.Controls) + { + if (errorProvider1.GetError(c) != "") + { + MessageBox.Show("Please fix the errors on the form!"); + return; + } + } + + //Validate the picture is under 2147483647 characters in length. + dickpic = ObjectToByteArray(student_pictureBox.Image); + if(dickpic.Length >= 2147483647) //THAT'S WHAT SHE SAID + { + MessageBox.Show("The selected student photo size is too large. Choose a smaller photo size or shrink the photo."); + return; + } + + //Collect form data in student object + Student student = new Student(); + student.student_id = student_idTextBox.Text; + student.FirstName = firstNameTextBox.Text; + student.LastName = lastNameTextBox.Text; + student.DOB = dob_dateTimePicker.Value.ToString(); + student.gender = genderComboBox.Text; + student.address = addressTextBox.Text; + student.program_id = programComboBox.SelectedIndex + 1; + student.school_id = schoolComboBox.SelectedIndex + 1; + student.GradeLevel = gradeLevelComboBox.Text; + + if (student_pictureBox.Tag.ToString() == "DefaultImage") + student.photo = null; + else + student.photo = ObjectToByteArray(student_pictureBox.Image); + + //collect parent + Parent parent = new Parent(); + parent.LastName = parent_lastNameTextBox.Text; + parent.FirstName = parent_firstNameTextBox.Text; + parent.PhoneNumber = long.Parse(phoneNumberNumericUpDown.Value.ToString()); + parent.EmailAddress = emailAddressTextBox.Text; + + //save data to sqldb. + //update existing student. + if(SqliteDataAccess.FindStudentByStudentId(student.student_id).Count > 0) + { + SqliteDataAccess.UpdateStudent(student); + SqliteDataAccess.UpdateParent(parent,student.parent_id); + } + else //new student + { + student.parent_id = SqliteDataAccess.InsertNewParent(parent); + SqliteDataAccess.InsertNewStudent(student); + MessageBox.Show("Student successfully added"); + } + } + + //Convert student photo to byte array for saving to db. + //Also used to see if the photo is too large for the db blob type. + private byte[] ObjectToByteArray(Object obj) + { + if (obj == null) + return null; + + BinaryFormatter bf = new BinaryFormatter(); + MemoryStream ms = new MemoryStream(); + bf.Serialize(ms, obj); + + return ms.ToArray(); + } + + //Convert student photo from byte array to object. + // Convert a byte array to an Object + private Object ByteArrayToObject(byte[] arrBytes) + + { + MemoryStream memStream = new MemoryStream(); + BinaryFormatter binForm = new BinaryFormatter(); + + memStream.Write(arrBytes, 0, arrBytes.Length); + memStream.Seek(0, SeekOrigin.Begin); + Object obj = (Object)binForm.Deserialize(memStream); + + return obj; + } + + // Basic input validation on a string given a textbox control + // ensures only values a-z, with length two or greater. + private void String_TextBox_Validating(object sender, CancelEventArgs e) + { + TextBox tb = (TextBox)sender; + if (!Regex.IsMatch(tb.Text, "[A-Za-z]{2,}")) + errorProvider1.SetError(tb, "Enter a value a-z only of length two or longer."); + else + errorProvider1.SetError(tb, ""); + } + + private void ComboBox_Validating(object sender, CancelEventArgs e) + { + ComboBox cb = (ComboBox)sender; + + if (cb.SelectedIndex < 0) + { errorProvider1.SetError(cb, "Select an item."); } + else + { errorProvider1.SetError(cb, ""); } + } + + /* Does not really check to see if it is a valid phone number + * since the phone companies introduce new area codes all the damn time. + * Only checks to see the most likely case that the user of the program + * has left the phone number value as the default minimum value. + */ + private void phoneNumberNumericUpDown_Validating(object sender, CancelEventArgs e) + { + if(phoneNumberNumericUpDown.Value == phoneNumberNumericUpDown.Minimum + || phoneNumberNumericUpDown.Value == phoneNumberNumericUpDown.Maximum) + { errorProvider1.SetError(phoneNumberNumericUpDown, "Type in a valid phone number"); } + else + { errorProvider1.SetError(phoneNumberNumericUpDown, ""); } + } + + private void emailAddressTextBox_Validating(object sender, CancelEventArgs e) + { + //email address regex + //^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,5}$ + if (!Regex.IsMatch(emailAddressTextBox.Text, @"^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,5}$")) + errorProvider1.SetError(emailAddressTextBox, "Enter a valid email address: user@domain.com"); + else + errorProvider1.SetError(emailAddressTextBox, ""); + } + + private void dob_dateTimePicker_Validating(object sender, CancelEventArgs e) + { + if(dob_dateTimePicker.Value == DateTime.Now) + { errorProvider1.SetError(dob_dateTimePicker, "Please choose DOB."); } + else + { errorProvider1.SetError(dob_dateTimePicker, ""); } + } + + private void student_idTextBox_Validating(object sender, CancelEventArgs e) + { + TextBox tb = (TextBox)sender; + if (!Regex.IsMatch(tb.Text, "[A-Za-z0-9]{2,}")) + errorProvider1.SetError(tb, "Enter a value a-z0-9 only of length two or longer."); + else + errorProvider1.SetError(tb, ""); + + } + + //TODO: Remove Chaos Monkey button + private void btnChaosMonkey_Click(object sender, EventArgs e) + { + MessageBox.Show("CHAOS MONKEY"); + return; + + } + + private void clear_button_Click(object sender, EventArgs e) + { + ClearForm(); + } + + // clears the form + private void ClearForm() + { + foreach(Control c in this.Controls) + { + if (c is TextBox) + { + TextBox tb = (TextBox)c; + tb.Text = null; + } + + if(c is ComboBox) + { + ComboBox cb = (ComboBox)c; + cb.SelectedIndex = -1; + } + + if(c is DateTimePicker) + { + DateTimePicker dtp = (DateTimePicker)c; + dtp.Value = DateTime.Today; + } + + if(c is NumericUpDown) + { + NumericUpDown nud = (NumericUpDown)c; + nud.Value = nud.Minimum; + } + } + } + + private void search_textBox_KeyDown(object sender, KeyEventArgs e) + { + List foundStudents = new List(); + + if (e.KeyCode == Keys.Enter) + { + foundStudents_comboBox.Items.Clear(); + foundStudents_comboBox.Text = String.Empty; + + foundStudents = SqliteDataAccess.FindStudentByLastname(search_textBox.Text); + + foreach (Student s in foundStudents) + { + foundStudents_comboBox.Items.Add(s); + } + + foundStudents_comboBox.Text = (foundStudents.Count > 0) ? "Students found, click here" : "No students found"; + } + } + + //Do nothing if the user tries to type in the found student combobox. + private void foundStudents_comboBox_KeyDown(object sender, KeyEventArgs e) + { + e.SuppressKeyPress = true; + } + + //TODO:Populate the form based on the found student. + private void foundStudents_comboBox_SelectionChangeCommitted(object sender, EventArgs e) + { + ClearForm(); + } + } +} diff --git a/Form1.resx b/Form1.resx new file mode 100644 index 0000000..a3ac36e --- /dev/null +++ b/Form1.resx @@ -0,0 +1,305 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + False + + + False + + + False + + + False + + + False + + + False + + + False + + + False + + + False + + + False + + + False + + + False + + + False + + + 17, 17 + + + 446, 17 + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAW + JQAAFiUBSVIk8AAAAUpJREFUOE9jGLzg7gL2/7fmcf6/Oofr/8UZvP+hwsSD60CNfx41/v/zsOH/yckC + pBtwfjov3ICDPSKkG3B8kiBQc93/Pw+q/u9oFydswKWZPP/PTuX7fxKo8Ui/0P993SJAzeX//94r+r++ + Qeb/qhq5/0srFf/PL1X+P6tIFdPAU0B//nlYD9RUC8SV///cKwHivP9/72b+/3sn+f/f23H//92MAOKQ + /5NyNDENONQrDHbu3/ulQI0FQI3ZQI2pQI0J///digZqDPv/70bQ/3/X/f53peliGrCzXeL/lmap/+vA + zpX/v6RC8f/fWzFAjeH/p+Zp/J+QpfW/O0P3f3uq/v/mREPCYTIb6E+Qc//dCPjfk6FDWAM6APnz3w1/ + IPb735qsT7oB3em6YP+CcH2cEekGtCQZ/G+IN/xfE2v8vzLahHQD6AQYGAAkI9iedfyIaQAAAABJRU5E + rkJggg== + + + + 204, 17 + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAW + JQAAFiUBSVIk8AAAAW9JREFUOE+1kE0ow2Ecx3dV3krt4oJaOSCTvIRkMqSxyITIzCQHDouEdnFwIOVC + DrhIDiQl5UTiNG/z2ppafy1S2gX/uDwfY6i1v7Hie3nqeb7fz+/7/FR/Ilwn0G0Exw4fV5GJlXlEZxXC + rIet9bAQvB5Ymgn2sLYAvSZEux7RUQFzE4qQt4bCXAYjPaHvnDoCkLpsRGMB2JqCTGLIijDlwqQ9bEMV + i9OIytR3EMNWcJ/BWH8A6j8/bOGFxwXNxYEvGbMQ9XnQ1/K78KfY3/VXzkMY0qFGG2H4RoLGQshJQNbG + 86CNhdrsX9a/uQZTPhQl4rMY4OLofbl3aX7I8uwPC7y/g1YdjyVJuEvT8e1tfwUYteHUxCCfHChDeHmG + QQvokjlOU+PbWA0x3pZnILVVI3uvQyHsbiLnqnGmRCF1NYD8pDhpRxOH7HQoAKZGkFKjceszQbpSrumX + bO+G80MFwKUTxgfgcO/b8D9IpXoFiiMDHIQm0skAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAW + JQAAFiUBSVIk8AAAASpJREFUOE9jGDygcNbz/00Lnv/PnPj4P1QIA4S3P8Apx5A789n/VUfe/8elKL77 + wf/ghmu4DciY8vT/wn0fsCqK73n4f+n+///9qy/gNiCh58n/aVveYyiKaL8P1pw56/9/r9ITuA2I7Hr0 + v3f1BxRFoa33wJpb1wFt7/z73yX/AG4DApsf/q+b/w6uKLjl7v9Fe///7wBqzpjz879d3c//9hnbcRvg + UXX/f/60NyiK7Ipv/0+f8/u/f9e3/zqF7/5bJKzHbYB96d3/2ZNfYyjSTzn/36ToxX+VrE//jSOX4TbA + Iu/O/9T+11gVGSSd+C+b9vW/bvA83AYYZt3+H9byEqci/dTL/zV8p+E2QCftxn+/6od4Fal4TMBtgFPu + lf8gBXgVDULAwAAA8HbAq6XlmnAAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAW + JQAAFiUBSVIk8AAAALZJREFUOE9jGDogvP3BfyiTdBDf/eB/cMM18gyI73n4f+n+///9qy+QbkBE+32w + 5sxZ//97lZ4gzYDQ1ntgza3rgLZ3/v3vkn+AeAOCW+7+X7T3//8OoOaMOT//29X9/G+fsZ00F9gV3/6f + Puf3f/+ub/91Ct/9t0hYT3oY6Kec/29S9OK/Stan/8aRy0g3AAQMkk78l037+l83eB55BoCAfurl/xq+ + 08g3AARUPCZQZsBgBQwMANAUYJgEulBVAAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAW + JQAAFiUBSVIk8AAAAKNJREFUOE9jGHygcNbz/1AmeSB35rP/Cd33yDckY8rT//P2//6f0HWHPEMSep78 + n73v1//OrX//u5VeJt2QyK5H/6ds+/W/ZOnf/wnT//63yT1LmiGBzQ//t659D9ZsXPLlv3T0tf/GkcuI + N8Sj6v7/krnv4JoVXXpIc4F96d3/gS3PyNMMAhZ5d/7bFFwhTzMIGGbdJl8zCOik3SBf81AEDAwAoH5f + oAc0QjgAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAW + JQAAFiUBSVIk8AAAASxJREFUOE9jGFygcNbz/1AmBgDJNS14/j9z4mOcahhyZz77n9B9D6sCkNyqI+// + h7c/wG1AxpSn/+ft//0/oesOhiKQ3MJ9H/4HN1zDbUBCz5P/s/f9+t+59e9/t9LLKApBctO2vP/vX30B + twGRXY/+T9n263/J0r//E6b//W+TexauGCTXu/rDf6/SE7gNCGx++L917XuwZuOSL/+lo6/9N45cBtYA + kqub/+6/S/4B3AZ4VN3/XzL3HVyzoksPXDFILn/am//2GdtxG2Bfevd/YMszDM0gAJLLnvz6v0XCetwG + WOTd+W9TcAVDMwiA5FL7X8O9hBUYZt3GqhkEQHJhLS//6wbPw22ATtoNnJIgOb/qh/81fKfhNgAfcMq9 + 8l/FYwIYQ4UGBWBgAAC+0b+zuQxOnAAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAW + JQAAFiUBSVIk8AAAAExJREFUOE9joAr49u3bf1IxVCsEgAWC58Dxh/cf4RhZDETHTNiHaQgpBoAwzBCo + dtINAGGiDUDGyGpoawAxeNSAQWkAORiqnRLAwAAA9EMMU8Daa3MAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAAJwAAACcCAYAAACKuMJNAAABg2lDQ1BJQ0MgcHJvZmlsZQAAKM+VkUso + RFEcxn8zRiSyMCFZ3AWyQEKy1BApSjOjxmPh3jtmqLnXdO/IxlLZKguPjdfCxpqtha1SyqNkZWlFbKTr + f+6omdQop07n13fO93XOdyB4kDEtN9QNlp1zoqMRLTE9o1U8E6KBerpo1003OxEbiVNyfNwSUOtNp8ri + f6MmueCaENCEB82skxOeF+5fzWUV7wiHzUU9KXwq3OHIBYXvlW7k+UVx2uegygw78eiQcFhYSxexUcTm + omMJ9wm3JC1b8oOJPCcVrym2Mivmzz3VC6sX7KmY0mU2M8oYE0yiYbDCEhlydMpqi+ISlf1ICX+T758U + lyGuJUxxDLOMhe77UX/wu1s31duTT6qOQPmT5721QsUWfG163ueh530dQdkjXNgF//IBDLyLvlnQWvah + dh3OLguasQ3nG9D4kNUd3ZfKZAZTKXg9kW+ahrprqJrN9/azz/EdxKWr8SvY3YO2tGTPlXh3ZXFvf57x + +yPyDdt5ctEMnipuAAAACXBIWXMAAA3XAAAN1wFCKJt4AAAAB3RJTUUH5AQXFi84W/pl4wAACVJJREFU + eF7tnXusHFUdx8tDFHygyEOxagiagmL8g2gCAWMKhGgwCiESW9GYSINpUAsJxCBQAhoQAQk+qxBEU8OK + Vh7qH5Rsi3ElMN27s3Pn3sKNNPWClVDAa4HYhy3fX/zmspyeLWR2dvecme8n+WRv+rh7zvd35j1zZoEQ + QgghhBBCCCGEEA7tdvuINE1PhV/tdrvXwJvgKtig9vPNWZZdi88L4Cfwb4/kfxdi32DAHAeXY9D8DoPo + Gfy8p6Bb4Rr8jq/j8yN79uzZj18h6g4G10IMisswOB7nYBmGs/ieWyYnJz/KrxV1A4Pg07AJd3NQjMoW + Bvc5WOvtz6aIqmKbNis2ir7BGQTjMEdbzm80GgeweaJKYJO2CEVe6xR97KJdE/g8ic0UsZMkySEo6g0o + 6o7eQgfm/+CqiYmJt7PZIkZQRDvqNHxFDtHNUGu7GMFa7cso3gs9xYzF7XCFTqVEghUKg22lU8QYvaPZ + bB7IbokQsSM+FMrO/vsKGJ04ir3X9kHZPREStjZAkda4RauA6zXoAsM2oyjMbU6hquT92rwGBE97+ApV + JX+lA4kAQCHsLg1fgaropey2GAdYs52AIrzoFKXK7ux0Oqew+2KUbNy48a0owEanIHVwFgcRhzMGMSqy + LPuRpxi1EGv2OxmDGAUI/US4q7cIdRODbjHjEMMER2r7I/CH3QLU0MdmZmbeyFjEsMCSbddIfQWoncji + a4xFDAOu3XI3+Bq7Oc/zgxiPKBscKJznCb3ufoXxiLJBuIkTtux2pxiPKBOe5PUFXns7nc7HGZMoCwR7 + oxu0nPdWxiTKgLcebXFClq+4NUmSNzAuMSg4WDjZE7LsEbscpzIuMSgI9Ao3YPlqsVBexbjEoCBQe0Le + G7Scdz3jEoNgJzYR5n+dcOXebtelrhLAgPuQJ1zpEZvV4xmbKApCPNsXrvT6OcYmioIB9y1PsNLvZYxN + FAUh/tQJVfYxTdOfMDZRFAS52g1W9vXXjE0UBUvtfZ5gpd97GJsoCkJc54Qq+9tkbKIoCPEhJ1TZ34cY + mygKQvyTE6rs7/2MTRQFId7lhCr7mGXZbxibKApC/LkvXOl1FWMTRUGIVzuhyv5eydhEURDiEidU2Uds + Dc5jbKIoCNKesvcGLF+t3nRTApy0xqaV94Ys592lmTJLAmF2nHDl3j7CuMSgIEw9sfXaXse4xKBgZ/gs + T8Cyx06ncybjEoPC/biX3JDlvNu0/1YydhbdE7SEyOaXjEmUBYL9lBu0nPd0xiTKgk/f/9MJWna7s3rn + 6pDApkPPNzgik0sYjyibmZmZtyHk59zQa+zWPM/fwnjEMEDIupj/it9mLGJY2FuTEfS/nODr6FN2uoix + iGGSpumXPAWoldh3050ho4JvD3zQLUKNXKcXvY0YrOUWIfhtTiHq4BwOFD7AGMQosc2KpyBVdym7L8YB + Bl1tnnnQVA4B0Gq1Dsag+4uvQBWzqfnfAiFJkkOx9E94ilQVM/gOdleEQLvdPhpFeaKnSFXxCesbuylC + Ympq6t0oUJVuR8+x5l7I7okQ4ZWIKsxH8rfp6el3slsiZOxAAgW7wylgTN5ufWB3RCzwElhMJ4ftNvoL + 2HwRI1mWHY8itnqKGqotm7GdzRYxY9cdubZ72ilyCD6Htn3DXj7M5oqqgDXIYVjjfQ9FDmEzuw0D7QYd + GNQAG3gouN3I+WzPABiVz8NrkiQ5nM0RdcEuFWEt8xkMgAbczgExDHfBB2yzDt/Mrxd1xtY4GBRLMCB+ + gc+/c6AM4iZ4G1zSbreP4NcI4QcDbyH2987AgFkOb4V/gHbTZ4I/fxyfj9nPcC20v/shXG7/B76Xv0YI + IYQQQgghhBBCCCFE6GzatOlNdsHd1FNUYiA6nc570jRdnGXZhd1u92b4ZzgJ7TKVTRNm10TdS1g7of2d + PcBjT1f9Edqs68vwez6Z5/m7+OtFnbH7z+zNLRhg38TAuBcDxO7icAdTWW6Fv8f3XIRB/WE2QVQdm+kb + hV+Kwt8Nn+kZEKN2C1yNwX6uNssVw9ZkWKucggL/DP6HBQ/J5zHw7sTn6ZoRKWLscUEU8nIU8h89xQ1d + uwNlBdqte+Ziwe5rQ8FWonDD3Ccbqra5tz7YQsNuidCwo0EU6RYU7EW3gBFrC83VGngBYftoKMoy+G8W + qYraUe4y7eONGRTBXt77CItSB9djLX4Cuy9Ghc3ejf0cm4hwt1OQOrgDg+672IU4iHGIYWInThF67hSh + jm7AQncsYxHDAEu2PT1fpYOCQZ3DoPs84xFlwfel3uWELf/vbgy6H2gTWxII8yiEusEJWe7tg/YuMsYm + ioBN6DEYcPYMqC9gubeP6qHrgtjhPwJ80glUvrbT2Ly+jzGK1wPWaicjuDknSPn6ncUCu4hxin3B0x7j + mNWoas5iwdWUE/sCS+VCBLXZCU4WV+936AdnL5ruCUuW43p7DoMxC8MCQTAPO0HJ8vytLvz3gH2NH3tC + kuV6MeOuN9hvO9cTjizfHfAkxl5PsGY7FiFU+T620Nyc5/lhjL9e2NNKCMBmkPQFI4ckFvK7WYJ6gc5f + 4YYhRyN2Y77AMtSDqamp96PjL7hByJG5JUmSQ1mO6oMl7D5PCHKEogbfZzmqDTr7WbfzcizutKkuWJZq + wgMFmxjGF4AcvetYmmqCIySblcjXcTkmsWldzPJUi0ajcQA6OON2WI7dB1iiaoG12/mezsowrNYVCLtw + jE7ZrTK+zsrxu4alqgbokI5Mw3Z3XqW3UaND9zgdlOF5PcsVNzb5MjozzHeRynJ8yg7sWLZ4wcHCRZ7O + yQBN0/Q0li1e0JE6zW4Uu7ezbHGCDhzndEiG7Vyr1TqY5YsPdGCF0yEZuNgFOoPliw803t5/4O2YDFPU + 7DssX1zwUla0EzvX2L+yhHExOTn5MU9nZPjutOnRWMZ4QMMvdToiI7HT6ZzJMsYDGr7G7YiMwzRNV7KM + 8YCGa9qGeF3NMsZBs9k8EI3W5ax4fZSljIOJiYkPejoh43GOpYyDLMvO8nRCRiT2445kOcMHDb7Y7YCM + S3vlJ8sZPmjw9W4HZFxiK3U2yxk+aKym34pc1PCLLGf4YPtvbzj2dkTGIQbchSxn+KDBOukbuRhwl7Cc + 4YMGr3U7IOMSA+4qljN80Nhr0eiGjNqlLKcQQgghhBBCCCGEGJQFC14GIEaNVj05/rcAAAAASUVORK5C + YII= + + + + 17, 65 + + + 713, 17 + + + 929, 17 + + + 94 + + \ No newline at end of file diff --git a/MainProgram.cs b/MainProgram.cs new file mode 100644 index 0000000..e478ffe --- /dev/null +++ b/MainProgram.cs @@ -0,0 +1,22 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace DBWizard +{ + static class MainProgram + { + /// + /// The main entry point for the application. + /// + [STAThread] + static void Main() + { + Application.EnableVisualStyles(); + Application.SetCompatibleTextRenderingDefault(false); + Application.Run(new Form1()); + } + } +} diff --git a/Models/Parent.cs b/Models/Parent.cs new file mode 100644 index 0000000..9c191a1 --- /dev/null +++ b/Models/Parent.cs @@ -0,0 +1,17 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace DBWizard.Models +{ + public class Parent + { + public int parent_id { get; } + public string FirstName { get; set; } + public string LastName { get; set; } + public long PhoneNumber { get; set; } + public string EmailAddress { get; set; } + } +} diff --git a/Models/Program.cs b/Models/Program.cs new file mode 100644 index 0000000..f18dd78 --- /dev/null +++ b/Models/Program.cs @@ -0,0 +1,14 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace DBWizard.Models +{ + public class Program + { + public int program_id { get; } + public string name { get; } + } +} diff --git a/Models/School.cs b/Models/School.cs new file mode 100644 index 0000000..223742d --- /dev/null +++ b/Models/School.cs @@ -0,0 +1,14 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace DBWizard.Models +{ + public class School + { + public int school_id { get; } + public string name { get; } + } +} diff --git a/Models/Student.cs b/Models/Student.cs new file mode 100644 index 0000000..3d8e7ed --- /dev/null +++ b/Models/Student.cs @@ -0,0 +1,35 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace DBWizard.Models +{ + public class Student + { + public int id { get; } + public string student_id { get; set; } + public int parent_id { get; set; } + public string FirstName { get; set; } + public string LastName { get; set; } + public string DOB { get; set; } + public string gender { get; set; } + public string address { get; set; } + public int program_id { get; set; } + public int school_id { get; set; } + public string GradeLevel { get; set; } + public byte[] photo { get; set; } + + public virtual Parent Parent { get; set; } + public virtual Program Program { get; set; } + public virtual School School { get; set; } + + //override toString for search functionality. + public override string ToString() + { + string str = $"{LastName}, {FirstName} student id: {student_id}"; + return str; + } + } +} diff --git a/Properties/AssemblyInfo.cs b/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..5547b75 --- /dev/null +++ b/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("DBWizard")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("DBWizard")] +[assembly: AssemblyCopyright("Copyright © 2020")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("42d31e64-c955-4c6f-9be2-1fc06e252f37")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/Properties/DataSources/DBWizard.Models.Student.datasource b/Properties/DataSources/DBWizard.Models.Student.datasource new file mode 100644 index 0000000..e2a3fbd --- /dev/null +++ b/Properties/DataSources/DBWizard.Models.Student.datasource @@ -0,0 +1,58 @@ + + + + + + DBWizard.Models.Parent, DBWizard, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + + + + + + + + + + + + + + DBWizard.Models.School, DBWizard, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + + + + + + + + + + + + + + DBWizard.Models.Student, DBWizard, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Properties/Resources.Designer.cs b/Properties/Resources.Designer.cs new file mode 100644 index 0000000..c06f16a --- /dev/null +++ b/Properties/Resources.Designer.cs @@ -0,0 +1,73 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace DBWizard.Properties { + using System; + + + /// + /// A strongly-typed resource class, for looking up localized strings, etc. + /// + // This class was auto-generated by the StronglyTypedResourceBuilder + // class via a tool like ResGen or Visual Studio. + // To add or remove a member, edit your .ResX file then rerun ResGen + // with the /str option, or rebuild your VS project. + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0")] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + internal class Resources { + + private static global::System.Resources.ResourceManager resourceMan; + + private static global::System.Globalization.CultureInfo resourceCulture; + + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal Resources() { + } + + /// + /// Returns the cached ResourceManager instance used by this class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Resources.ResourceManager ResourceManager { + get { + if (object.ReferenceEquals(resourceMan, null)) { + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("DBWizard.Properties.Resources", typeof(Resources).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// Overrides the current thread's CurrentUICulture property for all + /// resource lookups using this strongly typed resource class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Globalization.CultureInfo Culture { + get { + return resourceCulture; + } + set { + resourceCulture = value; + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap student { + get { + object obj = ResourceManager.GetObject("student", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + } +} diff --git a/Properties/Resources.resx b/Properties/Resources.resx new file mode 100644 index 0000000..3ee3896 --- /dev/null +++ b/Properties/Resources.resx @@ -0,0 +1,124 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + ..\Resources\student.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + \ No newline at end of file diff --git a/Properties/Settings.Designer.cs b/Properties/Settings.Designer.cs new file mode 100644 index 0000000..75f0786 --- /dev/null +++ b/Properties/Settings.Designer.cs @@ -0,0 +1,30 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace DBWizard.Properties +{ + + + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")] + internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase + { + + private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); + + public static Settings Default + { + get + { + return defaultInstance; + } + } + } +} diff --git a/Properties/Settings.settings b/Properties/Settings.settings new file mode 100644 index 0000000..3964565 --- /dev/null +++ b/Properties/Settings.settings @@ -0,0 +1,7 @@ + + + + + + + diff --git a/Resources/student.png b/Resources/student.png new file mode 100644 index 0000000..c890673 Binary files /dev/null and b/Resources/student.png differ diff --git a/SqliteDataAccess.cs b/SqliteDataAccess.cs new file mode 100644 index 0000000..c68bb68 --- /dev/null +++ b/SqliteDataAccess.cs @@ -0,0 +1,145 @@ +using Dapper; +using DBWizard.Models; +using System; +using System.Collections.Generic; +using System.Configuration; +using System.Data; +using System.Data.SQLite; +using System.Linq; + +namespace DBWizard +{ + class SqliteDataAccess + { + public List FindStudentByLastname(string last_name) + { + //A using statement protects us as a failsafe: it guarantees the connection to the + //database will be closed, even in event of an application or computer crash. + using (IDbConnection cnn = new SQLiteConnection(LoadConnectionString())) + { + string strQuery = "SELECT * FROM students WHERE LastName=@LastName"; + + var output = cnn.Query(strQuery, new { LastName = last_name }); + return output.ToList(); + } + } + + //Can also be used for search function. + public List FindStudentByStudentId(string studentid_in) + { + using (IDbConnection cnn = new SQLiteConnection(LoadConnectionString())) + { + string strQuery = "SELECT * FROM students WHERE student_id=@studentid"; + + var output = cnn.Query(strQuery, new { studentid = studentid_in }); + return output.ToList(); + } + } + + internal void UpdateStudent(Student stu) + { + using (IDbConnection cnn = new SQLiteConnection(LoadConnectionString())) + { + string strQuery = "UPDATE Students SET student_id = @student_id, FirstName = @First_Name, LastName = @Last_Name," + + "DOB = @_dob, Gender = @_gender, Address = @_address, GradeLevel = @Grade_Level, Photo = @_photo" + + "WHERE id = @_id;"; + + cnn.Execute(strQuery, new + { + _id = stu.id, + student_id = stu.student_id, + First_Name = stu.FirstName, + Last_Name = stu.LastName, + _dob = stu.DOB, + _gender = stu.gender, + _address = stu.address, + Grade_Level = stu.GradeLevel, + _photo = stu.photo ?? null + }); + } + } + + internal void InsertNewStudent(Student stu) + { + using (IDbConnection cnn = new SQLiteConnection(LoadConnectionString())) + { + string strQuery = "INSERT INTO STUDENTS (student_id, parent_id, FirstName, LastName, DOB, gender, address, program_id, school_id, GradeLevel, photo)" + + "VALUES (@student_id, @parent_id, @FirstName, @LastName, @DOB, @gender, @address, @program_id, @school_id, @GradeLevel, @photo)"; + cnn.Execute(strQuery, stu); + } + } + + /* Inserts a new parent. + * returns parent id as the new row # it just inserted. + */ + internal int InsertNewParent(Parent par) + { + using (IDbConnection cnn = new SQLiteConnection(LoadConnectionString())) + { + string strQuery = "INSERT INTO PARENTS (FirstName,LastName,PhoneNumber,EmailAddress)" + + "VALUES (@FirstName,@LastName,@PhoneNumber,@EmailAddress);"; + var affectedRow = cnn.Execute(strQuery, par); + return affectedRow; + } + } + + internal void UpdateParent(Parent par, int parent_id_in) + { + using (IDbConnection cnn = new SQLiteConnection(LoadConnectionString())) + { + string strQuery = "UPDATE Parents SET FirstName = @First_Name, LastName = @Last_Name," + + "PhoneNumber = @Phone_Number, EmailAddress = @Email_Address" + + "WHERE parent_id = @_id;"; + + cnn.Execute(strQuery, new + { + _id = parent_id_in, + First_Name = par.FirstName, + Last_Name = par.LastName, + Phone_Number = par.PhoneNumber, + Email_Address = par.EmailAddress + }); + } + } + + internal List GetPrograms() + { + using (IDbConnection cnn = new SQLiteConnection(LoadConnectionString())) + { + string strQuery = "SELECT name FROM programs;"; + + var output = cnn.Query(strQuery, new DynamicParameters()); + return output.ToList(); + } + } + + internal List GetSchools() + { + using (IDbConnection cnn = new SQLiteConnection(LoadConnectionString())) + { + string strQuery = "SELECT name FROM schools;"; + + var output = cnn.Query(strQuery, new DynamicParameters()); + return output.ToList(); + } + } + + public List GetParentByID(int parent_id) + { + using (IDbConnection cnn = new SQLiteConnection(LoadConnectionString())) + { + string strQuery = "SELECT * FROM parents WHERE id=@id;"; + + var output = cnn.Query(strQuery, new { id = parent_id }); + + return output.ToList(); + } + } + + private static string LoadConnectionString(string id = "Default") + { + return ConfigurationManager.ConnectionStrings[id].ConnectionString; + } + + } //class SqliteDataAccess +} diff --git a/packages.config b/packages.config new file mode 100644 index 0000000..56c32da --- /dev/null +++ b/packages.config @@ -0,0 +1,10 @@ + + + + + + + + + + \ No newline at end of file diff --git a/packages/CsvHelper.15.0.5/.signature.p7s b/packages/CsvHelper.15.0.5/.signature.p7s new file mode 100644 index 0000000..8bc2280 Binary files /dev/null and b/packages/CsvHelper.15.0.5/.signature.p7s differ diff --git a/packages/CsvHelper.15.0.5/CsvHelper.15.0.5.nupkg b/packages/CsvHelper.15.0.5/CsvHelper.15.0.5.nupkg new file mode 100644 index 0000000..d056e22 Binary files /dev/null and b/packages/CsvHelper.15.0.5/CsvHelper.15.0.5.nupkg differ diff --git a/packages/CsvHelper.15.0.5/Icon.png b/packages/CsvHelper.15.0.5/Icon.png new file mode 100644 index 0000000..e8c5d82 Binary files /dev/null and b/packages/CsvHelper.15.0.5/Icon.png differ diff --git a/packages/CsvHelper.15.0.5/lib/net45/CsvHelper.dll b/packages/CsvHelper.15.0.5/lib/net45/CsvHelper.dll new file mode 100644 index 0000000..6c359eb Binary files /dev/null and b/packages/CsvHelper.15.0.5/lib/net45/CsvHelper.dll differ diff --git a/packages/CsvHelper.15.0.5/lib/net45/CsvHelper.xml b/packages/CsvHelper.15.0.5/lib/net45/CsvHelper.xml new file mode 100644 index 0000000..71bf506 --- /dev/null +++ b/packages/CsvHelper.15.0.5/lib/net45/CsvHelper.xml @@ -0,0 +1,7539 @@ + + + + CsvHelper + + + + + Represents errors that occur due to bad data. + + + + + Initializes a new instance of the class. + + The reading context. + + + + Initializes a new instance of the class + with a specified error message. + + The reading context. + The message that describes the error. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that + is the cause of this exception. + + The reading context. + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Types of caches. + + + + + None. + + + + + Named index. + + + + + Delegate that creates objects when reading. + + + + + Delegate that writes objects to strings when writing. + + + + + Type converter options. + + + + + Raw record. + + + + + The string values used to represent a boolean false when converting. + + + + + Gets the false values. + + + + + The string values used to represent a boolean false when converting. + + The false values. + + + + The string values used to represent a boolean false when converting. + + The false values. + + + + Applies configuration to the given . + + The member map. + + + + The string values used to represent a boolean true when converting. + + + + + Gets the true values. + + + + + The string values used to represent a boolean true when converting. + + + + + + The string values used to represent a boolean true when converting. + + + + + + Applies configuration to the given . + + The member map. + + + + The constant value that will be used for every record when + reading and writing. This value will always be used no matter + what other mapping configurations are specified. + + + + + Gets the constant. + + + + + The constant value that will be used for every record when + reading and writing. This value will always be used no matter + what other mapping configurations are specified. + + The constant. + + + + Applies configuration to the given . + + The member map. + + + + The used when type converting. + This will override the global + setting. + + + + + Gets the culture info. + + + + + The used when type converting. + This will override the global + setting. + + The culture. + + + + Applies configuration to the given . + + The member map. + + + + The to use when type converting. + This is used when doing any conversions. + + + + + Gets the date time styles. + + + + + The to use when type converting. + This is used when doing any conversions. + + The date time styles. + + + + Applies configuration to the given . + + The member map. + + + + The default value that will be used when reading when + the CSV field is empty. + + + + + Gets the default value. + + + + + The default value that will be used when reading when + the CSV field is empty. + + The default value + + + + Applies configuration to the given . + + The member map. + + + + The string format to be used when type converting. + + + + + Gets the formats. + + + + + The string format to be used when type converting. + + The format. + + + + The string format to be used when type converting. + + The formats. + + + + Applies configuration to the given . + + The member map. + + + + Appends a prefix to the header of each field of the reference member. + + + + + Gets the prefix. + + + + + Appends a prefix to the header of each field of the reference member. + + + + + Appends a prefix to the header of each field of the reference member. + + The prefix. + + + + Applies configuration to the given . + + The reference map. + + + + Ignore the member when reading and writing. + If this member has already been mapped as a reference + member, either by a class map, or by automapping, calling + this method will not ignore all the child members down the + tree that have already been mapped. + + + + + Applies configuration to the given . + + The member map. + + + + Applies configuration to the given . + + The reference map. + + + + + Defines methods to enables pluggable configuration of member mapping. + + + + + Applies configuration to the given . + + The member map. + + + + Defines methods to enables pluggable configuration of member mapping. + + + + + Applies configuration to the given . + + The reference map. + + + + When reading, is used to get the field at + the given index. When writing, the fields + will be written in the order of the field + indexes. + + + + + Gets the index. + + + + + Gets the index end. + + + + + When reading, is used to get the field at + the given index. When writing, the fields + will be written in the order of the field + indexes. + + The index. + The index end. + + + + Applies configuration to the given . + + The member map. + + + + When reading, is used to get the field + at the index of the name if there was a + header specified. It will look for the + first name match in the order listed. + When writing, sets the name of the + field in the header record. + The first name will be used. + + + + + Gets the names. + + + + + When reading, is used to get the field + at the index of the name if there was a + header specified. It will look for the + first name match in the order listed. + When writing, sets the name of the + field in the header record. + The first name will be used. + + The name + + + + When reading, is used to get the field + at the index of the name if there was a + header specified. It will look for the + first name match in the order listed. + When writing, sets the name of the + field in the header record. + The first name will be used. + + The names. + + + + Applies configuration to the given . + + The member map. + + + + When reading, is used to get the + index of the name used when there + are multiple names that are the same. + + + + + The name index. + + + + + When reading, is used to get the + index of the name used when there + are multiple names that are the same. + + The name index. + + + + Applies configuration to the given . + + The member map. + + + + The string values used to represent null when converting. + + + + + Gets the null values. + + + + + The string values used to represent null when converting. + + The null values. + + + + The string values used to represent null when converting. + + The null values. + + + + Applies configuration to the given . + + The member map. + + + + The to use when type converting. + This is used when doing any number conversions. + + + + + Gets the number styles. + + + + + The to use when type converting. + This is used when doing any number conversions. + + The number styles. + + + + Applies configuration to the given . + + The member map. + + + + Ignore the member when reading if no matching field name can be found. + + + + + Applies configuration to the given . + + The member map. + + + + Specifies the to use + when converting the member to and from a CSV field. + + + + + Gets the type converter. + + + + + Specifies the to use + when converting the member to and from a CSV field. + + + + + + Applies configuration to the given . + + The member map. + + + + Maps class members to CSV fields. + + + + + The type of the class this map is for. + + + + + The class constructor parameter mappings. + + + + + The class member mappings. + + + + + The class member reference mappings. + + + + + Allow only internal creation of CsvClassMap. + + The type of the class this map is for. + + + + Maps a member to a CSV field. + + The type of the class this map is for. This may not be the same type + as the member.DeclaringType or the current ClassType due to nested member mappings. + The member to map. + If true, an existing map will be used if available. + If false, a new map is created for the same member. + The member mapping. + + + + Maps a non-member to a CSV field. This allows for writing + data that isn't mapped to a class member. + + The member mapping. + + + + Maps a member to another class map. + + The type of the class map. + The member. + Constructor arguments used to create the reference map. + The reference mapping for the member. + + + + Auto maps all members for the given type. If a member + is mapped again it will override the existing map. + + The culture. + + + + Auto maps all members for the given type. If a member + is mapped again it will override the existing map. + + The configuration. + + + + Get the largest index for the + members and references. + + The max index. + + + + Resets the indexes based on the given start index. + + The index start. + The last index + 1. + + + + Auto maps the given map and checks for circular references as it goes. + + The map to auto map. + The configuration. + The list of parents for the map. + The index starting point. + + + + Auto maps the given map using constructor parameters. + + The map. + The configuration. + The list of parents for the map. + The index starting point. + + + + Checks for circular references. + + The type to check for. + The list of parents to check against. + A value indicating if a circular reference was found. + True if a circular reference was found, otherwise false. + + + + Gets the generic type for this class map. + + + + + Applies attribute configurations to the map. + + The member map. + + + + Applies attribute configurations to the map. + + The reference map. + + + + Has mapping capabilities. + + The class type. + + + + Maps a member to a CSV field. + + The member to map. + If true, an existing map will be used if available. + If false, a new map is created for the same member. + The member mapping. + + + + Options after a mapping call. + + The class type. + The member type. + + + + Has type converter capabilities. + + The class type. + The member type. + + + + Specifies the to use + when converting the member to and from a CSV field. + + The TypeConverter to use. + + + + Specifies the to use + when converting the member to and from a CSV field. + + The of the + to use. + + + + Options after a type converter call. + + The class type. + The member type. + + + + Has index capabilities. + + The class type. + The member type. + + + + When reading, is used to get the field at + the given index. When writing, the fields + will be written in the order of the field + indexes. + + The index of the CSV field. + The end index used when mapping to an member. + + + + Options after an index call. + + The class type. + The member type. + + + + Has optional capabilities. + + The class type. + The member type. + + + + Ignore the member when reading if no matching field name can be found. + + + + + Options after an optional call. + + The class type. + The member type. + + + + Has name capabilities. + + The class type. + The member type. + + + + When reading, is used to get the field + at the index of the name if there was a + header specified. It will look for the + first name match in the order listed. + When writing, sets the name of the + field in the header record. + The first name will be used. + + The possible names of the CSV field. + + + + Options after a name call. + + The class type. + The member type. + + + + Has name index capabilities. + + The class type. + The member type. + + + + When reading, is used to get the + index of the name used when there + are multiple names that are the same. + + The index of the name. + + + + Options after a name index call. + + The class type. + The member type. + + + + Has convert using capabilities. + + The class type. + The member type. + + + + Specifies an expression to be used to convert data in the + row to the member. + + The convert expression. + + + + Specifies an expression to be used to convert the object + to a field. + + The convert expression. + + + + Has default capabilities. + + The class type. + The member type. + + + + The default value that will be used when reading when + the CSV field is empty. + + The default value. + + + + The default value that will be used when reading when + the CSV field is empty. This value is not type checked + and will use a to convert + the field. This could potentially have runtime errors. + + The default value. + + + + Options after a default call. + + The class type. + The member type. + + + + Has constant capabilities. + + The class type. + The member type. + + + + The constant value that will be used for every record when + reading and writing. This value will always be used no matter + what other mapping configurations are specified. + + The constant value. + + + + Has validate capabilities. + + The class type. + The member type. + + + + The validate expression that will be called on every field when reading. + The expression should return true if the field is valid. + If false is returned, a + will be thrown. + + The validation expression. + + + + Has build capabilities. + + The class type. + + + + Builds the . + + + + + Collection that holds CsvClassMaps for record types. + + + + + Gets the for the specified record type. + + + The . + + The record type. + The for the specified record type. + + + + Creates a new instance using the given configuration. + + The configuration. + + + + Finds the for the specified record type. + + The record type. + The for the specified record type. + + + + Adds the specified map for it's record type. If a map + already exists for the record type, the specified + map will replace it. + + The map. + + + + Removes the class map. + + The class map type. + + + + Removes all maps. + + + + + Goes up the inheritance tree to find the type instance of CsvClassMap{}. + + The type to traverse. + The type that is CsvClassMap{}. + + + + Sets defaults for the mapping tree. The defaults used + to be set inside the classes, but this didn't allow for + the TypeConverter to be created from the Configuration's + TypeConverterFactory. + + The map to set defaults on. + + + + Maps class members to CSV fields. + + The of class to map. + + + + Creates an instance of . + + + + + Maps a member to a CSV field. + + The member to map. + If true, an existing map will be used if available. + If false, a new map is created for the same member. + The member mapping. + + + + Meant for internal use only. + Maps a member to another class map. When this is used, accessing a property through + sub-property mapping later won't work. You can only use one or the other. When using + this, ConvertUsing will also not work. + + The type of the class map. + The expression. + Constructor arguments used to create the reference map. + The reference mapping for the member. + + + + Represents configuration errors that occur. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The message that describes the error. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that + is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + Holds the default callback methods for delegate members of CsvHelper.Configuration.Configuration. + + + + Throws a if is false. + + + + + Throws a MissingFieldException. + + + + + Throws a . + + + + + Throws the given . + + + + + Returns true if the field contains a , + starts with a space, ends with a space, contains \r or \n, or contains + the . + + The field. + The context. + + + + + Returns false. + + + + + Returns the as given. + + + + + Returns true if : + 1. does not have a parameterless constructor + 2. has a constructor + 3. is not a user defined struct + 4. is not an interface + 5. TypeCode is not an Object. + + + + + Returns the type's constructor with the most parameters. + If two constructors have the same number of parameters, then + there is no guarantee which one will be returned. If you have + that situation, you should probably implement this function yourself. + + + + + Configuration used for reading and writing CSV data. + + + + + Gets or sets the . + + + + + Gets or sets the . + + + + + Gets or sets a value indicating if the + CSV file has a header record. + Default is true. + + + + + Gets or sets the function that is called when a header validation check is ran. The default function + will throw a if there is no header for a given member mapping. + You can supply your own function to do other things like logging the issue instead of throwing an exception. + Arguments: isValid, headerNames, headerNameIndex, context + + + + + Gets or sets the function that is called when a missing field is found. The default function will + throw a . You can supply your own function to do other things + like logging the issue instead of throwing an exception. + Arguments: headerNames, index, context + + + + + Gets or sets the function that is called when bad field data is found. A field + has bad data if it contains a quote and the field is not quoted (escaped). + You can supply your own function to do other things like logging the issue + instead of throwing an exception. + Arguments: context + + + + + Gets or sets the function that is called when a reading exception occurs. + The default function will re-throw the given exception. If you want to ignore + reading exceptions, you can supply your own function to do other things like + logging the issue. + Arguments: exception + + + + + Gets or sets the callback that will be called to + determine whether to skip the given record or not. + + + + + Gets or sets a value indicating if a line break found in a quote field should + be considered bad data. True to consider a line break bad data, otherwise false. + Defaults to false. + + + + + Gets or sets a value indicating if fields should be sanitized + to prevent malicious injection. This covers MS Excel, + Google Sheets and Open Office Calc. + + + + + Gets or sets the characters that are used for injection attacks. + + + + + Gets or sets the character used to escape a detected injection. + + + + + Gets or sets a value indicating whether changes in the column + count should be detected. If true, a + will be thrown if a different column count is detected. + + + true if [detect column count changes]; otherwise, false. + + + + + Prepares the header field for matching against a member name. + The header field and the member name are both ran through this function. + You should do things like trimming, removing whitespace, removing underscores, + and making casing changes to ignore case. + + + + + Determines if constructor parameters should be used to create + the class instead of the default constructor and members. + + + + + Chooses the constructor to use for constructor mapping. + + + + + Gets or sets the comparer used to order the properties + of dynamic objects when writing. The default is null, + which will preserve the order the object properties + were created with. + + + + + Gets or sets a value indicating whether references + should be ignored when auto mapping. True to ignore + references, otherwise false. Default is false. + + + + + Gets or sets the field trimming options. + + + + + Gets or sets the delimiter used to separate fields. + Default is CultureInfo.TextInfo.ListSeparator. + + + + + Gets or sets the escape character used to escape a quote inside a field. + Default is '"'. + + + + + Gets or sets the character used to quote fields. + Default is '"'. + + + + + Gets a string representation of the currently configured Quote character. + + + The new quote string. + + + + + Gets a string representation of two of the currently configured Quote characters. + + + The new double quote string. + + + + + Gets or sets a function that is used to determine if a field should get quoted + when writing. + Arguments: field, context + + + + + Gets or sets the character used to denote + a line that is commented out. Default is '#'. + + + + + Gets or sets a value indicating if comments are allowed. + True to allow commented out lines, otherwise false. + + + + + Gets or sets the size of the buffer + used for reading CSV files. + Default is 2048. + + + + + Gets or sets a value indicating whether the number of bytes should + be counted while parsing. Default is false. This will slow down parsing + because it needs to get the byte count of every char for the given encoding. + The needs to be set correctly for this to be accurate. + + + + + Gets or sets the encoding used when counting bytes. + + + + + Gets or sets the culture info used to read an write CSV files. + Default is . + + + + + Gets or sets a value indicating if quotes should be + ignored when parsing and treated like any other character. + + + + + Gets or sets a value indicating if private + member should be read from and written to. + True to include private member, otherwise false. Default is false. + + + + + Gets or sets the member types that are used when auto mapping. + MemberTypes are flags, so you can choose more than one. + Default is Properties. + + + + + Gets or sets a value indicating if blank lines + should be ignored when reading. + True to ignore, otherwise false. Default is true. + + + + + Gets or sets a callback that will return the prefix for a reference header. + Arguments: memberType, memberName + + + + + The configured s. + + + + + Gets or sets the newline to use when writing. + + + + + Gets the newline string to use when writing. This string is determined + by the value. + + + + + Gets or sets a value indicating that during writing if a new + object should be created when a reference member is null. + True to create a new object and use it's defaults for the + fields, or false to leave the fields empty for all the + reference member's member. + + + + + Initializes a new instance of the class + using the given . Since + uses for it's default, the given + will be used instead. + + The culture information. + + + + Use a to configure mappings. + When using a class map, no members are mapped by default. + Only member specified in the mapping are used. + + The type of mapping class to use. + + + + Use a to configure mappings. + When using a class map, no members are mapped by default. + Only members specified in the mapping are used. + + The type of mapping class to use. + + + + Registers the class map. + + The class map to register. + + + + Unregisters the class map. + + The map type to unregister. + + + + Unregisters the class map. + + The map type to unregister. + + + + Unregisters all class maps. + + + + + Generates a for the type. + + The type to generate the map for. + The generate map. + + + + Generates a for the type. + + The type to generate for the map. + The generate map. + + + + A default that can be used + to create a class map dynamically. + + + + + + Configuration used for the . + + + + + Gets or sets the size of the buffer + used for reading CSV files. + Default is 2048. + + + + + Gets or sets a value indicating whether the number of bytes should + be counted while parsing. Default is false. This will slow down parsing + because it needs to get the byte count of every char for the given encoding. + The needs to be set correctly for this to be accurate. + + + + + Gets or sets the encoding used when counting bytes. + + + + + Gets or sets the function that is called when bad field data is found. A field + has bad data if it contains a quote and the field is not quoted (escaped). + You can supply your own function to do other things like logging the issue + instead of throwing an exception. + Arguments: context + + + + + Gets or sets a value indicating if a line break found in a quote field should + be considered bad data. True to consider a line break bad data, otherwise false. + Defaults to false. + + + + + Gets or sets the character used to denote + a line that is commented out. Default is '#'. + + + + + Gets or sets a value indicating if comments are allowed. + True to allow commented out lines, otherwise false. + + + + + Gets or sets a value indicating if blank lines + should be ignored when reading. + True to ignore, otherwise false. Default is true. + + + + + Gets or sets a value indicating if quotes should be + ignored when parsing and treated like any other character. + + + + + Gets or sets the character used to quote fields. + Default is '"'. + + + + + Gets or sets the delimiter used to separate fields. + Default is CultureInfo.CurrentCulture.TextInfo.ListSeparator. + + + + + Gets or sets the escape character used to escape a quote inside a field. + Default is '"'. + + + + + Gets or sets the field trimming options. + + + + + Configuration used for the . + + + + + Gets or sets a value indicating if the + CSV file has a header record. + Default is true. + + + + + Gets or sets the function that is called when a header validation check is ran. The default function + will throw a if there is no header for a given member mapping. + You can supply your own function to do other things like logging the issue instead of throwing an exception. + Arguments: isValid, headerNames, headerNameIndex, context + + + + + Gets or sets the function that is called when a missing field is found. The default function will + throw a . You can supply your own function to do other things + like logging the issue instead of throwing an exception. + Arguments: headerNames, index, context + + + + + Gets or sets the function that is called when a reading exception occurs. + The default function will re-throw the given exception. If you want to ignore + reading exceptions, you can supply your own function to do other things like + logging the issue. + Arguments: exception + + + + + Gets or sets the culture info used to read an write CSV files. + + + + + Gets or sets the . + + + + + Gets or sets the . + + + + + Prepares the header field for matching against a member name. + The header field and the member name are both ran through this function. + You should do things like trimming, removing whitespace, removing underscores, + and making casing changes to ignore case. + + + + + Determines if constructor parameters should be used to create + the class instead of the default constructor and members. + + + + + Chooses the constructor to use for constructor mapping. + + + + + Gets or sets a value indicating whether references + should be ignored when auto mapping. True to ignore + references, otherwise false. Default is false. + + + + + Gets or sets the callback that will be called to + determine whether to skip the given record or not. + + + + + Gets or sets a value indicating if private + member should be read from and written to. + True to include private member, otherwise false. Default is false. + + + + + Gets or sets a callback that will return the prefix for a reference header. + Arguments: memberType, memberName + + + + + Gets or sets a value indicating whether changes in the column + count should be detected. If true, a + will be thrown if a different column count is detected. + + + true if [detect column count changes]; otherwise, false. + + + + + Gets or sets the member types that are used when auto mapping. + MemberTypes are flags, so you can choose more than one. + Default is Properties. + + + + + The configured s. + + + + + Use a to configure mappings. + When using a class map, no members are mapped by default. + Only member specified in the mapping are used. + + The type of mapping class to use. + + + + Use a to configure mappings. + When using a class map, no member are mapped by default. + Only member specified in the mapping are used. + + The type of mapping class to use. + + + + Registers the class map. + + The class map to register. + + + + Unregisters the class map. + + The map type to unregister. + + + + Unregisters the class map. + + The map type to unregister. + + + + Unregisters all class maps. + + + + + Generates a for the type. + + The type to generate the map for. + The generate map. + + + + Generates a for the type. + + The type to generate for the map. + The generate map. + + + + Configuration used for the . + + + + + Gets or sets the delimiter used to separate fields. + Default is ','; + + + + + Gets or sets the character used to quote fields. + Default is '"'. + + + + + Gets or sets the escape character used to escape a quote inside a field. + Default is '"'. + + + + + Gets or sets the field trimming options. + + + + + Gets or sets a value indicating if fields should be sanitized + to prevent malicious injection. This covers MS Excel, + Google Sheets and Open Office Calc. + + + + + Gets or sets the characters that are used for injection attacks. + + + + + Gets or sets the character used to escape a detected injection. + + + + + Gets or sets the newline to use when writing. + + + + + Gets the newline string to use when writing. This string is determined + by the value. + + + + + Configuration used for the . + + + + + Gets a string representation of the currently configured Quote character. + + + The new quote string. + + + + + Gets a string representation of two of the currently configured Quote characters. + + + The new double quote string. + + + + + Gets or sets a function that is used to determine if a field should get quoted + when writing. + Arguments: field, context + + + + + Gets or sets the culture info used to read an write CSV files. + + + + + Gets or sets the . + + + + + Gets or sets the . + + + + + Gets or sets a value indicating if comments are allowed. + True to allow commented out lines, otherwise false. + + + + + Gets or sets the character used to denote + a line that is commented out. Default is '#'. + + + + + Gets or sets a value indicating if the + CSV file has a header record. + Default is true. + + + + + Gets or sets a value indicating whether references + should be ignored when auto mapping. True to ignore + references, otherwise false. Default is false. + + + + + Gets or sets a value indicating if private + member should be read from and written to. + True to include private member, otherwise false. Default is false. + + + + + Gets or sets a callback that will return the prefix for a reference header. + Arguments: memberType, memberName + + + + + Gets or sets the member types that are used when auto mapping. + MemberTypes are flags, so you can choose more than one. + Default is Properties. + + + + + The configured s. + + + + + Use a to configure mappings. + When using a class map, no member are mapped by default. + Only member specified in the mapping are used. + + The type of mapping class to use. + + + + Use a to configure mappings. + When using a class map, no member are mapped by default. + Only member specified in the mapping are used. + + The type of mapping class to use. + + + + Registers the class map. + + The class map to register. + + + + Unregisters the class map. + + The map type to unregister. + + + + Unregisters the class map. + + The map type to unregister. + + + + Unregisters all class maps. + + + + + Generates a for the type. + + The type to generate the map for. + The generate map. + + + + Generates a for the type. + + The type to generate for the map. + The generate map. + + + + Gets or sets a value indicating that during writing if a new + object should be created when a reference member is null. + True to create a new object and use it's defaults for the + fields, or false to leave the fields empty for all the + reference member's member. + + + + + Gets or sets the comparer used to order the properties + of dynamic objects when writing. The default is null, + which will preserve the order the object properties + were created with. + + + + + Sets type converter options on a member map. + + + + + Creates a new instance using the given . + + The member map the options are being applied to. + + + + The used when type converting. + This will override the global + setting. + + The culture info. + + + + The to use when type converting. + This is used when doing any conversions. + + The date time style. + + + + The to use when type converting. + This is used when doing converting. + + The time span styles. + + + + The to use when type converting. + This is used when doing any number conversions. + + + + + + The string format to be used when type converting. + + The format. + + + + The to use when converting. + This is used when doing conversions. + + Kind of the URI. + + + + The string values used to represent a boolean when converting. + + A value indicating whether true values or false values are being set. + A value indication if the current values should be cleared before adding the new ones. + The string boolean values. + + + + The string values used to represent null when converting. + + The values that represent null. + + + + + The string values used to represent null when converting. + + A value indication if the current values should be cleared before adding the new ones. + The values that represent null. + + + + + Mapping info for a member to a CSV field. + + + + + Gets the member map data. + + + + + Type converter options. + + + + + Creates an instance of using the given Type and . + + Type of the class the member being mapped belongs to. + The member being mapped. + + + + When reading, is used to get the field + at the index of the name if there was a + header specified. It will look for the + first name match in the order listed. + When writing, sets the name of the + field in the header record. + The first name will be used. + + The possible names of the CSV field. + + + + When reading, is used to get the + index of the name used when there + are multiple names that are the same. + + The index of the name. + + + + When reading, is used to get the field at + the given index. When writing, the fields + will be written in the order of the field + indexes. + + The index of the CSV field. + The end index used when mapping to an member. + + + + Ignore the member when reading and writing. + If this member has already been mapped as a reference + member, either by a class map, or by automapping, calling + this method will not ignore all the child members down the + tree that have already been mapped. + + + + + Ignore the member when reading and writing. + If this member has already been mapped as a reference + member, either by a class map, or by automapping, calling + this method will not ignore all the child members down the + tree that have already been mapped. + + True to ignore, otherwise false. + + + + The default value that will be used when reading when + the CSV field is empty. + + The default value. + + + + The default value that will be used when reading when + the CSV field is empty. This value is not type checked + and will use a to convert + the field. This could potentially have runtime errors. + + The default value. + + + + The constant value that will be used for every record when + reading and writing. This value will always be used no matter + what other mapping configurations are specified. + + The constant value. + + + + Specifies the to use + when converting the member to and from a CSV field. + + The TypeConverter to use. + + + + Specifies the to use + when converting the member to and from a CSV field. + + The of the + to use. + + + + Specifies an expression to be used to validate a field when reading. + + + + + + A collection that holds 's. + + + + + Gets the number of elements contained in the . + + + The number of elements contained in the . + + + + + Gets a value indicating whether the is read-only. + + + true if the is read-only; otherwise, false. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The comparer to use when sorting the member maps. + + + + Returns an enumerator that iterates through the collection. + + + A that can be used to iterate through the collection. + + 1 + + + + Returns an enumerator that iterates through a collection. + + + An object that can be used to iterate through the collection. + + 2 + + + + Adds an item to the . + + The object to add to the . + The is read-only. + + + + + Adds a range of items to the . + + The collection to add. + + + + Removes all items from the . + + The is read-only. + + + + + Determines whether the contains a specific value. + + + true if is found in the ; otherwise, false. + + The object to locate in the . + + + + + Copies the elements of the to an , starting at a particular index. + + The one-dimensional that is the destination of the elements copied from . The must have zero-based indexing.The zero-based index in at which copying begins. is null. is less than 0.The number of elements in the source is greater than the available space from to the end of the destination . + + + + Removes the first occurrence of a specific object from the . + + + true if was successfully removed from the ; otherwise, false. This method also returns false if is not found in the original . + + The object to remove from the . + The is read-only. + + + + + Determines the index of a specific item in the . + + + The index of if found in the list; otherwise, -1. + + The object to locate in the . + + + + + Inserts an item to the at the specified index. + + The zero-based index at which should be inserted. + The object to insert into the . + is not a valid index in the . + The is read-only. + + + + + Removes the item at the specified index. + + The zero-based index of the item to remove. + is not a valid index in the . + The is read-only. + + + + + Gets or sets the element at the specified index. + + + The element at the specified index. + + The zero-based index of the element to get or set. + is not a valid index in the . + The member is set and the is read-only. + + + + + Finds the using the given member expression. + + The the member is on. + The member expression. + The for the given expression, or null if not found. + + + + Finds the using the given member. + + The member. + The for the given expression, or null if not found. + + + + Adds the members from the mapping. This will recursively + traverse the mapping tree and add all members for + reference maps. + + The mapping where the members are added from. + + + + Used to compare s. + The order is by field index ascending. Any + fields that don't have an index are pushed + to the bottom. + + + + + Compares two objects and returns a value indicating whether one is less than, equal to, or greater than the other. + + + Value + Condition + Less than zero + is less than . + Zero + equals . + Greater than zero + is greater than . + + The first object to compare. + The second object to compare. + Neither nor implements the interface. + -or- + and are of different types and neither one can handle comparisons with the other. + 2 + + + + Compares two objects and returns a value indicating whether one is less than, equal to, or greater than the other. + + + Value + Condition + Less than zero + is less than . + Zero + equals . + Greater than zero + is greater than . + + The first object to compare. + The second object to compare. + + + + + The configured data for the member map. + + + + + Gets the that the data + is associated with. + + + + + Gets the list of column names. + + + + + Gets or sets the index of the name. + This is used if there are multiple + columns with the same names. + + + + + Gets or sets a value indicating if the name was + explicitly set. True if it was explicitly set, + otherwise false. + + + + + Gets or sets the column index. + + + + + Gets or sets the index end. The Index end is used to specify a range for use + with a collection member. Index is used as the start of the range, and IndexEnd + is the end of the range. + + + + + Gets or sets a value indicating if the index was + explicitly set. True if it was explicitly set, + otherwise false. + + + + + Gets or sets the type converter. + + + + + Gets or sets the type converter options. + + + + + Gets or sets a value indicating whether the field should be ignored. + + + + + Gets or sets the default value used when a CSV field is empty. + + + + + Gets or sets a value indicating whether this instance is default value set. + the default value was explicitly set. True if it was + explicitly set, otherwise false. + + + + + Gets or sets the constant value used for every record. + + + + + Gets or sets a value indicating if a constant was explicitly set. + + + + + Gets or sets the expression used to convert data in the + row to the member. + + + + + Gets or sets the expression to be used to convert the object + to a field. + + + + + Gets or sets the expression use to validate a field. + + + + + Gets or sets a value indicating if a field is optional. + + + + + Initializes a new instance of the class. + + The member. + + + + Mapping info for a member to a CSV field. + + + + + Creates a new instance using the specified member. + + + + + When reading, is used to get the field + at the index of the name if there was a + header specified. It will look for the + first name match in the order listed. + When writing, sets the name of the + field in the header record. + The first name will be used. + + The possible names of the CSV field. + + + + When reading, is used to get the + index of the name used when there + are multiple names that are the same. + + The index of the name. + + + + When reading, is used to get the field at + the given index. When writing, the fields + will be written in the order of the field + indexes. + + The index of the CSV field. + The end index used when mapping to an member. + + + + Ignore the member when reading and writing. + If this member has already been mapped as a reference + member, either by a class map, or by automapping, calling + this method will not ignore all the child members down the + tree that have already been mapped. + + + + + Ignore the member when reading and writing. + If this member has already been mapped as a reference + member, either by a class map, or by automapping, calling + this method will not ignore all the child members down the + tree that have already been mapped. + + True to ignore, otherwise false. + + + + The default value that will be used when reading when + the CSV field is empty. + + The default value. + + + + The default value that will be used when reading when + the CSV field is empty. This value is not type checked + and will use a to convert + the field. This could potentially have runtime errors. + + The default value. + + + + The constant value that will be used for every record when + reading and writing. This value will always be used no matter + what other mapping configurations are specified. + + The constant value. + + + + Specifies the to use + when converting the member to and from a CSV field. + + The TypeConverter to use. + + + + Specifies the to use + when converting the member to and from a CSV field. + + The of the + to use. + + + + Specifies an expression to be used to convert data in the + row to the member. + + The convert expression. + + + + Specifies an expression to be used to convert the object + to a field. + + The convert expression. + + + + Ignore the member when reading if no matching field name can be found. + + + + + Specifies an expression to be used to validate a field when reading. + + + + + + A collection that holds member names. + + + + + Gets the name at the given index. If a prefix is set, + it will be prepended to the name. + + + + + + + Gets the prefix to use for each name. + + + + + Gets the raw list of names without + the prefix being prepended. + + + + + Gets the count. + + + + + Adds the given name to the collection. + + The name to add. + + + + Clears all names from the collection. + + + + + Adds a range of names to the collection. + + The range to add. + + + + Returns an enumerator that iterates through the collection. + + + A that can be used to iterate through the collection. + + 1 + + + + Returns an enumerator that iterates through a collection. + + + An object that can be used to iterate through the collection. + + 2 + + + + Mapping info for a reference member mapping to a class. + + + + + Gets the member reference map data. + + + + + Initializes a new instance of the class. + + The member. + The to use for the reference map. + + + + Appends a prefix to the header of each field of the reference member. + + The prefix to be prepended to headers of each reference member. + The current + + + + Get the largest index for the + members and references. + + The max index. + + + + A collection that holds 's. + + + + Gets the number of elements contained in the . + The number of elements contained in the . + + + Gets a value indicating whether the is read-only. + true if the is read-only; otherwise, false. + + + Gets or sets the element at the specified index. + The element at the specified index. + The zero-based index of the element to get or set. + + is not a valid index in the . + The member is set and the is read-only. + + + Returns an enumerator that iterates through the collection. + A that can be used to iterate through the collection. + 1 + + + Returns an enumerator that iterates through a collection. + An object that can be used to iterate through the collection. + 2 + + + Adds an item to the . + The object to add to the . + The is read-only. + + + Removes all items from the . + The is read-only. + + + Determines whether the contains a specific value. + true if is found in the ; otherwise, false. + The object to locate in the . + + + Copies the elements of the to an , starting at a particular index. + The one-dimensional that is the destination of the elements copied from . The must have zero-based indexing. + The zero-based index in at which copying begins. + + is null. + + is less than 0. + The number of elements in the source is greater than the available space from to the end of the destination . + + + Removes the first occurrence of a specific object from the . + true if was successfully removed from the ; otherwise, false. This method also returns false if is not found in the original . + The object to remove from the . + The is read-only. + + + Determines the index of a specific item in the . + The index of if found in the list; otherwise, -1. + The object to locate in the . + + + Inserts an item to the at the specified index. + The zero-based index at which should be inserted. + The object to insert into the . + + is not a valid index in the . + The is read-only. + + + Removes the item at the specified index. + The zero-based index of the item to remove. + + is not a valid index in the . + The is read-only. + + + + Finds the using the given member expression. + + The the member is on. + The member expression. + The for the given expression, or null if not found. + + + + Finds the using the given member. + + The member. + The for the given expression, or null if not found. + + + + The configuration data for the reference map. + + + + + Gets or sets the header prefix to use. + + + + + Gets the that the data + is associated with. + + + + + Gets the mapping this is a reference for. + + + + + Initializes a new instance of the class. + + The member. + The mapping this is a reference for. + + + + Flags for the type of members that + can be used for auto mapping. + + + + + No members. This is not a valid value + and will cause an exception if used. + + + + + Properties on a class. + + + + + Fields on a class. + + + + + Types of new lines. + + + + + Windows line feed. + + + + + Classic MAC + + + + + Unix + + + + + Use the setting. + + + + + New line constants. + + + + + Windows line feed. + + + + + Class MAC line feed. + + + + + Unix line feed. + + + + + Mapping for a constructor parameter. + This may contain value type data, a constructor type map, + or a reference map, depending on the type of the parameter. + + + + + Gets the parameter map data. + + + + + Gets or sets the map for a constructor type. + + + + + Gets or sets the map for a reference type. + + + + + Creates an instance of using + the given information. + + The parameter being mapped. + + + + The constructor parameter data for the map. + + + + + Gets the that the data + is associated with. + + + + + Gets or sets the type converter. + + + + + Gets or sets the type converter options. + + + + + Gets or sets the column index. + + + + + Gets or sets the column name. + + + + + Initializes a new instance of the class. + + The constructor parameter. + + + + Mapping info for a reference parameter mapping to a class. + + + + + Gets the parameter reference map data. + + + + + Initializes a new instance of the class. + + The parameter. + The to use for the reference map. + + + + Appends a prefix to the header of each field of the reference parameter. + + The prefix to be prepended to headers of each reference parameter. + The current + + + + Get the largest index for the + members and references. + + The max index. + + + + The configuration data for the reference map. + + + + + Gets or sets the header prefix to use. + + + + + Gets the that the data + is associated with. + + + + + Gets the mapping this is a reference for. + + + + + Initializes a new instance of the class. + + The parameter. + The mapping this is a reference for. + + + + Options for trimming of fields. + + + + + No trimming. + + + + + Trims the whitespace around a field. + + + + + Trims the whitespace inside of quotes around a field. + + + + + Provides a means of reading a CSV file forward-only by using CsvReader. + + + + + + Gets the column with the specified index. + + + The . + + The i. + + + + + Gets the column with the specified name. + + + The . + + The name. + + + + + Gets a value indicating the depth of nesting for the current row. + + + + + 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. + + + + + Gets the number of columns in the current row. + + + + + Initializes a new instance of the class. + + The CSV. + + + + Closes the Object. + + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + Gets the value of the specified column as a Boolean. + + The zero-based column ordinal. + + The value of the column. + + + + + Gets the 8-bit unsigned integer value of the specified column. + + The zero-based column ordinal. + + The 8-bit unsigned integer value of the specified column. + + + + + Reads a stream of bytes from the specified column offset into the buffer as an array, starting at the given buffer offset. + + The zero-based column ordinal. + The index within the field from which to start the read operation. + The buffer into which to read the stream of bytes. + The index for buffer to start the read operation. + The number of bytes to read. + + The actual number of bytes read. + + + + + Gets the character value of the specified column. + + The zero-based column ordinal. + + The character value of the specified column. + + + + + Reads a stream of characters from the specified column offset into the buffer as an array, starting at the given buffer offset. + + The zero-based column ordinal. + The index within the row from which to start the read operation. + The buffer into which to read the stream of bytes. + The index for buffer to start the read operation. + The number of bytes to read. + + The actual number of characters read. + + + + + Returns an for the specified column ordinal. + + The index of the field to find. + + The for the specified column ordinal. + + + + + Gets the data type information for the specified field. + + The index of the field to find. + + The data type information for the specified field. + + + + + Gets the date and time data value of the specified field. + + The index of the field to find. + + The date and time data value of the specified field. + + + + + Gets the fixed-position numeric value of the specified field. + + The index of the field to find. + + The fixed-position numeric value of the specified field. + + + + + Gets the double-precision floating point number of the specified field. + + The index of the field to find. + + The double-precision floating point number of the specified field. + + + + + Gets the information corresponding to the type of that would be returned from . + + The index of the field to find. + + The information corresponding to the type of that would be returned from . + + + + + Gets the single-precision floating point number of the specified field. + + The index of the field to find. + + The single-precision floating point number of the specified field. + + + + + Returns the GUID value of the specified field. + + The index of the field to find. + + The GUID value of the specified field. + + + + + Gets the 16-bit signed integer value of the specified field. + + The index of the field to find. + + The 16-bit signed integer value of the specified field. + + + + + Gets the 32-bit signed integer value of the specified field. + + The index of the field to find. + + The 32-bit signed integer value of the specified field. + + + + + Gets the 64-bit signed integer value of the specified field. + + The index of the field to find. + + The 64-bit signed integer value of the specified field. + + + + + Gets the name for the field to find. + + The index of the field to find. + + The name of the field or the empty string (""), if there is no value to return. + + + + + Return the index of the named field. + + The name of the field to find. + + The index of the named field. + + + + + Returns a that describes the column metadata of the . + + + A that describes the column metadata. + + + + + Gets the string value of the specified field. + + The index of the field to find. + + The string value of the specified field. + + + + + Return the value of the specified field. + + The index of the field to find. + + The which will contain the field value upon return. + + + + + Populates an array of objects with the column values of the current record. + + An array of to copy the attribute fields into. + + The number of instances of in the array. + + + + + Return whether the specified field is set to null. + + The index of the field to find. + + true if the specified field is set to null; otherwise, false. + + + + + Advances the data reader to the next result, when reading the results of batch SQL statements. + + + true if there are more rows; otherwise, false. + + + + + Advances the to the next record. + + + true if there are more rows; otherwise, false. + + + + + Reads fields from a . + + + + + Gets the reading context. + + + + + Gets a value indicating if the buffer is empty. + True if the buffer is empty, otherwise false. + + + + + Fills the buffer. + + True if there is more data left. + False if all the data has been read. + + + + Fills the buffer. + + True if there is more data left. + False if all the data has been read. + + + + Creates a new using the given + and . + + The text reader. + The configuration. + + + + Creates a new using the given + , + and leaveOpen flag. + + The text reader. + The configuration. + A value indicating if the should be left open when disposing. + + + + Gets the next char as an . + + + + + Gets the field. This will append any reading progress. + + The current field. + + + + Appends the current reading progress. + + + + + Move's the buffer position according to the given offset. + + The offset to move the buffer. + + + + Sets the start of the field to the current buffer position. + + An offset for the field start. + The offset should be less than 1. + + + + Sets the end of the field to the current buffer position. + + An offset for the field start. + The offset should be less than 1. + + + + Sets the raw record start to the current buffer position; + + An offset for the raw record start. + The offset should be less than 1. + + + + Sets the raw record end to the current buffer position. + + An offset for the raw record end. + The offset should be less than 1. + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + 2 + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + True if the instance needs to be disposed of. + + + + Represents errors that occur in CsvHelper. + + + + + Gets the context used when reading. + + + + + Gets the context used when writing. + + + + + Initializes a new instance of the CsvHelperException class. + + + + + Initializes a new instance of the CsvHelperException class. + + The message that describes the error. + + + + Initializes a new instance of the CsvHelperException class. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The reading context. + The message that describes the error. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that + is the cause of this exception. + + The reading context. + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Initializes a new instance of the class + with a specified error message. + + The writing context. + The message that describes the error. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that + is the cause of this exception. + + The writing context. + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Parses a CSV file. + + + + + Gets the reading context. + + + + + Gets the configuration. + + + + + Gets the . + + + + + Creates a new parser using the given . + + The with the CSV file data. + The culture. + + + + Creates a new parser using the given . + + The with the CSV file data. + The culture. + true to leave the reader open after the CsvReader object is disposed, otherwise false. + + + + Creates a new parser using the given and . + + The with the CSV file data. + The configuration. + + + + Creates a new parser using the given and . + + The with the CSV file data. + The configuration. + true to leave the reader open after the CsvReader object is disposed, otherwise false. + + + + Creates a new parser using the given . + + The field reader. + + + + Reads a record from the CSV file. + + A of fields for the record read. + + + + Reads a record from the CSV file asynchronously. + + A of fields for the record read. + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + 2 + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + True if the instance needs to be disposed of. + + + + Reads a line of the CSV file. + + The CSV line. + + + + Reads a line of the CSV file. + + The CSV line. + + + + Reads a blank line. This accounts for empty lines + and commented out lines. + + + + + Reads a blank line. This accounts for empty lines + and commented out lines. + + + + + Reads until a delimiter or line ending is found. + + True if the end of the line was found, otherwise false. + + + + Reads until a delimiter or line ending is found. + + True if the end of the line was found, otherwise false. + + + + Reads until the field is not quoted and a delimiter is found. + + True if the end of the line was found, otherwise false. + + + + Reads until the field is not quoted and a delimiter is found. + + True if the end of the line was found, otherwise false. + + + + Reads until the delimiter is done. + + True if a delimiter was read. False if the sequence of + chars ended up not being the delimiter. + + + + Reads until the delimiter is done. + + True if a delimiter was read. False if the sequence of + chars ended up not being the delimiter. + + + + Reads until the line ending is done. + + The field start offset. + + + + Reads until the line ending is done. + + The field start offset. + + + + Reads until a non-space character is found. + + True if there is more data to read. + False if the end of the file has been reached. + + + + Reads until a non-space character is found. + + True if there is more data to read. + False if the end of the file has been reached. + + + + Reads data that was parsed from . + + + + + Gets the reading context. + + + + + Gets the configuration. + + + + + Gets the parser. + + + + + Creates a new CSV reader using the given . + + The reader. + The culture. + + + + Creates a new CSV reader using the given . + + The reader. + The culture. + true to leave the reader open after the CsvReader object is disposed, otherwise false. + + + + Creates a new CSV reader using the given and + and as the default parser. + + The reader. + The configuration. + + + + Creates a new CSV reader using the given . + + The reader. + The configuration. + true to leave the reader open after the CsvReader object is disposed, otherwise false. + + + + Creates a new CSV reader using the given . + + The used to parse the CSV file. + + + + Reads the header record without reading the first row. + + True if there are more records, otherwise false. + + + + Validates the header. A header is bad if all the mapped members don't match. + If the header is not valid, a will be thrown. + + The type to validate the header against. + + + + Validates the header. A header is bad if all the mapped members don't match. + If the header is not valid, a will be thrown. + + The type to validate the header against. + + + + Validates the header against the given map. + + The map to validate against. + + + + Advances the reader to the next record. This will not read headers. + You need to call then + for the headers to be read. + + True if there are more records, otherwise false. + + + + Advances the reader to the next record. This will not read headers. + You need to call then + for the headers to be read. + + True if there are more records, otherwise false. + + + + Gets the raw field at position (column) index. + + The zero based index of the field. + The raw field. + + + + Gets the raw field at position (column) name. + + The named index of the field. + The raw field. + + + + Gets the raw field at position (column) name. + + The named index of the field. + The zero based index of the field. + The raw field. + + + + Gets the raw field at position (column) index. + + The zero based index of the field. + The raw field. + + + + Gets the raw field at position (column) name. + + The named index of the field. + The raw field. + + + + Gets the raw field at position (column) name and the index + instance of that field. The index is used when there are + multiple columns with the same header name. + + The named index of the field. + The zero based index of the instance of the field. + The raw field. + + + + Gets the field converted to using + the specified . + + The type of the field. + The index of the field. + The field converted to . + + + + Gets the field converted to using + the specified . + + The type of the field. + The named index of the field. + The field converted to . + + + + Gets the field converted to using + the specified . + + The type of the field. + The named index of the field. + The zero based index of the instance of the field. + The field converted to . + + + + Gets the field converted to using + the specified . + + The type of the field. + The index of the field. + The used to convert the field to . + The field converted to . + + + + Gets the field converted to using + the specified . + + The type of the field. + The named index of the field. + The used to convert the field to . + The field converted to . + + + + Gets the field converted to using + the specified . + + The type of the field. + The named index of the field. + The zero based index of the instance of the field. + The used to convert the field to . + The field converted to . + + + + Gets the field converted to T at position (column) index. + + The of the field. + The zero based index of the field. + The field converted to T. + + + + Gets the field converted to T at position (column) name. + + The of the field. + The named index of the field. + The field converted to T. + + + + Gets the field converted to T at position + (column) name and the index instance of that field. The index + is used when there are multiple columns with the same header name. + + + The named index of the field. + The zero based index of the instance of the field. + + + + + Gets the field converted to T at position (column) index using + the given . + + The of the field. + The zero based index of the field. + The used to convert the field to T. + The field converted to T. + + + + Gets the field converted to T at position (column) name using + the given . + + The of the field. + The named index of the field. + The used to convert the field to T. + The field converted to T. + + + + Gets the field converted to T at position + (column) name and the index instance of that field. The index + is used when there are multiple columns with the same header name. + + + The named index of the field. + The zero based index of the instance of the field. + The used to convert the field to T. + The field converted to T. + + + + Gets the field converted to T at position (column) index using + the given . + + The of the field. + The used to convert the field to T. + The zero based index of the field. + The field converted to T. + + + + Gets the field converted to T at position (column) name using + the given . + + The of the field. + The used to convert the field to T. + The named index of the field. + The field converted to T. + + + + Gets the field converted to T at position + (column) name and the index instance of that field. The index + is used when there are multiple columns with the same header name. + + The of the field. + The used to convert the field to T. + The named index of the field. + The zero based index of the instance of the field. + The field converted to T. + + + + Gets the field converted to T at position (column) index. + + The of the field. + The zero based index of the field. + The field converted to type T. + A value indicating if the get was successful. + + + + Gets the field converted to T at position (column) name. + + The of the field. + The named index of the field. + The field converted to T. + A value indicating if the get was successful. + + + + Gets the field converted to T at position + (column) name and the index instance of that field. The index + is used when there are multiple columns with the same header name. + + The of the field. + The named index of the field. + The zero based index of the instance of the field. + The field converted to T. + A value indicating if the get was successful. + + + + Gets the field converted to T at position (column) index + using the specified . + + The of the field. + The zero based index of the field. + The used to convert the field to T. + The field converted to T. + A value indicating if the get was successful. + + + + Gets the field converted to T at position (column) name + using the specified . + + The of the field. + The named index of the field. + The used to convert the field to T. + The field converted to T. + A value indicating if the get was successful. + + + + Gets the field converted to T at position (column) name + using the specified . + + The of the field. + The named index of the field. + The zero based index of the instance of the field. + The used to convert the field to T. + The field converted to T. + A value indicating if the get was successful. + + + + Gets the field converted to T at position (column) index. + + The of the field. + The zero based index of the field. + The field converted to type T. + A value indicating if the get was successful. + + + + Gets the field converted to T at position (column) name. + + The of the field. + The named index of the field. + The field converted to T. + A value indicating if the get was successful. + + + + Gets the field converted to T at position + (column) name and the index instance of that field. The index + is used when there are multiple columns with the same header name. + + + The named index of the field. + The zero based index of the instance of the field. + The field converted to T. + A value indicating if the get was successful. + + + + Gets the field converted to T at position (column) index + using the specified . + + The of the field. + The zero based index of the field. + The used to convert the field to T. + The field converted to T. + A value indicating if the get was successful. + + + + Gets the field converted to T at position (column) name + using the specified . + + The of the field. + The named index of the field. + The used to convert the field to T. + The field converted to T. + A value indicating if the get was successful. + + + + Gets the field converted to T at position (column) name + using the specified . + + The of the field. + The named index of the field. + The zero based index of the instance of the field. + The used to convert the field to T. + The field converted to T. + A value indicating if the get was successful. + + + + Gets the field converted to T at position (column) index + using the specified . + + The of the field. + The used to convert the field to T. + The zero based index of the field. + The field converted to T. + A value indicating if the get was successful. + + + + Gets the field converted to T at position (column) name + using the specified . + + The of the field. + The used to convert the field to T. + The named index of the field. + The field converted to T. + A value indicating if the get was successful. + + + + Gets the field converted to T at position (column) name + using the specified . + + The of the field. + The used to convert the field to T. + The named index of the field. + The zero based index of the instance of the field. + The field converted to T. + A value indicating if the get was successful. + + + + Gets the record converted into T. + + The of the record. + The record converted to T. + + + + Get the record converted into T. + + The of the record. + The anonymous type definition to use for the record. + The record converted to T. + + + + Gets the record. + + The of the record. + The record. + + + + Gets all the records in the CSV file and + converts each to T. The Read method + should not be used when using this. + + The of the record. + An of records. + + + + Gets all the records in the CSV file and converts + each to T. The read method + should not be used when using this. + + The of the record. + The anonymous type definition to use for the records. + An of records. + + + + Gets all the records in the CSV file and + converts each to T. The Read method + should not be used when using this. + + The of the record. + An of records. + + + + Enumerates the records hydrating the given record instance with row data. + The record instance is re-used and not cleared on each enumeration. + This only works for streaming rows. If any methods are called on the projection + that force the evaluation of the IEnumerable, such as ToList(), the entire list + will contain the same instance of the record, which is the last row. + + The type of the record. + The record to fill each enumeration. + An of records. + + + + Gets the index of the field at name if found. + + The name of the field to get the index for. + The index of the field if there are multiple fields with the same name. + A value indicating if the call was initiated from a TryGet. + The index of the field if found, otherwise -1. + Thrown if there is no header record. + Thrown if there isn't a field with name. + + + + Gets the index of the field at name if found. + + The possible names of the field to get the index for. + The index of the field if there are multiple fields with the same name. + A value indicating if the call was initiated from a TryGet. + A value indicating if the call was initiated for an optional field. + The index of the field if found, otherwise -1. + Thrown if there is no header record. + Thrown if there isn't a field with name. + + + + Determines if the member for the + can be read. + + The member map. + A value indicating of the member can be read. True if it can, otherwise false. + + + + Determines if the member for the + can be read. + + The reference map. + A value indicating of the member can be read. True if it can, otherwise false. + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + 2 + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + True if the instance needs to be disposed of. + + + + Checks if the reader has been read yet. + + + + + + Parses the named indexes from the header record. + + + + + Defines methods used to serialize data into a CSV file. + + + + + Gets the writing context. + + + + + Gets the configuration. + + + + + Creates a new serializer using the given . + + The to write the CSV file data to. + The culture information. + + + + Creates a new serializer using the given . + + The to write the CSV file data to. + The culture information. + true to leave the reader open after the CsvReader object is disposed, otherwise false. + + + + Creates a new serializer using the given + and . + + The to write the CSV file data to. + The configuration. + + + + Creates a new serializer using the given + and . + + The to write the CSV file data to. + The configuration. + true to leave the reader open after the CsvReader object is disposed, otherwise false. + + + + Writes a record to the CSV file. + + The record to write. + + + + Writes a record to the CSV file. + + The record to write. + + + + Writes a new line to the CSV file. + + + + + Writes a new line to the CSV file. + + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + 2 + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + True if the instance needs to be disposed of. + + + + Sanitizes the field to prevent injection. + + The field to sanitize. + + + + Used to write CSV files. + + + + + Gets the writing context. + + + + + Gets the configuration. + + + + + Creates a new CSV writer using the given . + + The writer used to write the CSV file. + The culture information. + + + + Creates a new CSV writer using the given . + + The writer used to write the CSV file. + The culture information. + true to leave the writer open after the CsvWriter object is disposed, otherwise false. + + + + Creates a new CSV writer using the given . + + The use to write the CSV file. + The configuration. + + + + Creates a new CSV writer using the given . + + The use to write the CSV file. + The configuration. + true to leave the writer open after the CsvWriter object is disposed, otherwise false. + + + + Creates a new CSV writer using the given . + + The serializer. + + + + Writes a field that has already been converted to a + from an . + If the field is null, it won't get written. A type converter + will always return a string, even if field is null. If the + converter returns a null, it means that the converter has already + written data, and the returned value should not be written. + + The converted field to write. + + + + Writes the field to the CSV file. The field + may get quotes added to it. + When all fields are written for a record, + must be called + to complete writing of the current record. + + The field to write. + + + + Writes the field to the CSV file. This will + ignore any need to quote and ignore + + and just quote based on the shouldQuote + parameter. + When all fields are written for a record, + must be called + to complete writing of the current record. + + The field to write. + True to quote the field, otherwise false. + + + + Writes the field to the CSV file. + When all fields are written for a record, + must be called + to complete writing of the current record. + + The type of the field. + The field to write. + + + + Writes the field to the CSV file. + When all fields are written for a record, + must be called + to complete writing of the current record. + + The type of the field. + The field to write. + The converter used to convert the field into a string. + + + + Writes the field to the CSV file + using the given . + When all fields are written for a record, + must be called + to complete writing of the current record. + + The type of the field. + The type of the converter. + The field to write. + + + + Serializes the row to the . + + + + + Serializes the row to the . + + + + + Ends writing of the current record and starts a new record. + This automatically flushes the writer. + + + + + Ends writing of the current record and starts a new record. + This automatically flushes the writer. + + + + + Writes a comment. + + The comment to write. + + + + Writes the header record from the given members. + + The type of the record. + + + + Writes the header record from the given members. + + The type of the record. + + + + Writes the header record for the given dynamic object. + + The dynamic record to write. + + + + Writes the record to the CSV file. + + The type of the record. + The record to write. + + + + Writes the list of records to the CSV file. + + The records to write. + + + + Writes the list of records to the CSV file. + + Record type. + The records to write. + + + + Writes the list of records to the CSV file. + + The records to write. + + + + Writes the list of records to the CSV file. + + Record type. + The records to write. + + + + Checks if the member can be written. + + The member map that we are checking. + A value indicating if the member can be written. + True if the member can be written, otherwise false. + + + + Gets the type for the record. If the generic type + is an object due to boxing, it will call GetType() + on the record itself. + + The record type. + The record. + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + 2 + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + True if the instance needs to be disposed of. + + + + Creates dynamic records. + + + + + Initializes a new instance. + + The reader. + + + + Creates a of type + that will create a record of the given type using the current + reader row. + + The record type. + + + + Creates a dynamic record of the current reader row. + + + + + Write dynamic records. + + + + + Initializes a new instance using the given writer. + + The writer. + + + + Creates a of type + that will write the given record using the current writer row. + + The record type. + The record. + + + + Writes expando objects. + + + + + Initializes a new instance using the given writer. + + The writer. + + + + Creates a of type + that will write the given record using the current writer row. + + The record type. + The record. + + + + Manages expression creation. + + + + + Initializes a new instance using the given reader. + + The reader. + + + + Initializes a new instance using the given writer. + + The writer. + + + + Creates the constructor arguments used to create a type. + + The mapping to create the arguments for. + The arguments that will be added to the mapping. + + + + Creates the member assignments for the given . + + The mapping to create the assignments for. + The assignments that will be added to from the mapping. + + + + Creates an expression the represents getting the field for the given + member and converting it to the member's type. + + The mapping for the member. + + + + Creates a member expression for the given member on the record. + This will recursively traverse the mapping to find the member + and create a safe member accessor for each level as it goes. + + The current member expression. + The mapping to look for the member to map on. + The member map to look for on the mapping. + An Expression to access the given member. + + + + Creates an instance of the given type using (in turn using the ObjectResolver), then assigns + the given member assignments to that instance. + + The type of the record we're creating. + The member assignments that will be assigned to the created instance. + A representing the instance creation and assignments. + + + + Creates an expression that converts the field expression using a type converter. + + The mapping for the member. + The field expression. + + + + Creates an default expression if field expression is empty. + + The mapping for the member. + The field expression. + + + + Creates objects. + + + + + Initializes a new instance using the given reader. + + + + + + Creates a of type + that will create a record of the given type using the current + reader row. + + The record type. + + + + Writes objects. + + + + + Initializes a new instance using the given writer. + + The writer. + + + + Creates a of type + that will write the given record using the current writer row. + + The record type. + The record. + + + + Creates primitive records. + + + + + Initializes a new instance using the given reader. + + The reader. + + + + Creates a of type + that will create a record of the given type using the current + reader row. + + The record type. + + + + Writes primitives. + + + + + Initializes a new instance using the given writer. + + The writer. + + + + Creates a of type + that will write the given record using the current writer row. + + The record type. + The record. + + + + Base implementation for classes that create records. + + + + + The reader. + + + + + The expression manager. + + + + + Initializes a new instance using the given reader. + + The reader. + + + + Create a record of the given type using the current row. + + The record type. + + + + Create a record of the given type using the current row. + + The record type. + + + + Gets the delegate to create a record for the given record type. + If the delegate doesn't exist, one will be created and cached. + + The record type. + + + + Creates a of type + that will create a record of the given type using the current + reader row. + + The record type. + + + + Factory to create record creators. + + + + + Initializes a new instance using the given reader. + + The reader. + + + + Creates a record creator for the given record type. + + The record type. + + + + Hydrates members of an existing record. + + + + + Creates a new instance using the given reader. + + The reader. + + + + Hydrates members of the given record using the current reader row. + + The record type. + The record. + + + + Gets the action delegate used to hydrate a custom class object's members with data from the reader. + + The record type. + + + + Creates the action delegate used to hydrate a record's members with data from the reader. + + The record type. + + + + Manages record manipulation. + + + + + Initializes a new instance using the given reader. + + + + + + Initializes a new instance using the given writer. + + The writer. + + + + Creates a record of the given type using the current reader row. + + The type of record to create. + + + + Creates a record of the given type using the current reader row. + + The type of record to create. + + + + Hydrates the given record using the current reader row. + + The type of the record. + The record to hydrate. + + + + Writes the given record to the current writer row. + + The type of the record. + The record. + + + + Base implementation for classes that write records. + + + + + Gets the writer. + + + + + The expression manager. + + + + + Initializes a new instance using the given writer. + + The writer. + + + + Writes the record to the current row. + + Type of the record. + The record. + + + + Gets the delegate to write the given record. + If the delegate doesn't exist, one will be created and cached. + + The record type. + The record. + + + + Creates a of type + that will write the given record using the current writer row. + + The record type. + The record. + + + + Combines the delegates into a single multicast delegate. + This is needed because Silverlight doesn't have the + Delegate.Combine( params Delegate[] ) overload. + + The delegates to combine. + A multicast delegate combined from the given delegates. + + + + Factory to create record writers. + + + + + Initializes a new instance using the given writer. + + The writer. + + + + Creates a new record writer for the given record. + + The type of the record. + The record. + + + + Creates CsvHelper classes. + + + + + Creates an . + + The text reader to use for the csv parser. + The configuration to use for the csv parser. + The created parser. + + + + Creates an . + + The text reader to use for the csv parser. + The culture information. + + The created parser. + + + + + Creates an . + + The text reader to use for the csv reader. + The configuration to use for the reader. + The created reader. + + + + Creates an . + + The text reader to use for the csv reader. + The culture information. + + The created reader. + + + + + Creates an . + + The parser used to create the reader. + The created reader. + + + + Creates an . + + The text writer to use for the csv writer. + The configuration to use for the writer. + The created writer. + + + + Creates an . + + The text writer to use for the csv writer. + The culture information. + + The created writer. + + + + + Access point for fluent interface to dynamically build a + + Type you will be making a class map for + Options to further configure the + + + + Represents a user supplied field validation failure. + + + + + Gets the field that failed validation. + + + + + Initializes a new instance of the class. + + The reading context. + The field that failed validation. + + + + Initializes a new instance of the class + with a specified error message. + + The reading context. + The field that failed validation. + The message that describes the error. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that + is the cause of this exception. + + The reading context. + The field that failed validation. + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Represents a header validation failure. + + + + + Gets the header names that are mapped to a CSV field that couldn't be found. + + + + + Gets the header name index that is mapped to a CSV field that couldn't be found. + The index is used when a CSV header has multiple header names with the same value. + + + + + Initializes a new instance of the class. + + The reading context. + The header names that are mapped to a CSV field that couldn't be found. + The header name index that is mapped to a CSV field that couldn't be found. + + + + Initializes a new instance of the class + with a specified error message. + + The reading context. + The header names that are mapped to a CSV field that couldn't be found. + The header name index that is mapped to a CSV field that couldn't be found. + The message that describes the error. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that + is the cause of this exception. + + The reading context. + The header names that are mapped to a CSV field that couldn't be found. + The header name index that is mapped to a CSV field that couldn't be found. + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Defines methods used to create + CsvHelper classes. + + + + + Creates an . + + The text reader to use for the csv parser. + The configuration to use for the csv parser. + The created parser. + + + + Creates an . + + The text reader to use for the csv parser. + The culture information. + + The created parser. + + + + + Creates an . + + The text reader to use for the csv reader. + The configuration to use for the reader. + The created reader. + + + + Creates an . + + The text reader to use for the csv reader. + The culture information. + + The created reader. + + + + + Creates an . + + The parser used to create the reader. + The created reader. + + + + Creates an . + + The text writer to use for the csv writer. + The configuration to use for the writer. + The created writer. + + + + Creates an . + + The text writer to use for the csv writer. + The culture information. + + The created writer. + + + + + Provides a fluent interface for dynamically creating s + + Type of class to map + Next available options + + + + Defines methods used to read a field in a CSV file. + + + + + Gets the reading context. + + + + + Gets a value indicating if the buffer is empty. + True if the buffer is empty, otherwise false. + + + + + Fills the buffer. + + True if there is more data left. + False if all the data has been read. + + + + Fills the buffer asynchronously. + + True if there is more data left. + False if all the data has been read. + + + + Gets the next char as an . + + + + + Gets the field. This will append any reading progress. + + The current field. + + + + Appends the current reading progress. + + + + + Move's the buffer position according to the given offset. + + The offset to move the buffer. + + + + Sets the start of the field to the current buffer position. + + An offset for the field start. + The offset should be less than 1. + + + + Sets the end of the field to the current buffer position. + + An offset for the field start. + The offset should be less than 1. + + + + Sets the raw record start to the current buffer position; + + An offset for the raw record start. + The offset should be less than 1. + + + + Sets the raw record end to the current buffer position. + + An offset for the raw record end. + The offset should be less than 1. + + + + Defines the functionality of a class that creates objects + from a given type. + + + + + A value indicating if the resolver's + returns false that an object will still be created using + CsvHelper's object creation. True to fallback, otherwise false. + Default value is true. + + + + + A value indicating if the resolver is able to resolve + the given type. True if the type can be resolved, + otherwise false. + + + + + The function that creates an object from a given type. + + + + + Creates an object from the given type using the + function. If is false, the object will be + created using CsvHelper's default object creation. If + is false, an exception is thrown. + + The type to create an instance from. The created object + may not be the same type as the given type. + Constructor arguments used to create the type. + + + + Creates an object from the given type using the + function. If is false, the object will be + created using CsvHelper's default object creation. If + is false, an exception is thrown. + + The type to create an instance from. The created object + may not be the same type as the given type. + Constructor arguments used to create the type. + + + + Defines methods used the parse a CSV file. + + + + + Gets the reading context. + + + + + Gets the configuration. + + + + + Gets the . + + + + + Reads a record from the CSV file. + + A of fields for the record read. + + + + Reads a record from the CSV file asynchronously. + + A of fields for the record read. + + + + Defines methods used to read parsed data + from a CSV file. + + + + + Gets the parser. + + + + + Reads the header record without reading the first row. + + True if there are more records, otherwise false. + + + + Advances the reader to the next record. This will not read headers. + You need to call then + for the headers to be read. + + True if there are more records, otherwise false. + + + + Advances the reader to the next record. This will not read headers. + You need to call then + for the headers to be read. + + True if there are more records, otherwise false. + + + + Gets all the records in the CSV file and + converts each to T. The Read method + should not be used when using this. + + The of the record. + An of records. + + + + Gets all the records in the CSV file and converts + each to T. The read method + should not be used when using this. + + The of the record. + The anonymous type definition to use for the records. + An of records. + + + + Gets all the records in the CSV file and + converts each to T. The Read method + should not be used when using this. + + The of the record. + An of records. + + + + Enumerates the records hydrating the given record instance with row data. + The record instance is re-used and not cleared on each enumeration. + This only works for streaming rows. If any methods are called on the projection + that force the evaluation of the IEnumerable, such as ToList(), the entire list + will contain the same instance of the record, which is the last row. + + The type of the record. + The record to fill each enumeration. + An of records. + + + + Defines methods used to read parsed data + from a CSV file row. + + + + + Gets the reading context. + + + + + Gets or sets the configuration. + + + + + Gets the raw field at position (column) index. + + The zero based index of the field. + The raw field. + + + + Gets the raw field at position (column) name. + + The named index of the field. + The raw field. + + + + Gets the raw field at position (column) name. + + The named index of the field. + The zero based index of the field. + The raw field. + + + + Gets the raw field at position (column) index. + + The zero based index of the field. + The raw field. + + + + Gets the raw field at position (column) name. + + The named index of the field. + The raw field. + + + + Gets the raw field at position (column) name and the index + instance of that field. The index is used when there are + multiple columns with the same header name. + + The named index of the field. + The zero based index of the instance of the field. + The raw field. + + + + Gets the field converted to using + the specified . + + The type of the field. + The index of the field. + The field converted to . + + + + Gets the field converted to using + the specified . + + The type of the field. + The named index of the field. + The field converted to . + + + + Gets the field converted to using + the specified . + + The type of the field. + The named index of the field. + The zero based index of the instance of the field. + The field converted to . + + + + Gets the field converted to using + the specified . + + The type of the field. + The index of the field. + The used to convert the field to . + The field converted to . + + + + Gets the field converted to using + the specified . + + The type of the field. + The named index of the field. + The used to convert the field to . + The field converted to . + + + + Gets the field converted to using + the specified . + + The type of the field. + The named index of the field. + The zero based index of the instance of the field. + The used to convert the field to . + The field converted to . + + + + Gets the field converted to T at position (column) index. + + The of the field. + The zero based index of the field. + The field converted to T. + + + + Gets the field converted to T at position (column) name. + + The of the field. + The named index of the field. + The field converted to T. + + + + Gets the field converted to T at position + (column) name and the index instance of that field. The index + is used when there are multiple columns with the same header name. + + + The named index of the field. + The zero based index of the instance of the field. + + + + + Gets the field converted to T at position (column) index using + the given . + + The of the field. + The zero based index of the field. + The used to convert the field to T. + The field converted to T. + + + + Gets the field converted to T at position (column) name using + the given . + + The of the field. + The named index of the field. + The used to convert the field to T. + The field converted to T. + + + + Gets the field converted to T at position + (column) name and the index instance of that field. The index + is used when there are multiple columns with the same header name. + + The of the field. + The named index of the field. + The zero based index of the instance of the field. + The used to convert the field to T. + The field converted to T. + + + + Gets the field converted to T at position (column) index using + the given . + + The of the field. + The used to convert the field to T. + The zero based index of the field. + The field converted to T. + + + + Gets the field converted to T at position (column) name using + the given . + + The of the field. + The used to convert the field to T. + The named index of the field. + The field converted to T. + + + + Gets the field converted to T at position + (column) name and the index instance of that field. The index + is used when there are multiple columns with the same header name. + + The of the field. + The used to convert the field to T. + The named index of the field. + The zero based index of the instance of the field. + The field converted to T. + + + + Gets the field converted to T at position (column) index. + + The of the field. + The zero based index of the field. + The field converted to type T. + A value indicating if the get was successful. + + + + Gets the field converted to T at position (column) name. + + The of the field. + The named index of the field. + The field converted to T. + A value indicating if the get was successful. + + + + Gets the field converted to T at position + (column) name and the index instance of that field. The index + is used when there are multiple columns with the same header name. + + The of the field. + The named index of the field. + The zero based index of the instance of the field. + The field converted to T. + A value indicating if the get was successful. + + + + Gets the field converted to T at position (column) index + using the specified . + + The of the field. + The zero based index of the field. + The used to convert the field to T. + The field converted to T. + A value indicating if the get was successful. + + + + Gets the field converted to T at position (column) name + using the specified . + + The of the field. + The named index of the field. + The used to convert the field to T. + The field converted to T. + A value indicating if the get was successful. + + + + Gets the field converted to T at position (column) name + using the specified . + + The of the field. + The named index of the field. + The zero based index of the instance of the field. + The used to convert the field to T. + The field converted to T. + A value indicating if the get was successful. + + + + Gets the field converted to T at position (column) index. + + The of the field. + The zero based index of the field. + The field converted to type T. + A value indicating if the get was successful. + + + + Gets the field converted to T at position (column) name. + + The of the field. + The named index of the field. + The field converted to T. + A value indicating if the get was successful. + + + + Gets the field converted to T at position + (column) name and the index instance of that field. The index + is used when there are multiple columns with the same header name. + + + The named index of the field. + The zero based index of the instance of the field. + The field converted to T. + A value indicating if the get was successful. + + + + Gets the field converted to T at position (column) index + using the specified . + + The of the field. + The zero based index of the field. + The used to convert the field to T. + The field converted to T. + A value indicating if the get was successful. + + + + Gets the field converted to T at position (column) name + using the specified . + + The of the field. + The named index of the field. + The used to convert the field to T. + The field converted to T. + A value indicating if the get was successful. + + + + Gets the field converted to T at position (column) name + using the specified . + + The of the field. + The named index of the field. + The zero based index of the instance of the field. + The used to convert the field to T. + The field converted to T. + A value indicating if the get was successful. + + + + Gets the field converted to T at position (column) index + using the specified . + + The of the field. + The used to convert the field to T. + The zero based index of the field. + The field converted to T. + A value indicating if the get was successful. + + + + Gets the field converted to T at position (column) name + using the specified . + + The of the field. + The used to convert the field to T. + The named index of the field. + The field converted to T. + A value indicating if the get was successful. + + + + Gets the field converted to T at position (column) name + using the specified . + + The of the field. + The used to convert the field to T. + The named index of the field. + The zero based index of the instance of the field. + The field converted to T. + A value indicating if the get was successful. + + + + Gets the record converted into T. + + The of the record. + The record converted to T. + + + + Get the record converted into T. + + The of the record. + The anonymous type definition to use for the record. + The record converted to T. + + + + Gets the record. + + The of the record. + The record. + + + + Defines methods used to serialize data into a CSV file. + + + + + Gets the writing context. + + + + + Gets the configuration. + + + + + Writes a record to the CSV file. + + The record to write. + + + + Writes a record to the CSV file. + + The record to write. + + + + Writes a new line to the CSV file. + + + + + Writes a new line to the CSV file. + + + + + Defines methods used to write to a CSV file. + + + + + Serializes the row to the . + + + + + Serializes the row to the . + + + + + Ends writing of the current record and starts a new record. + This automatically flushes the writer. + + + + + Ends writing of the current record and starts a new record. + This automatically flushes the writer. + + + + + Writes the list of records to the CSV file. + + The records to write. + + + + Writes the list of records to the CSV file. + + Record type. + The records to write. + + + + Writes the list of records to the CSV file. + + The records to write. + + + + Writes the list of records to the CSV file. + + Record type. + The records to write. + + + + Defines methods used to write a CSV row. + + + + + Gets the writing context. + + + + + Gets or sets the configuration. + + + + + Writes a field that has already been converted to a + from an . + If the field is null, it won't get written. A type converter + will always return a string, even if field is null. If the + converter returns a null, it means that the converter has already + written data, and the returned value should not be written. + + The converted field to write. + + + + Writes the field to the CSV file. The field + may get quotes added to it. + When all fields are written for a record, + must be called + to complete writing of the current record. + + The field to write. + + + + Writes the field to the CSV file. This will + ignore any need to quote and ignore + + and just quote based on the shouldQuote + parameter. + When all fields are written for a record, + must be called + to complete writing of the current record. + + The field to write. + True to quote the field, otherwise false. + + + + Writes the field to the CSV file. + When all fields are written for a record, + must be called + to complete writing of the current record. + + The type of the field. + The field to write. + + + + Writes the field to the CSV file. + When all fields are written for a record, + must be called + to complete writing of the current record. + + The type of the field. + The field to write. + The converter used to convert the field into a string. + + + + Writes the field to the CSV file + using the given . + When all fields are written for a record, + must be called + to complete writing of the current record. + + The type of the field. + The type of the converter. + The field to write. + + + + Writes a comment. + + The comment to write. + + + + Writes the header record from the given members. + + The type of the record. + + + + Writes the header record from the given members. + + The type of the record. + + + + Writes the record to the CSV file. + + The type of the record. + The record to write. + + + + Represents an error caused because a field is missing + in the header while reading a CSV file. + + + + + Initializes a new instance of the class. + + The reading context. + + + + Initializes a new instance of the class + with a specified error message. + + The reading context. + The message that describes the error. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that + is the cause of this exception. + + The reading context. + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Creates objects from a given type. + + + + + Gets or sets the current resolver. + + + + + A value indicating if the resolver's + returns false that an object will still be created using + CsvHelper's object creation. True to fallback, otherwise false. + Default value is true. + + + + + A function that returns a value indicating if the resolver + is able to resolve the given type. True if the type can be + resolved, otherwise false. + + + + + The function that creates an object from a given type. + + + + + Creates an instance of the object resolver using default values. + + + + + Creates an instance of the object resolver using the given can create function + and create function. + + A function that returns a value indicating if the resolver + is able to resolve the given type. True if the type can be + resolved, otherwise false. + The function that creates an object from a given type. + A value indicating if the resolver's + returns false that an object will still be created using + CsvHelper's object creation. True to fallback, otherwise false. + Default value is true. + + + + Creates an object from the given type using the + function. If is false, the object will be + created using CsvHelper's default object creation. If + is false, an exception is thrown. + + The type to create an instance from. The created object + may not be the same type as the given type. + Constructor arguments used to create the type. + + + + Creates an object from the given type using the + function. If is false, the object will be + created using CsvHelper's default object creation. If + is false, an exception is thrown. + + The type to create an instance from. The created object + may not be the same type as the given type. + Constructor arguments used to create the type. + + + + Represents errors that occur while parsing a CSV file. + + + + + Initializes a new instance of the class. + + The reading context. + + + + Initializes a new instance of the class + with a specified error message. + + The reading context. + The message that describes the error. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that + is the cause of this exception. + + The reading context. + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Represents errors that occur while reading a CSV file. + + + + + Initializes a new instance of the class. + + The reading context. + + + + Initializes a new instance of the class + with a specified error message. + + The reading context. + The message that describes the error. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that + is the cause of this exception. + + The reading context. + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + CSV reading state. + + + + + Gets the raw record builder. + + + + + Gets the field builder. + + + + + Gets the record builder. + + + + + Gets the named indexes. + + + + + Gets the named indexes cache. + + + + + Gets the type converter options cache. + + + + + Gets the create record functions. + + + + + Gets the hydrate record actions. + + + + + Gets the reusable member map data. + + + + + Gets the that is read from. + + + + + Gets a value indicating if the + should be left open when disposing. + + + + + Gets the buffer used to store data from the . + + + + + Gets the buffer position. + + + + + Gets the field start position. + + + + + Gets the field end position. + + + + + Gets the raw record start position. + + + + + Gets the raw record end position. + + + + + Gets the number of characters read from the . + + + + + Gets the character position. + + + + + Gets the byte position. + + + + + Gets a value indicating if the field is bad. + True if the field is bad, otherwise false. + A field is bad if a quote is found in a field + that isn't escaped. + + + + + Gets the record. + + + + + Gets the row of the CSV file that the parser is currently on. + + + + + Gets the row of the CSV file that the parser is currently on. + This is the actual file row. + + + + + Gets a value indicating if reading has begun. + + + + + Gets the header record. + + + + + Gets the current index. + + + + + Gets the column count. + + + + + Gets the configuration. + + + + + Gets the configuration. + + + + + Gets all the characters of the record including + quotes, delimiters, and line endings. + + + + + Gets the field. + + + + + Initializes a new instance. + + The reader. + The configuration. + A value indicating if the TextReader should be left open when disposing. + + + + Clears the specified caches. + + The caches to clear. + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + 2 + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + True if the instance needs to be disposed of. + + + + Builds CSV records. + + + + + The number of records. + + + + + The total record capacity. + + + + + Creates a new using defaults. + + + + + Creates a new using the given capacity. + + The initial capacity. + + + + Adds a new field to the . + + The field to add. + The current instance of the . + + + + Clears the records. + + The current instance of the . + + + + Returns the record as an . + + The record as an . + + + + Extensions to help with reflection. + + + + + Gets the type from the member. + + The member to get the type from. + The type. + + + + Gets a member expression for the member. + + The member to get the expression for. + The member expression. + The member expression. + + + + Gets a value indicating if the given type is anonymous. + True for anonymous, otherwise false. + + The type. + + + + Gets a value indicating if the given type has a parameterless constructor. + True if it has a parameterless constructor, otherwise false. + + The type. + + + + Gets a value indicating if the given type has any constructors. + + The type. + + + + Gets the constructor that contains the most parameters. + + The type. + + + + Gets a value indicating if the type is a user defined struct. + True if it is a user defined struct, otherwise false. + + The type. + + + + Common reflection tasks. + + + + + Creates an instance of type T using the current . + + The type of instance to create. + The constructor arguments. + A new instance of type T. + + + + Creates an instance of the specified type using the current . + + The type of instance to create. + The constructor arguments. + A new instance of the specified type. + + + + Creates an instance of the specified type without using the + current . + + The type of instance to create. + The constructor arguments. + A new instance of the specified type. + + + + Gets the from the type where the property was declared. + + The type the property belongs to. + The property to search. + Flags for how the property is retrieved. + + + + Walk up the inheritance tree collecting properties. This will get a unique set or properties in the + case where parents have the same property names as children. + + The to get properties for. + The flags for getting the properties. + If true, parent class properties that are hidden by `new` child properties will be overwritten. + + + + Gets the property from the expression. + + The type of the model. + The type of the property. + The expression. + The for the expression. + + + + Gets the member inheritance chain as a stack. + + The type of the model. + The type of the property. + The member expression. + The inheritance chain for the given member expression as a stack. + + + + Converts an to and from a . + + + + + Converts the string to an object. + + The string to convert to an object. + The for the current record. + The for the member being created. + The object created from the string. + + + + Converts a to and from a . + + + + + Converts the object to a string. + + The object to convert to a string. + The for the current record. + The for the member being written. + The string representation of the object. + + + + Converts the string to an object. + + The string to convert to an object. + The for the current record. + The for the member being created. + The object created from the string. + + + + Converts a to and from a . + + + + + Converts the string to an object. + + The string to convert to an object. + The for the current record. + The for the member being created. + The object created from the string. + + + + Converts a to and from a . + + + + + Creates a new ByteArrayConverter using the given . + + The options. + + + + Converts the object to a string. + + The object to convert to a string. + The for the current record. + The for the member being written. + The string representation of the object. + + + + Converts the string to an object. + + The string to convert to an object. + The for the current record. + The for the member being created. + The object created from the string. + + + + Options for converting byte arrays. + + + + + No options. + + + + + Hexadecimal encoding. + + + + + Base64 encoding. + + + + + Use dashes in between hex values. + + + + + Prefix hex number with 0x. + + + + + Converts a to and from a . + + + + + Converts the string to an object. + + The string to convert to an object. + The for the current record. + The for the member being created. + The object created from the string. + + + + Converts a to and from a . + + + + + Converts the string to an object. + + The string to convert to an object. + The for the current record. + The for the member being created. + The object created from the string. + + + + Converts a to and from a . + + + + + Converts the string to an object. + + The string to convert to an object. + The for the current record. + The for the member being created. + The object created from the string. + + + + Converts a to and from a . + + + + + Converts the string to an object. + + The string to convert to an object. + The for the current record. + The for the member being created. + The object created from the string. + + + + Converts a to and from a . + + + + + Converts the string to an object. + + The string to convert to an object. + The for the current record. + The for the member being created. + The object created from the string. + + + + Converts a to and from a . + + + + + Converts the string to an object. + + The string to convert to an object. + The for the current record. + The for the member being created. + The object created from the string. + + + + Converts an to and from a . + + + + + Converts the object to a string. + + The object to convert to a string. + The for the current record. + The for the member being written. + The string representation of the object. + + + + Converts the string to an object. + + The string to convert to an object. + The for the current record. + The for the member being created. + The object created from the string. + + + + Converts a to and from a . + + + + + Converts the object to a string. + + The object to convert to a string. + The for the current record. + The for the member being written. + The string representation of the object. + + + + Converts the string to an object. + + The string to convert to an object. + The for the current record. + The for the member being created. + The object created from the string. + + + + Converts an to and from a . + + + + + Creates a new for the given . + + The type of the Enum. + + + + Converts the string to an object. + + The string to convert to an object. + The for the current record. + The for the member being created. + The object created from the string. + + + + Throws an exception when used. This is here so that it's apparent + that there is no support for type conversion. A custom + converter will need to be created to have a field convert to and + from an IEnumerable. + + + + + Throws an exception. + + The string to convert to an object. + The for the current record. + The for the member being created. + The object created from the string. + + + + Throws an exception. + + The object to convert to a string. + The for the current record. + The for the member being written. + The string representation of the object. + + + + Converts a to and from a . + + + + + Converts the string to an object. + + The string to convert to an object. + The for the current record. + The for the member being created. + The object created from the string. + + + + Converts an to and from a . + + + + + Converts the object to a string. + + The object to convert to a string. + The for the current record. + The for the member being written. + The string representation of the object. + + + + Converts the string to an object. + + The string to convert to an object. + The for the current record. + The for the member being created. + The object created from the string. + + + + Converts an to and from a . + + + + + Converts the string to an object. + + The string to convert to an object. + The for the current record. + The for the member being created. + The object created from the string. + + + + Converts an to and from a . + + + + + Converts the object to a string. + + The object to convert to a string. + + + The string representation of the object. + + + + Converts the string to an object. + + The string to convert to an object. + The for the current record. + The for the member being created. + The object created from the string. + + + + Converts an to and from a . + + + + + Converts the string to an object. + + The string to convert to an object. + The for the current record. + The for the member being created. + The object created from the string. + + + + Converts a to and from a . + + + + + Converts the string to an object. + + The string to convert to an object. + The for the current record. + The for the member being created. + The object created from the string. + + + + Converts an to and from a . + + + + + Converts the string to an object. + + The string to convert to an object. + The for the current record. + The for the member being created. + The object created from the string. + + + + Converts an to and from a . + + + + + Converts the string to an object. + + The string to convert to an object. + The for the current record. + The for the member being created. + The object created from the string. + + + + Converts objects to and from strings. + + + + + Converts the object to a string. + + The object to convert to a string. + The for the current record. + The for the member being written. + The string representation of the object. + + + + Converts the string to an object. + + The string to convert to an object. + The for the current record. + The for the member being created. + The object created from the string. + + + + Converts a to and from a . + + + + + Gets the type of the nullable. + + + The type of the nullable. + + + + + Gets the underlying type of the nullable. + + + The underlying type. + + + + + Gets the type converter for the underlying type. + + + The type converter. + + + + + Creates a new for the given . + + The nullable type. + The type converter factory. + type is not a nullable type. + + + + Converts the string to an object. + + The string to convert to an object. + The for the current record. + The for the member being created. + The object created from the string. + + + + Converts the object to a string. + + The object to convert to a string. + + + The string representation of the object. + + + + Converts a to and from a . + + + + + Converts the string to an object. + + The string to convert to an object. + The for the current record. + The for the member being created. + The object created from the string. + + + + Converts a to and from a . + + + + + Converts the object to a string. + + The object to convert to a string. + The for the current record. + The for the member being written. + The string representation of the object. + + + + Converts the string to an object. + + The string to convert to an object. + The for the current record. + The for the member being created. + The object created from the string. + + + + Converts a to and from a . + + + + + Converts the string to an object. + + The string to convert to an object. + The for the current record. + The for the member being created. + The object created from the string. + + + + Converts a to and from a . + + + + + Converts the string to an object. + + The string to convert to an object. + The for the current record. + The for the member being created. + The object created from the string. + + + + Throws an exception when used. This is here so that it's apparent + that there is no support for type conversion. A custom + converter will need to be created to have a field convert to and + from . + + + + + Throws an exception. + + The string to convert to an object. + The for the current record. + The for the member being created. + The object created from the string. + + + + Throws an exception. + + The object to convert to a string. + The for the current record. + The for the member being written. + The string representation of the object. + + + + Caches s for a given type. + + + + + Initializes the class. + + + + + Adds the for the given . + + The type the converter converts. + The type converter that converts the type. + + + + Adds the for the given . + + The type the converter converts. + The type converter that converts the type. + + + + Removes the for the given . + + The type to remove the converter for. + + + + Removes the for the given . + + The type to remove the converter for. + + + + Gets the converter for the given . + + The type to get the converter for. + The for the given . + + + + Gets the converter for the given member. If an attribute is + found on the member, that will be used, otherwise the cache + will be used. + + The member to get the converter for. + + + + Gets the converter for the given . + + The type to get the converter for. + The for the given . + + + + Represents errors that occur while reading a CSV file. + + + + + The text used in ConvertFromString. + + + + + The value used in ConvertToString. + + + + + The type converter. + + + + + The member map data used in ConvertFromString and ConvertToString. + + + + + Initializes a new instance of the class. + + The type converter. + The member map data. + The text. + The reading context. + + + + Initializes a new instance of the class. + + The type converter. + The member map data. + The value. + The writing context. + + + + Initializes a new instance of the class + with a specified error message. + + The type converter. + The member map data. + The text. + The reading context. + The message that describes the error. + + + + Initializes a new instance of the class + with a specified error message. + + The type converter. + The member map data. + The value. + The writing context. + The message that describes the error. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that + is the cause of this exception. + + The type converter. + The member map data. + The text. + The reading context. + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that + is the cause of this exception. + + The type converter. + The member map data. + The value. + The writing context. + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Options used when doing type conversion. + + + + + Gets or sets the culture info. + + + + + Gets or sets the date time style. + + + + + Gets or sets the time span style. + + + + + Gets or sets the number style. + + + + + Gets or sets the string format. + + + + + Gets or sets the . + + + + + Gets the list of values that can be + used to represent a boolean of true. + + + + + Gets the list of values that can be + used to represent a boolean of false. + + + + + Gets the list of values that can be used to represent a null value. + + + + + Merges TypeConverterOptions by applying the values of sources in order on to each other. + The first object is the source object. + + The sources that will be applied. + The updated source object. + + + + Caches for a given type. + + + + + Adds the for the given . + + The type the options are for. + The options. + + + + Adds the for the given . + + The type the options are for. + The options. + + + + Removes the for the given type. + + The type to remove the options for. + + + + Removes the for the given type. + + The type to remove the options for. + + + + Get the for the given . + + The type the options are for. + The options for the given type. + + + + Get the for the given . + + The type the options are for. + The options for the given type. + + + + Converts a to and from a . + + + + + Converts the string to an object. + + The string to convert to an object. + The for the current record. + The for the member being created. + The object created from the string. + + + + Converts a to and from a . + + + + + Converts the string to an object. + + The string to convert to an object. + The for the current record. + The for the member being created. + The object created from the string. + + + + Converts a to and from a . + + + + + Converts the string to an object. + + The string to convert to an object. + The for the current record. + The for the member being created. + The object created from the string. + + + + Converts a to and from a . + + + + + Converts the to a . + + The string to convert to an object. + The for the current record. + The for the member being created. + + The created from the string. + + + + + Represents a user supplied validation failure. + + + + + Initializes a new instance of the class. + + The reading context. + + + + Initializes a new instance of the class + with a specified error message. + + The reading context. + The message that describes the error. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that + is the cause of this exception. + + The reading context. + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Represents errors that occur while writing a CSV file. + + + + + Initializes a new instance of the class. + + The writing context. + + + + Initializes a new instance of the class + with a specified error message. + + The writing context. + The message that describes the error. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that + is the cause of this exception. + + The writing context. + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + CSV writing state. + + + + + Gets the type actions. + + + + + Gets the type converter options. + + + + + Gets or sets the reusable member map data. + + + + + Gets the writer configuration. + + + + + Gets the serializer configuration. + + + + + Gets the . + + + + + Gets a value indicating if the + should be left open when disposing. + + + + + Gets the current row. + + + + + Get the current record; + + + + + Gets a value indicating if the header has been written. + + + + + Gets a value indicating if a record has been written. + + + + + Initializes a new instance. + + The writer. + The configuration. + A value indicating if the TextWriter should be left open. + + + + Clears the specified caches. + + The caches to clear. + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + 2 + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + True if the instance needs to be disposed of. + + + diff --git a/packages/CsvHelper.15.0.5/lib/net47/CsvHelper.dll b/packages/CsvHelper.15.0.5/lib/net47/CsvHelper.dll new file mode 100644 index 0000000..5e80310 Binary files /dev/null and b/packages/CsvHelper.15.0.5/lib/net47/CsvHelper.dll differ diff --git a/packages/CsvHelper.15.0.5/lib/net47/CsvHelper.xml b/packages/CsvHelper.15.0.5/lib/net47/CsvHelper.xml new file mode 100644 index 0000000..16ec07c --- /dev/null +++ b/packages/CsvHelper.15.0.5/lib/net47/CsvHelper.xml @@ -0,0 +1,7655 @@ + + + + CsvHelper + + + + + Represents errors that occur due to bad data. + + + + + Initializes a new instance of the class. + + The reading context. + + + + Initializes a new instance of the class + with a specified error message. + + The reading context. + The message that describes the error. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that + is the cause of this exception. + + The reading context. + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Types of caches. + + + + + None. + + + + + Named index. + + + + + Delegate that creates objects when reading. + + + + + Delegate that writes objects to strings when writing. + + + + + Type converter options. + + + + + Raw record. + + + + + The string values used to represent a boolean false when converting. + + + + + Gets the false values. + + + + + The string values used to represent a boolean false when converting. + + The false values. + + + + The string values used to represent a boolean false when converting. + + The false values. + + + + Applies configuration to the given . + + The member map. + + + + The string values used to represent a boolean true when converting. + + + + + Gets the true values. + + + + + The string values used to represent a boolean true when converting. + + + + + + The string values used to represent a boolean true when converting. + + + + + + Applies configuration to the given . + + The member map. + + + + The constant value that will be used for every record when + reading and writing. This value will always be used no matter + what other mapping configurations are specified. + + + + + Gets the constant. + + + + + The constant value that will be used for every record when + reading and writing. This value will always be used no matter + what other mapping configurations are specified. + + The constant. + + + + Applies configuration to the given . + + The member map. + + + + The used when type converting. + This will override the global + setting. + + + + + Gets the culture info. + + + + + The used when type converting. + This will override the global + setting. + + The culture. + + + + Applies configuration to the given . + + The member map. + + + + The to use when type converting. + This is used when doing any conversions. + + + + + Gets the date time styles. + + + + + The to use when type converting. + This is used when doing any conversions. + + The date time styles. + + + + Applies configuration to the given . + + The member map. + + + + The default value that will be used when reading when + the CSV field is empty. + + + + + Gets the default value. + + + + + The default value that will be used when reading when + the CSV field is empty. + + The default value + + + + Applies configuration to the given . + + The member map. + + + + The string format to be used when type converting. + + + + + Gets the formats. + + + + + The string format to be used when type converting. + + The format. + + + + The string format to be used when type converting. + + The formats. + + + + Applies configuration to the given . + + The member map. + + + + Appends a prefix to the header of each field of the reference member. + + + + + Gets the prefix. + + + + + Appends a prefix to the header of each field of the reference member. + + + + + Appends a prefix to the header of each field of the reference member. + + The prefix. + + + + Applies configuration to the given . + + The reference map. + + + + Ignore the member when reading and writing. + If this member has already been mapped as a reference + member, either by a class map, or by automapping, calling + this method will not ignore all the child members down the + tree that have already been mapped. + + + + + Applies configuration to the given . + + The member map. + + + + Applies configuration to the given . + + The reference map. + + + + + Defines methods to enables pluggable configuration of member mapping. + + + + + Applies configuration to the given . + + The member map. + + + + Defines methods to enables pluggable configuration of member mapping. + + + + + Applies configuration to the given . + + The reference map. + + + + When reading, is used to get the field at + the given index. When writing, the fields + will be written in the order of the field + indexes. + + + + + Gets the index. + + + + + Gets the index end. + + + + + When reading, is used to get the field at + the given index. When writing, the fields + will be written in the order of the field + indexes. + + The index. + The index end. + + + + Applies configuration to the given . + + The member map. + + + + When reading, is used to get the field + at the index of the name if there was a + header specified. It will look for the + first name match in the order listed. + When writing, sets the name of the + field in the header record. + The first name will be used. + + + + + Gets the names. + + + + + When reading, is used to get the field + at the index of the name if there was a + header specified. It will look for the + first name match in the order listed. + When writing, sets the name of the + field in the header record. + The first name will be used. + + The name + + + + When reading, is used to get the field + at the index of the name if there was a + header specified. It will look for the + first name match in the order listed. + When writing, sets the name of the + field in the header record. + The first name will be used. + + The names. + + + + Applies configuration to the given . + + The member map. + + + + When reading, is used to get the + index of the name used when there + are multiple names that are the same. + + + + + The name index. + + + + + When reading, is used to get the + index of the name used when there + are multiple names that are the same. + + The name index. + + + + Applies configuration to the given . + + The member map. + + + + The string values used to represent null when converting. + + + + + Gets the null values. + + + + + The string values used to represent null when converting. + + The null values. + + + + The string values used to represent null when converting. + + The null values. + + + + Applies configuration to the given . + + The member map. + + + + The to use when type converting. + This is used when doing any number conversions. + + + + + Gets the number styles. + + + + + The to use when type converting. + This is used when doing any number conversions. + + The number styles. + + + + Applies configuration to the given . + + The member map. + + + + Ignore the member when reading if no matching field name can be found. + + + + + Applies configuration to the given . + + The member map. + + + + Specifies the to use + when converting the member to and from a CSV field. + + + + + Gets the type converter. + + + + + Specifies the to use + when converting the member to and from a CSV field. + + + + + + Applies configuration to the given . + + The member map. + + + + Maps class members to CSV fields. + + + + + The type of the class this map is for. + + + + + The class constructor parameter mappings. + + + + + The class member mappings. + + + + + The class member reference mappings. + + + + + Allow only internal creation of CsvClassMap. + + The type of the class this map is for. + + + + Maps a member to a CSV field. + + The type of the class this map is for. This may not be the same type + as the member.DeclaringType or the current ClassType due to nested member mappings. + The member to map. + If true, an existing map will be used if available. + If false, a new map is created for the same member. + The member mapping. + + + + Maps a non-member to a CSV field. This allows for writing + data that isn't mapped to a class member. + + The member mapping. + + + + Maps a member to another class map. + + The type of the class map. + The member. + Constructor arguments used to create the reference map. + The reference mapping for the member. + + + + Auto maps all members for the given type. If a member + is mapped again it will override the existing map. + + The culture. + + + + Auto maps all members for the given type. If a member + is mapped again it will override the existing map. + + The configuration. + + + + Get the largest index for the + members and references. + + The max index. + + + + Resets the indexes based on the given start index. + + The index start. + The last index + 1. + + + + Auto maps the given map and checks for circular references as it goes. + + The map to auto map. + The configuration. + The list of parents for the map. + The index starting point. + + + + Auto maps the given map using constructor parameters. + + The map. + The configuration. + The list of parents for the map. + The index starting point. + + + + Checks for circular references. + + The type to check for. + The list of parents to check against. + A value indicating if a circular reference was found. + True if a circular reference was found, otherwise false. + + + + Gets the generic type for this class map. + + + + + Applies attribute configurations to the map. + + The member map. + + + + Applies attribute configurations to the map. + + The reference map. + + + + Has mapping capabilities. + + The class type. + + + + Maps a member to a CSV field. + + The member to map. + If true, an existing map will be used if available. + If false, a new map is created for the same member. + The member mapping. + + + + Options after a mapping call. + + The class type. + The member type. + + + + Has type converter capabilities. + + The class type. + The member type. + + + + Specifies the to use + when converting the member to and from a CSV field. + + The TypeConverter to use. + + + + Specifies the to use + when converting the member to and from a CSV field. + + The of the + to use. + + + + Options after a type converter call. + + The class type. + The member type. + + + + Has index capabilities. + + The class type. + The member type. + + + + When reading, is used to get the field at + the given index. When writing, the fields + will be written in the order of the field + indexes. + + The index of the CSV field. + The end index used when mapping to an member. + + + + Options after an index call. + + The class type. + The member type. + + + + Has optional capabilities. + + The class type. + The member type. + + + + Ignore the member when reading if no matching field name can be found. + + + + + Options after an optional call. + + The class type. + The member type. + + + + Has name capabilities. + + The class type. + The member type. + + + + When reading, is used to get the field + at the index of the name if there was a + header specified. It will look for the + first name match in the order listed. + When writing, sets the name of the + field in the header record. + The first name will be used. + + The possible names of the CSV field. + + + + Options after a name call. + + The class type. + The member type. + + + + Has name index capabilities. + + The class type. + The member type. + + + + When reading, is used to get the + index of the name used when there + are multiple names that are the same. + + The index of the name. + + + + Options after a name index call. + + The class type. + The member type. + + + + Has convert using capabilities. + + The class type. + The member type. + + + + Specifies an expression to be used to convert data in the + row to the member. + + The convert expression. + + + + Specifies an expression to be used to convert the object + to a field. + + The convert expression. + + + + Has default capabilities. + + The class type. + The member type. + + + + The default value that will be used when reading when + the CSV field is empty. + + The default value. + + + + The default value that will be used when reading when + the CSV field is empty. This value is not type checked + and will use a to convert + the field. This could potentially have runtime errors. + + The default value. + + + + Options after a default call. + + The class type. + The member type. + + + + Has constant capabilities. + + The class type. + The member type. + + + + The constant value that will be used for every record when + reading and writing. This value will always be used no matter + what other mapping configurations are specified. + + The constant value. + + + + Has validate capabilities. + + The class type. + The member type. + + + + The validate expression that will be called on every field when reading. + The expression should return true if the field is valid. + If false is returned, a + will be thrown. + + The validation expression. + + + + Has build capabilities. + + The class type. + + + + Builds the . + + + + + Collection that holds CsvClassMaps for record types. + + + + + Gets the for the specified record type. + + + The . + + The record type. + The for the specified record type. + + + + Creates a new instance using the given configuration. + + The configuration. + + + + Finds the for the specified record type. + + The record type. + The for the specified record type. + + + + Adds the specified map for it's record type. If a map + already exists for the record type, the specified + map will replace it. + + The map. + + + + Removes the class map. + + The class map type. + + + + Removes all maps. + + + + + Goes up the inheritance tree to find the type instance of CsvClassMap{}. + + The type to traverse. + The type that is CsvClassMap{}. + + + + Sets defaults for the mapping tree. The defaults used + to be set inside the classes, but this didn't allow for + the TypeConverter to be created from the Configuration's + TypeConverterFactory. + + The map to set defaults on. + + + + Maps class members to CSV fields. + + The of class to map. + + + + Creates an instance of . + + + + + Maps a member to a CSV field. + + The member to map. + If true, an existing map will be used if available. + If false, a new map is created for the same member. + The member mapping. + + + + Meant for internal use only. + Maps a member to another class map. When this is used, accessing a property through + sub-property mapping later won't work. You can only use one or the other. When using + this, ConvertUsing will also not work. + + The type of the class map. + The expression. + Constructor arguments used to create the reference map. + The reference mapping for the member. + + + + Represents configuration errors that occur. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The message that describes the error. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that + is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + Holds the default callback methods for delegate members of CsvHelper.Configuration.Configuration. + + + + Throws a if is false. + + + + + Throws a MissingFieldException. + + + + + Throws a . + + + + + Throws the given . + + + + + Returns true if the field contains a , + starts with a space, ends with a space, contains \r or \n, or contains + the . + + The field. + The context. + + + + + Returns false. + + + + + Returns the as given. + + + + + Returns true if : + 1. does not have a parameterless constructor + 2. has a constructor + 3. is not a user defined struct + 4. is not an interface + 5. TypeCode is not an Object. + + + + + Returns the type's constructor with the most parameters. + If two constructors have the same number of parameters, then + there is no guarantee which one will be returned. If you have + that situation, you should probably implement this function yourself. + + + + + Configuration used for reading and writing CSV data. + + + + + Gets or sets the . + + + + + Gets or sets the . + + + + + Gets or sets a value indicating if the + CSV file has a header record. + Default is true. + + + + + Gets or sets the function that is called when a header validation check is ran. The default function + will throw a if there is no header for a given member mapping. + You can supply your own function to do other things like logging the issue instead of throwing an exception. + Arguments: isValid, headerNames, headerNameIndex, context + + + + + Gets or sets the function that is called when a missing field is found. The default function will + throw a . You can supply your own function to do other things + like logging the issue instead of throwing an exception. + Arguments: headerNames, index, context + + + + + Gets or sets the function that is called when bad field data is found. A field + has bad data if it contains a quote and the field is not quoted (escaped). + You can supply your own function to do other things like logging the issue + instead of throwing an exception. + Arguments: context + + + + + Gets or sets the function that is called when a reading exception occurs. + The default function will re-throw the given exception. If you want to ignore + reading exceptions, you can supply your own function to do other things like + logging the issue. + Arguments: exception + + + + + Gets or sets the callback that will be called to + determine whether to skip the given record or not. + + + + + Gets or sets a value indicating if a line break found in a quote field should + be considered bad data. True to consider a line break bad data, otherwise false. + Defaults to false. + + + + + Gets or sets a value indicating if fields should be sanitized + to prevent malicious injection. This covers MS Excel, + Google Sheets and Open Office Calc. + + + + + Gets or sets the characters that are used for injection attacks. + + + + + Gets or sets the character used to escape a detected injection. + + + + + Gets or sets a value indicating whether changes in the column + count should be detected. If true, a + will be thrown if a different column count is detected. + + + true if [detect column count changes]; otherwise, false. + + + + + Prepares the header field for matching against a member name. + The header field and the member name are both ran through this function. + You should do things like trimming, removing whitespace, removing underscores, + and making casing changes to ignore case. + + + + + Determines if constructor parameters should be used to create + the class instead of the default constructor and members. + + + + + Chooses the constructor to use for constructor mapping. + + + + + Gets or sets the comparer used to order the properties + of dynamic objects when writing. The default is null, + which will preserve the order the object properties + were created with. + + + + + Gets or sets a value indicating whether references + should be ignored when auto mapping. True to ignore + references, otherwise false. Default is false. + + + + + Gets or sets the field trimming options. + + + + + Gets or sets the delimiter used to separate fields. + Default is CultureInfo.TextInfo.ListSeparator. + + + + + Gets or sets the escape character used to escape a quote inside a field. + Default is '"'. + + + + + Gets or sets the character used to quote fields. + Default is '"'. + + + + + Gets a string representation of the currently configured Quote character. + + + The new quote string. + + + + + Gets a string representation of two of the currently configured Quote characters. + + + The new double quote string. + + + + + Gets or sets a function that is used to determine if a field should get quoted + when writing. + Arguments: field, context + + + + + Gets or sets the character used to denote + a line that is commented out. Default is '#'. + + + + + Gets or sets a value indicating if comments are allowed. + True to allow commented out lines, otherwise false. + + + + + Gets or sets the size of the buffer + used for reading CSV files. + Default is 2048. + + + + + Gets or sets a value indicating whether the number of bytes should + be counted while parsing. Default is false. This will slow down parsing + because it needs to get the byte count of every char for the given encoding. + The needs to be set correctly for this to be accurate. + + + + + Gets or sets the encoding used when counting bytes. + + + + + Gets or sets the culture info used to read an write CSV files. + Default is . + + + + + Gets or sets a value indicating if quotes should be + ignored when parsing and treated like any other character. + + + + + Gets or sets a value indicating if private + member should be read from and written to. + True to include private member, otherwise false. Default is false. + + + + + Gets or sets the member types that are used when auto mapping. + MemberTypes are flags, so you can choose more than one. + Default is Properties. + + + + + Gets or sets a value indicating if blank lines + should be ignored when reading. + True to ignore, otherwise false. Default is true. + + + + + Gets or sets a callback that will return the prefix for a reference header. + Arguments: memberType, memberName + + + + + The configured s. + + + + + Gets or sets the newline to use when writing. + + + + + Gets the newline string to use when writing. This string is determined + by the value. + + + + + Gets or sets a value indicating that during writing if a new + object should be created when a reference member is null. + True to create a new object and use it's defaults for the + fields, or false to leave the fields empty for all the + reference member's member. + + + + + Initializes a new instance of the class + using the given . Since + uses for it's default, the given + will be used instead. + + The culture information. + + + + Use a to configure mappings. + When using a class map, no members are mapped by default. + Only member specified in the mapping are used. + + The type of mapping class to use. + + + + Use a to configure mappings. + When using a class map, no members are mapped by default. + Only members specified in the mapping are used. + + The type of mapping class to use. + + + + Registers the class map. + + The class map to register. + + + + Unregisters the class map. + + The map type to unregister. + + + + Unregisters the class map. + + The map type to unregister. + + + + Unregisters all class maps. + + + + + Generates a for the type. + + The type to generate the map for. + The generate map. + + + + Generates a for the type. + + The type to generate for the map. + The generate map. + + + + A default that can be used + to create a class map dynamically. + + + + + + Configuration used for the . + + + + + Gets or sets the size of the buffer + used for reading CSV files. + Default is 2048. + + + + + Gets or sets a value indicating whether the number of bytes should + be counted while parsing. Default is false. This will slow down parsing + because it needs to get the byte count of every char for the given encoding. + The needs to be set correctly for this to be accurate. + + + + + Gets or sets the encoding used when counting bytes. + + + + + Gets or sets the function that is called when bad field data is found. A field + has bad data if it contains a quote and the field is not quoted (escaped). + You can supply your own function to do other things like logging the issue + instead of throwing an exception. + Arguments: context + + + + + Gets or sets a value indicating if a line break found in a quote field should + be considered bad data. True to consider a line break bad data, otherwise false. + Defaults to false. + + + + + Gets or sets the character used to denote + a line that is commented out. Default is '#'. + + + + + Gets or sets a value indicating if comments are allowed. + True to allow commented out lines, otherwise false. + + + + + Gets or sets a value indicating if blank lines + should be ignored when reading. + True to ignore, otherwise false. Default is true. + + + + + Gets or sets a value indicating if quotes should be + ignored when parsing and treated like any other character. + + + + + Gets or sets the character used to quote fields. + Default is '"'. + + + + + Gets or sets the delimiter used to separate fields. + Default is CultureInfo.CurrentCulture.TextInfo.ListSeparator. + + + + + Gets or sets the escape character used to escape a quote inside a field. + Default is '"'. + + + + + Gets or sets the field trimming options. + + + + + Configuration used for the . + + + + + Gets or sets a value indicating if the + CSV file has a header record. + Default is true. + + + + + Gets or sets the function that is called when a header validation check is ran. The default function + will throw a if there is no header for a given member mapping. + You can supply your own function to do other things like logging the issue instead of throwing an exception. + Arguments: isValid, headerNames, headerNameIndex, context + + + + + Gets or sets the function that is called when a missing field is found. The default function will + throw a . You can supply your own function to do other things + like logging the issue instead of throwing an exception. + Arguments: headerNames, index, context + + + + + Gets or sets the function that is called when a reading exception occurs. + The default function will re-throw the given exception. If you want to ignore + reading exceptions, you can supply your own function to do other things like + logging the issue. + Arguments: exception + + + + + Gets or sets the culture info used to read an write CSV files. + + + + + Gets or sets the . + + + + + Gets or sets the . + + + + + Prepares the header field for matching against a member name. + The header field and the member name are both ran through this function. + You should do things like trimming, removing whitespace, removing underscores, + and making casing changes to ignore case. + + + + + Determines if constructor parameters should be used to create + the class instead of the default constructor and members. + + + + + Chooses the constructor to use for constructor mapping. + + + + + Gets or sets a value indicating whether references + should be ignored when auto mapping. True to ignore + references, otherwise false. Default is false. + + + + + Gets or sets the callback that will be called to + determine whether to skip the given record or not. + + + + + Gets or sets a value indicating if private + member should be read from and written to. + True to include private member, otherwise false. Default is false. + + + + + Gets or sets a callback that will return the prefix for a reference header. + Arguments: memberType, memberName + + + + + Gets or sets a value indicating whether changes in the column + count should be detected. If true, a + will be thrown if a different column count is detected. + + + true if [detect column count changes]; otherwise, false. + + + + + Gets or sets the member types that are used when auto mapping. + MemberTypes are flags, so you can choose more than one. + Default is Properties. + + + + + The configured s. + + + + + Use a to configure mappings. + When using a class map, no members are mapped by default. + Only member specified in the mapping are used. + + The type of mapping class to use. + + + + Use a to configure mappings. + When using a class map, no member are mapped by default. + Only member specified in the mapping are used. + + The type of mapping class to use. + + + + Registers the class map. + + The class map to register. + + + + Unregisters the class map. + + The map type to unregister. + + + + Unregisters the class map. + + The map type to unregister. + + + + Unregisters all class maps. + + + + + Generates a for the type. + + The type to generate the map for. + The generate map. + + + + Generates a for the type. + + The type to generate for the map. + The generate map. + + + + Configuration used for the . + + + + + Gets or sets the delimiter used to separate fields. + Default is ','; + + + + + Gets or sets the character used to quote fields. + Default is '"'. + + + + + Gets or sets the escape character used to escape a quote inside a field. + Default is '"'. + + + + + Gets or sets the field trimming options. + + + + + Gets or sets a value indicating if fields should be sanitized + to prevent malicious injection. This covers MS Excel, + Google Sheets and Open Office Calc. + + + + + Gets or sets the characters that are used for injection attacks. + + + + + Gets or sets the character used to escape a detected injection. + + + + + Gets or sets the newline to use when writing. + + + + + Gets the newline string to use when writing. This string is determined + by the value. + + + + + Configuration used for the . + + + + + Gets a string representation of the currently configured Quote character. + + + The new quote string. + + + + + Gets a string representation of two of the currently configured Quote characters. + + + The new double quote string. + + + + + Gets or sets a function that is used to determine if a field should get quoted + when writing. + Arguments: field, context + + + + + Gets or sets the culture info used to read an write CSV files. + + + + + Gets or sets the . + + + + + Gets or sets the . + + + + + Gets or sets a value indicating if comments are allowed. + True to allow commented out lines, otherwise false. + + + + + Gets or sets the character used to denote + a line that is commented out. Default is '#'. + + + + + Gets or sets a value indicating if the + CSV file has a header record. + Default is true. + + + + + Gets or sets a value indicating whether references + should be ignored when auto mapping. True to ignore + references, otherwise false. Default is false. + + + + + Gets or sets a value indicating if private + member should be read from and written to. + True to include private member, otherwise false. Default is false. + + + + + Gets or sets a callback that will return the prefix for a reference header. + Arguments: memberType, memberName + + + + + Gets or sets the member types that are used when auto mapping. + MemberTypes are flags, so you can choose more than one. + Default is Properties. + + + + + The configured s. + + + + + Use a to configure mappings. + When using a class map, no member are mapped by default. + Only member specified in the mapping are used. + + The type of mapping class to use. + + + + Use a to configure mappings. + When using a class map, no member are mapped by default. + Only member specified in the mapping are used. + + The type of mapping class to use. + + + + Registers the class map. + + The class map to register. + + + + Unregisters the class map. + + The map type to unregister. + + + + Unregisters the class map. + + The map type to unregister. + + + + Unregisters all class maps. + + + + + Generates a for the type. + + The type to generate the map for. + The generate map. + + + + Generates a for the type. + + The type to generate for the map. + The generate map. + + + + Gets or sets a value indicating that during writing if a new + object should be created when a reference member is null. + True to create a new object and use it's defaults for the + fields, or false to leave the fields empty for all the + reference member's member. + + + + + Gets or sets the comparer used to order the properties + of dynamic objects when writing. The default is null, + which will preserve the order the object properties + were created with. + + + + + Sets type converter options on a member map. + + + + + Creates a new instance using the given . + + The member map the options are being applied to. + + + + The used when type converting. + This will override the global + setting. + + The culture info. + + + + The to use when type converting. + This is used when doing any conversions. + + The date time style. + + + + The to use when type converting. + This is used when doing converting. + + The time span styles. + + + + The to use when type converting. + This is used when doing any number conversions. + + + + + + The string format to be used when type converting. + + The format. + + + + The to use when converting. + This is used when doing conversions. + + Kind of the URI. + + + + The string values used to represent a boolean when converting. + + A value indicating whether true values or false values are being set. + A value indication if the current values should be cleared before adding the new ones. + The string boolean values. + + + + The string values used to represent null when converting. + + The values that represent null. + + + + + The string values used to represent null when converting. + + A value indication if the current values should be cleared before adding the new ones. + The values that represent null. + + + + + Mapping info for a member to a CSV field. + + + + + Gets the member map data. + + + + + Type converter options. + + + + + Creates an instance of using the given Type and . + + Type of the class the member being mapped belongs to. + The member being mapped. + + + + When reading, is used to get the field + at the index of the name if there was a + header specified. It will look for the + first name match in the order listed. + When writing, sets the name of the + field in the header record. + The first name will be used. + + The possible names of the CSV field. + + + + When reading, is used to get the + index of the name used when there + are multiple names that are the same. + + The index of the name. + + + + When reading, is used to get the field at + the given index. When writing, the fields + will be written in the order of the field + indexes. + + The index of the CSV field. + The end index used when mapping to an member. + + + + Ignore the member when reading and writing. + If this member has already been mapped as a reference + member, either by a class map, or by automapping, calling + this method will not ignore all the child members down the + tree that have already been mapped. + + + + + Ignore the member when reading and writing. + If this member has already been mapped as a reference + member, either by a class map, or by automapping, calling + this method will not ignore all the child members down the + tree that have already been mapped. + + True to ignore, otherwise false. + + + + The default value that will be used when reading when + the CSV field is empty. + + The default value. + + + + The default value that will be used when reading when + the CSV field is empty. This value is not type checked + and will use a to convert + the field. This could potentially have runtime errors. + + The default value. + + + + The constant value that will be used for every record when + reading and writing. This value will always be used no matter + what other mapping configurations are specified. + + The constant value. + + + + Specifies the to use + when converting the member to and from a CSV field. + + The TypeConverter to use. + + + + Specifies the to use + when converting the member to and from a CSV field. + + The of the + to use. + + + + Specifies an expression to be used to validate a field when reading. + + + + + + A collection that holds 's. + + + + + Gets the number of elements contained in the . + + + The number of elements contained in the . + + + + + Gets a value indicating whether the is read-only. + + + true if the is read-only; otherwise, false. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The comparer to use when sorting the member maps. + + + + Returns an enumerator that iterates through the collection. + + + A that can be used to iterate through the collection. + + 1 + + + + Returns an enumerator that iterates through a collection. + + + An object that can be used to iterate through the collection. + + 2 + + + + Adds an item to the . + + The object to add to the . + The is read-only. + + + + + Adds a range of items to the . + + The collection to add. + + + + Removes all items from the . + + The is read-only. + + + + + Determines whether the contains a specific value. + + + true if is found in the ; otherwise, false. + + The object to locate in the . + + + + + Copies the elements of the to an , starting at a particular index. + + The one-dimensional that is the destination of the elements copied from . The must have zero-based indexing.The zero-based index in at which copying begins. is null. is less than 0.The number of elements in the source is greater than the available space from to the end of the destination . + + + + Removes the first occurrence of a specific object from the . + + + true if was successfully removed from the ; otherwise, false. This method also returns false if is not found in the original . + + The object to remove from the . + The is read-only. + + + + + Determines the index of a specific item in the . + + + The index of if found in the list; otherwise, -1. + + The object to locate in the . + + + + + Inserts an item to the at the specified index. + + The zero-based index at which should be inserted. + The object to insert into the . + is not a valid index in the . + The is read-only. + + + + + Removes the item at the specified index. + + The zero-based index of the item to remove. + is not a valid index in the . + The is read-only. + + + + + Gets or sets the element at the specified index. + + + The element at the specified index. + + The zero-based index of the element to get or set. + is not a valid index in the . + The member is set and the is read-only. + + + + + Finds the using the given member expression. + + The the member is on. + The member expression. + The for the given expression, or null if not found. + + + + Finds the using the given member. + + The member. + The for the given expression, or null if not found. + + + + Adds the members from the mapping. This will recursively + traverse the mapping tree and add all members for + reference maps. + + The mapping where the members are added from. + + + + Used to compare s. + The order is by field index ascending. Any + fields that don't have an index are pushed + to the bottom. + + + + + Compares two objects and returns a value indicating whether one is less than, equal to, or greater than the other. + + + Value + Condition + Less than zero + is less than . + Zero + equals . + Greater than zero + is greater than . + + The first object to compare. + The second object to compare. + Neither nor implements the interface. + -or- + and are of different types and neither one can handle comparisons with the other. + 2 + + + + Compares two objects and returns a value indicating whether one is less than, equal to, or greater than the other. + + + Value + Condition + Less than zero + is less than . + Zero + equals . + Greater than zero + is greater than . + + The first object to compare. + The second object to compare. + + + + + The configured data for the member map. + + + + + Gets the that the data + is associated with. + + + + + Gets the list of column names. + + + + + Gets or sets the index of the name. + This is used if there are multiple + columns with the same names. + + + + + Gets or sets a value indicating if the name was + explicitly set. True if it was explicitly set, + otherwise false. + + + + + Gets or sets the column index. + + + + + Gets or sets the index end. The Index end is used to specify a range for use + with a collection member. Index is used as the start of the range, and IndexEnd + is the end of the range. + + + + + Gets or sets a value indicating if the index was + explicitly set. True if it was explicitly set, + otherwise false. + + + + + Gets or sets the type converter. + + + + + Gets or sets the type converter options. + + + + + Gets or sets a value indicating whether the field should be ignored. + + + + + Gets or sets the default value used when a CSV field is empty. + + + + + Gets or sets a value indicating whether this instance is default value set. + the default value was explicitly set. True if it was + explicitly set, otherwise false. + + + + + Gets or sets the constant value used for every record. + + + + + Gets or sets a value indicating if a constant was explicitly set. + + + + + Gets or sets the expression used to convert data in the + row to the member. + + + + + Gets or sets the expression to be used to convert the object + to a field. + + + + + Gets or sets the expression use to validate a field. + + + + + Gets or sets a value indicating if a field is optional. + + + + + Initializes a new instance of the class. + + The member. + + + + Mapping info for a member to a CSV field. + + + + + Creates a new instance using the specified member. + + + + + When reading, is used to get the field + at the index of the name if there was a + header specified. It will look for the + first name match in the order listed. + When writing, sets the name of the + field in the header record. + The first name will be used. + + The possible names of the CSV field. + + + + When reading, is used to get the + index of the name used when there + are multiple names that are the same. + + The index of the name. + + + + When reading, is used to get the field at + the given index. When writing, the fields + will be written in the order of the field + indexes. + + The index of the CSV field. + The end index used when mapping to an member. + + + + Ignore the member when reading and writing. + If this member has already been mapped as a reference + member, either by a class map, or by automapping, calling + this method will not ignore all the child members down the + tree that have already been mapped. + + + + + Ignore the member when reading and writing. + If this member has already been mapped as a reference + member, either by a class map, or by automapping, calling + this method will not ignore all the child members down the + tree that have already been mapped. + + True to ignore, otherwise false. + + + + The default value that will be used when reading when + the CSV field is empty. + + The default value. + + + + The default value that will be used when reading when + the CSV field is empty. This value is not type checked + and will use a to convert + the field. This could potentially have runtime errors. + + The default value. + + + + The constant value that will be used for every record when + reading and writing. This value will always be used no matter + what other mapping configurations are specified. + + The constant value. + + + + Specifies the to use + when converting the member to and from a CSV field. + + The TypeConverter to use. + + + + Specifies the to use + when converting the member to and from a CSV field. + + The of the + to use. + + + + Specifies an expression to be used to convert data in the + row to the member. + + The convert expression. + + + + Specifies an expression to be used to convert the object + to a field. + + The convert expression. + + + + Ignore the member when reading if no matching field name can be found. + + + + + Specifies an expression to be used to validate a field when reading. + + + + + + A collection that holds member names. + + + + + Gets the name at the given index. If a prefix is set, + it will be prepended to the name. + + + + + + + Gets the prefix to use for each name. + + + + + Gets the raw list of names without + the prefix being prepended. + + + + + Gets the count. + + + + + Adds the given name to the collection. + + The name to add. + + + + Clears all names from the collection. + + + + + Adds a range of names to the collection. + + The range to add. + + + + Returns an enumerator that iterates through the collection. + + + A that can be used to iterate through the collection. + + 1 + + + + Returns an enumerator that iterates through a collection. + + + An object that can be used to iterate through the collection. + + 2 + + + + Mapping info for a reference member mapping to a class. + + + + + Gets the member reference map data. + + + + + Initializes a new instance of the class. + + The member. + The to use for the reference map. + + + + Appends a prefix to the header of each field of the reference member. + + The prefix to be prepended to headers of each reference member. + The current + + + + Get the largest index for the + members and references. + + The max index. + + + + A collection that holds 's. + + + + Gets the number of elements contained in the . + The number of elements contained in the . + + + Gets a value indicating whether the is read-only. + true if the is read-only; otherwise, false. + + + Gets or sets the element at the specified index. + The element at the specified index. + The zero-based index of the element to get or set. + + is not a valid index in the . + The member is set and the is read-only. + + + Returns an enumerator that iterates through the collection. + A that can be used to iterate through the collection. + 1 + + + Returns an enumerator that iterates through a collection. + An object that can be used to iterate through the collection. + 2 + + + Adds an item to the . + The object to add to the . + The is read-only. + + + Removes all items from the . + The is read-only. + + + Determines whether the contains a specific value. + true if is found in the ; otherwise, false. + The object to locate in the . + + + Copies the elements of the to an , starting at a particular index. + The one-dimensional that is the destination of the elements copied from . The must have zero-based indexing. + The zero-based index in at which copying begins. + + is null. + + is less than 0. + The number of elements in the source is greater than the available space from to the end of the destination . + + + Removes the first occurrence of a specific object from the . + true if was successfully removed from the ; otherwise, false. This method also returns false if is not found in the original . + The object to remove from the . + The is read-only. + + + Determines the index of a specific item in the . + The index of if found in the list; otherwise, -1. + The object to locate in the . + + + Inserts an item to the at the specified index. + The zero-based index at which should be inserted. + The object to insert into the . + + is not a valid index in the . + The is read-only. + + + Removes the item at the specified index. + The zero-based index of the item to remove. + + is not a valid index in the . + The is read-only. + + + + Finds the using the given member expression. + + The the member is on. + The member expression. + The for the given expression, or null if not found. + + + + Finds the using the given member. + + The member. + The for the given expression, or null if not found. + + + + The configuration data for the reference map. + + + + + Gets or sets the header prefix to use. + + + + + Gets the that the data + is associated with. + + + + + Gets the mapping this is a reference for. + + + + + Initializes a new instance of the class. + + The member. + The mapping this is a reference for. + + + + Flags for the type of members that + can be used for auto mapping. + + + + + No members. This is not a valid value + and will cause an exception if used. + + + + + Properties on a class. + + + + + Fields on a class. + + + + + Types of new lines. + + + + + Windows line feed. + + + + + Classic MAC + + + + + Unix + + + + + Use the setting. + + + + + New line constants. + + + + + Windows line feed. + + + + + Class MAC line feed. + + + + + Unix line feed. + + + + + Mapping for a constructor parameter. + This may contain value type data, a constructor type map, + or a reference map, depending on the type of the parameter. + + + + + Gets the parameter map data. + + + + + Gets or sets the map for a constructor type. + + + + + Gets or sets the map for a reference type. + + + + + Creates an instance of using + the given information. + + The parameter being mapped. + + + + The constructor parameter data for the map. + + + + + Gets the that the data + is associated with. + + + + + Gets or sets the type converter. + + + + + Gets or sets the type converter options. + + + + + Gets or sets the column index. + + + + + Gets or sets the column name. + + + + + Initializes a new instance of the class. + + The constructor parameter. + + + + Mapping info for a reference parameter mapping to a class. + + + + + Gets the parameter reference map data. + + + + + Initializes a new instance of the class. + + The parameter. + The to use for the reference map. + + + + Appends a prefix to the header of each field of the reference parameter. + + The prefix to be prepended to headers of each reference parameter. + The current + + + + Get the largest index for the + members and references. + + The max index. + + + + The configuration data for the reference map. + + + + + Gets or sets the header prefix to use. + + + + + Gets the that the data + is associated with. + + + + + Gets the mapping this is a reference for. + + + + + Initializes a new instance of the class. + + The parameter. + The mapping this is a reference for. + + + + Options for trimming of fields. + + + + + No trimming. + + + + + Trims the whitespace around a field. + + + + + Trims the whitespace inside of quotes around a field. + + + + + Provides a means of reading a CSV file forward-only by using CsvReader. + + + + + + Gets the column with the specified index. + + + The . + + The i. + + + + + Gets the column with the specified name. + + + The . + + The name. + + + + + Gets a value indicating the depth of nesting for the current row. + + + + + 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. + + + + + Gets the number of columns in the current row. + + + + + Initializes a new instance of the class. + + The CSV. + + + + Closes the Object. + + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + Gets the value of the specified column as a Boolean. + + The zero-based column ordinal. + + The value of the column. + + + + + Gets the 8-bit unsigned integer value of the specified column. + + The zero-based column ordinal. + + The 8-bit unsigned integer value of the specified column. + + + + + Reads a stream of bytes from the specified column offset into the buffer as an array, starting at the given buffer offset. + + The zero-based column ordinal. + The index within the field from which to start the read operation. + The buffer into which to read the stream of bytes. + The index for buffer to start the read operation. + The number of bytes to read. + + The actual number of bytes read. + + + + + Gets the character value of the specified column. + + The zero-based column ordinal. + + The character value of the specified column. + + + + + Reads a stream of characters from the specified column offset into the buffer as an array, starting at the given buffer offset. + + The zero-based column ordinal. + The index within the row from which to start the read operation. + The buffer into which to read the stream of bytes. + The index for buffer to start the read operation. + The number of bytes to read. + + The actual number of characters read. + + + + + Returns an for the specified column ordinal. + + The index of the field to find. + + The for the specified column ordinal. + + + + + Gets the data type information for the specified field. + + The index of the field to find. + + The data type information for the specified field. + + + + + Gets the date and time data value of the specified field. + + The index of the field to find. + + The date and time data value of the specified field. + + + + + Gets the fixed-position numeric value of the specified field. + + The index of the field to find. + + The fixed-position numeric value of the specified field. + + + + + Gets the double-precision floating point number of the specified field. + + The index of the field to find. + + The double-precision floating point number of the specified field. + + + + + Gets the information corresponding to the type of that would be returned from . + + The index of the field to find. + + The information corresponding to the type of that would be returned from . + + + + + Gets the single-precision floating point number of the specified field. + + The index of the field to find. + + The single-precision floating point number of the specified field. + + + + + Returns the GUID value of the specified field. + + The index of the field to find. + + The GUID value of the specified field. + + + + + Gets the 16-bit signed integer value of the specified field. + + The index of the field to find. + + The 16-bit signed integer value of the specified field. + + + + + Gets the 32-bit signed integer value of the specified field. + + The index of the field to find. + + The 32-bit signed integer value of the specified field. + + + + + Gets the 64-bit signed integer value of the specified field. + + The index of the field to find. + + The 64-bit signed integer value of the specified field. + + + + + Gets the name for the field to find. + + The index of the field to find. + + The name of the field or the empty string (""), if there is no value to return. + + + + + Return the index of the named field. + + The name of the field to find. + + The index of the named field. + + + + + Returns a that describes the column metadata of the . + + + A that describes the column metadata. + + + + + Gets the string value of the specified field. + + The index of the field to find. + + The string value of the specified field. + + + + + Return the value of the specified field. + + The index of the field to find. + + The which will contain the field value upon return. + + + + + Populates an array of objects with the column values of the current record. + + An array of to copy the attribute fields into. + + The number of instances of in the array. + + + + + Return whether the specified field is set to null. + + The index of the field to find. + + true if the specified field is set to null; otherwise, false. + + + + + Advances the data reader to the next result, when reading the results of batch SQL statements. + + + true if there are more rows; otherwise, false. + + + + + Advances the to the next record. + + + true if there are more rows; otherwise, false. + + + + + Reads fields from a . + + + + + Gets the reading context. + + + + + Gets a value indicating if the buffer is empty. + True if the buffer is empty, otherwise false. + + + + + Fills the buffer. + + True if there is more data left. + False if all the data has been read. + + + + Fills the buffer. + + True if there is more data left. + False if all the data has been read. + + + + Creates a new using the given + and . + + The text reader. + The configuration. + + + + Creates a new using the given + , + and leaveOpen flag. + + The text reader. + The configuration. + A value indicating if the should be left open when disposing. + + + + Gets the next char as an . + + + + + Gets the field. This will append any reading progress. + + The current field. + + + + Appends the current reading progress. + + + + + Move's the buffer position according to the given offset. + + The offset to move the buffer. + + + + Sets the start of the field to the current buffer position. + + An offset for the field start. + The offset should be less than 1. + + + + Sets the end of the field to the current buffer position. + + An offset for the field start. + The offset should be less than 1. + + + + Sets the raw record start to the current buffer position; + + An offset for the raw record start. + The offset should be less than 1. + + + + Sets the raw record end to the current buffer position. + + An offset for the raw record end. + The offset should be less than 1. + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + 2 + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + True if the instance needs to be disposed of. + + + + Represents errors that occur in CsvHelper. + + + + + Gets the context used when reading. + + + + + Gets the context used when writing. + + + + + Initializes a new instance of the CsvHelperException class. + + + + + Initializes a new instance of the CsvHelperException class. + + The message that describes the error. + + + + Initializes a new instance of the CsvHelperException class. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The reading context. + The message that describes the error. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that + is the cause of this exception. + + The reading context. + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Initializes a new instance of the class + with a specified error message. + + The writing context. + The message that describes the error. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that + is the cause of this exception. + + The writing context. + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Parses a CSV file. + + + + + Gets the reading context. + + + + + Gets the configuration. + + + + + Gets the . + + + + + Creates a new parser using the given . + + The with the CSV file data. + The culture. + + + + Creates a new parser using the given . + + The with the CSV file data. + The culture. + true to leave the reader open after the CsvReader object is disposed, otherwise false. + + + + Creates a new parser using the given and . + + The with the CSV file data. + The configuration. + + + + Creates a new parser using the given and . + + The with the CSV file data. + The configuration. + true to leave the reader open after the CsvReader object is disposed, otherwise false. + + + + Creates a new parser using the given . + + The field reader. + + + + Reads a record from the CSV file. + + A of fields for the record read. + + + + Reads a record from the CSV file asynchronously. + + A of fields for the record read. + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + 2 + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + True if the instance needs to be disposed of. + + + + Reads a line of the CSV file. + + The CSV line. + + + + Reads a line of the CSV file. + + The CSV line. + + + + Reads a blank line. This accounts for empty lines + and commented out lines. + + + + + Reads a blank line. This accounts for empty lines + and commented out lines. + + + + + Reads until a delimiter or line ending is found. + + True if the end of the line was found, otherwise false. + + + + Reads until a delimiter or line ending is found. + + True if the end of the line was found, otherwise false. + + + + Reads until the field is not quoted and a delimiter is found. + + True if the end of the line was found, otherwise false. + + + + Reads until the field is not quoted and a delimiter is found. + + True if the end of the line was found, otherwise false. + + + + Reads until the delimiter is done. + + True if a delimiter was read. False if the sequence of + chars ended up not being the delimiter. + + + + Reads until the delimiter is done. + + True if a delimiter was read. False if the sequence of + chars ended up not being the delimiter. + + + + Reads until the line ending is done. + + The field start offset. + + + + Reads until the line ending is done. + + The field start offset. + + + + Reads until a non-space character is found. + + True if there is more data to read. + False if the end of the file has been reached. + + + + Reads until a non-space character is found. + + True if there is more data to read. + False if the end of the file has been reached. + + + + Reads data that was parsed from . + + + + + Gets the reading context. + + + + + Gets the configuration. + + + + + Gets the parser. + + + + + Creates a new CSV reader using the given . + + The reader. + The culture. + + + + Creates a new CSV reader using the given . + + The reader. + The culture. + true to leave the reader open after the CsvReader object is disposed, otherwise false. + + + + Creates a new CSV reader using the given and + and as the default parser. + + The reader. + The configuration. + + + + Creates a new CSV reader using the given . + + The reader. + The configuration. + true to leave the reader open after the CsvReader object is disposed, otherwise false. + + + + Creates a new CSV reader using the given . + + The used to parse the CSV file. + + + + Reads the header record without reading the first row. + + True if there are more records, otherwise false. + + + + Validates the header. A header is bad if all the mapped members don't match. + If the header is not valid, a will be thrown. + + The type to validate the header against. + + + + Validates the header. A header is bad if all the mapped members don't match. + If the header is not valid, a will be thrown. + + The type to validate the header against. + + + + Validates the header against the given map. + + The map to validate against. + + + + Advances the reader to the next record. This will not read headers. + You need to call then + for the headers to be read. + + True if there are more records, otherwise false. + + + + Advances the reader to the next record. This will not read headers. + You need to call then + for the headers to be read. + + True if there are more records, otherwise false. + + + + Gets the raw field at position (column) index. + + The zero based index of the field. + The raw field. + + + + Gets the raw field at position (column) name. + + The named index of the field. + The raw field. + + + + Gets the raw field at position (column) name. + + The named index of the field. + The zero based index of the field. + The raw field. + + + + Gets the raw field at position (column) index. + + The zero based index of the field. + The raw field. + + + + Gets the raw field at position (column) name. + + The named index of the field. + The raw field. + + + + Gets the raw field at position (column) name and the index + instance of that field. The index is used when there are + multiple columns with the same header name. + + The named index of the field. + The zero based index of the instance of the field. + The raw field. + + + + Gets the field converted to using + the specified . + + The type of the field. + The index of the field. + The field converted to . + + + + Gets the field converted to using + the specified . + + The type of the field. + The named index of the field. + The field converted to . + + + + Gets the field converted to using + the specified . + + The type of the field. + The named index of the field. + The zero based index of the instance of the field. + The field converted to . + + + + Gets the field converted to using + the specified . + + The type of the field. + The index of the field. + The used to convert the field to . + The field converted to . + + + + Gets the field converted to using + the specified . + + The type of the field. + The named index of the field. + The used to convert the field to . + The field converted to . + + + + Gets the field converted to using + the specified . + + The type of the field. + The named index of the field. + The zero based index of the instance of the field. + The used to convert the field to . + The field converted to . + + + + Gets the field converted to T at position (column) index. + + The of the field. + The zero based index of the field. + The field converted to T. + + + + Gets the field converted to T at position (column) name. + + The of the field. + The named index of the field. + The field converted to T. + + + + Gets the field converted to T at position + (column) name and the index instance of that field. The index + is used when there are multiple columns with the same header name. + + + The named index of the field. + The zero based index of the instance of the field. + + + + + Gets the field converted to T at position (column) index using + the given . + + The of the field. + The zero based index of the field. + The used to convert the field to T. + The field converted to T. + + + + Gets the field converted to T at position (column) name using + the given . + + The of the field. + The named index of the field. + The used to convert the field to T. + The field converted to T. + + + + Gets the field converted to T at position + (column) name and the index instance of that field. The index + is used when there are multiple columns with the same header name. + + + The named index of the field. + The zero based index of the instance of the field. + The used to convert the field to T. + The field converted to T. + + + + Gets the field converted to T at position (column) index using + the given . + + The of the field. + The used to convert the field to T. + The zero based index of the field. + The field converted to T. + + + + Gets the field converted to T at position (column) name using + the given . + + The of the field. + The used to convert the field to T. + The named index of the field. + The field converted to T. + + + + Gets the field converted to T at position + (column) name and the index instance of that field. The index + is used when there are multiple columns with the same header name. + + The of the field. + The used to convert the field to T. + The named index of the field. + The zero based index of the instance of the field. + The field converted to T. + + + + Gets the field converted to T at position (column) index. + + The of the field. + The zero based index of the field. + The field converted to type T. + A value indicating if the get was successful. + + + + Gets the field converted to T at position (column) name. + + The of the field. + The named index of the field. + The field converted to T. + A value indicating if the get was successful. + + + + Gets the field converted to T at position + (column) name and the index instance of that field. The index + is used when there are multiple columns with the same header name. + + The of the field. + The named index of the field. + The zero based index of the instance of the field. + The field converted to T. + A value indicating if the get was successful. + + + + Gets the field converted to T at position (column) index + using the specified . + + The of the field. + The zero based index of the field. + The used to convert the field to T. + The field converted to T. + A value indicating if the get was successful. + + + + Gets the field converted to T at position (column) name + using the specified . + + The of the field. + The named index of the field. + The used to convert the field to T. + The field converted to T. + A value indicating if the get was successful. + + + + Gets the field converted to T at position (column) name + using the specified . + + The of the field. + The named index of the field. + The zero based index of the instance of the field. + The used to convert the field to T. + The field converted to T. + A value indicating if the get was successful. + + + + Gets the field converted to T at position (column) index. + + The of the field. + The zero based index of the field. + The field converted to type T. + A value indicating if the get was successful. + + + + Gets the field converted to T at position (column) name. + + The of the field. + The named index of the field. + The field converted to T. + A value indicating if the get was successful. + + + + Gets the field converted to T at position + (column) name and the index instance of that field. The index + is used when there are multiple columns with the same header name. + + + The named index of the field. + The zero based index of the instance of the field. + The field converted to T. + A value indicating if the get was successful. + + + + Gets the field converted to T at position (column) index + using the specified . + + The of the field. + The zero based index of the field. + The used to convert the field to T. + The field converted to T. + A value indicating if the get was successful. + + + + Gets the field converted to T at position (column) name + using the specified . + + The of the field. + The named index of the field. + The used to convert the field to T. + The field converted to T. + A value indicating if the get was successful. + + + + Gets the field converted to T at position (column) name + using the specified . + + The of the field. + The named index of the field. + The zero based index of the instance of the field. + The used to convert the field to T. + The field converted to T. + A value indicating if the get was successful. + + + + Gets the field converted to T at position (column) index + using the specified . + + The of the field. + The used to convert the field to T. + The zero based index of the field. + The field converted to T. + A value indicating if the get was successful. + + + + Gets the field converted to T at position (column) name + using the specified . + + The of the field. + The used to convert the field to T. + The named index of the field. + The field converted to T. + A value indicating if the get was successful. + + + + Gets the field converted to T at position (column) name + using the specified . + + The of the field. + The used to convert the field to T. + The named index of the field. + The zero based index of the instance of the field. + The field converted to T. + A value indicating if the get was successful. + + + + Gets the record converted into T. + + The of the record. + The record converted to T. + + + + Get the record converted into T. + + The of the record. + The anonymous type definition to use for the record. + The record converted to T. + + + + Gets the record. + + The of the record. + The record. + + + + Gets all the records in the CSV file and + converts each to T. The Read method + should not be used when using this. + + The of the record. + An of records. + + + + Gets all the records in the CSV file and converts + each to T. The read method + should not be used when using this. + + The of the record. + The anonymous type definition to use for the records. + An of records. + + + + Gets all the records in the CSV file and + converts each to T. The Read method + should not be used when using this. + + The of the record. + An of records. + + + + Enumerates the records hydrating the given record instance with row data. + The record instance is re-used and not cleared on each enumeration. + This only works for streaming rows. If any methods are called on the projection + that force the evaluation of the IEnumerable, such as ToList(), the entire list + will contain the same instance of the record, which is the last row. + + The type of the record. + The record to fill each enumeration. + An of records. + + + + Gets all the records in the CSV file and + converts each to T. The Read method + should not be used when using this. + + The of the record. + An of records. + + + + Gets all the records in the CSV file and converts + each to T. The read method + should not be used when using this. + + The of the record. + The anonymous type definition to use for the records. + An of records. + + + + Gets all the records in the CSV file and + converts each to T. The Read method + should not be used when using this. + + The of the record. + An of records. + + + + Enumerates the records hydrating the given record instance with row data. + The record instance is re-used and not cleared on each enumeration. + This only works for streaming rows. If any methods are called on the projection + that force the evaluation of the IEnumerable, such as ToList(), the entire list + will contain the same instance of the record, which is the last row. + + The type of the record. + The record to fill each enumeration. + An of records. + + + + Gets the index of the field at name if found. + + The name of the field to get the index for. + The index of the field if there are multiple fields with the same name. + A value indicating if the call was initiated from a TryGet. + The index of the field if found, otherwise -1. + Thrown if there is no header record. + Thrown if there isn't a field with name. + + + + Gets the index of the field at name if found. + + The possible names of the field to get the index for. + The index of the field if there are multiple fields with the same name. + A value indicating if the call was initiated from a TryGet. + A value indicating if the call was initiated for an optional field. + The index of the field if found, otherwise -1. + Thrown if there is no header record. + Thrown if there isn't a field with name. + + + + Determines if the member for the + can be read. + + The member map. + A value indicating of the member can be read. True if it can, otherwise false. + + + + Determines if the member for the + can be read. + + The reference map. + A value indicating of the member can be read. True if it can, otherwise false. + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + 2 + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + True if the instance needs to be disposed of. + + + + Checks if the reader has been read yet. + + + + + + Parses the named indexes from the header record. + + + + + Defines methods used to serialize data into a CSV file. + + + + + Gets the writing context. + + + + + Gets the configuration. + + + + + Creates a new serializer using the given . + + The to write the CSV file data to. + The culture information. + + + + Creates a new serializer using the given . + + The to write the CSV file data to. + The culture information. + true to leave the reader open after the CsvReader object is disposed, otherwise false. + + + + Creates a new serializer using the given + and . + + The to write the CSV file data to. + The configuration. + + + + Creates a new serializer using the given + and . + + The to write the CSV file data to. + The configuration. + true to leave the reader open after the CsvReader object is disposed, otherwise false. + + + + Writes a record to the CSV file. + + The record to write. + + + + Writes a record to the CSV file. + + The record to write. + + + + Writes a new line to the CSV file. + + + + + Writes a new line to the CSV file. + + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + 2 + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + True if the instance needs to be disposed of. + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + 2 + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + True if the instance needs to be disposed of. + + + + Sanitizes the field to prevent injection. + + The field to sanitize. + + + + Used to write CSV files. + + + + + Gets the writing context. + + + + + Gets the configuration. + + + + + Creates a new CSV writer using the given . + + The writer used to write the CSV file. + The culture information. + + + + Creates a new CSV writer using the given . + + The writer used to write the CSV file. + The culture information. + true to leave the writer open after the CsvWriter object is disposed, otherwise false. + + + + Creates a new CSV writer using the given . + + The use to write the CSV file. + The configuration. + + + + Creates a new CSV writer using the given . + + The use to write the CSV file. + The configuration. + true to leave the writer open after the CsvWriter object is disposed, otherwise false. + + + + Creates a new CSV writer using the given . + + The serializer. + + + + Writes a field that has already been converted to a + from an . + If the field is null, it won't get written. A type converter + will always return a string, even if field is null. If the + converter returns a null, it means that the converter has already + written data, and the returned value should not be written. + + The converted field to write. + + + + Writes the field to the CSV file. The field + may get quotes added to it. + When all fields are written for a record, + must be called + to complete writing of the current record. + + The field to write. + + + + Writes the field to the CSV file. This will + ignore any need to quote and ignore + + and just quote based on the shouldQuote + parameter. + When all fields are written for a record, + must be called + to complete writing of the current record. + + The field to write. + True to quote the field, otherwise false. + + + + Writes the field to the CSV file. + When all fields are written for a record, + must be called + to complete writing of the current record. + + The type of the field. + The field to write. + + + + Writes the field to the CSV file. + When all fields are written for a record, + must be called + to complete writing of the current record. + + The type of the field. + The field to write. + The converter used to convert the field into a string. + + + + Writes the field to the CSV file + using the given . + When all fields are written for a record, + must be called + to complete writing of the current record. + + The type of the field. + The type of the converter. + The field to write. + + + + Serializes the row to the . + + + + + Serializes the row to the . + + + + + Ends writing of the current record and starts a new record. + This automatically flushes the writer. + + + + + Ends writing of the current record and starts a new record. + This automatically flushes the writer. + + + + + Writes a comment. + + The comment to write. + + + + Writes the header record from the given members. + + The type of the record. + + + + Writes the header record from the given members. + + The type of the record. + + + + Writes the header record for the given dynamic object. + + The dynamic record to write. + + + + Writes the record to the CSV file. + + The type of the record. + The record to write. + + + + Writes the list of records to the CSV file. + + The records to write. + + + + Writes the list of records to the CSV file. + + Record type. + The records to write. + + + + Writes the list of records to the CSV file. + + The records to write. + + + + Writes the list of records to the CSV file. + + Record type. + The records to write. + + + + Checks if the member can be written. + + The member map that we are checking. + A value indicating if the member can be written. + True if the member can be written, otherwise false. + + + + Gets the type for the record. If the generic type + is an object due to boxing, it will call GetType() + on the record itself. + + The record type. + The record. + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + 2 + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + True if the instance needs to be disposed of. + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + 2 + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + True if the instance needs to be disposed of. + + + + Creates dynamic records. + + + + + Initializes a new instance. + + The reader. + + + + Creates a of type + that will create a record of the given type using the current + reader row. + + The record type. + + + + Creates a dynamic record of the current reader row. + + + + + Write dynamic records. + + + + + Initializes a new instance using the given writer. + + The writer. + + + + Creates a of type + that will write the given record using the current writer row. + + The record type. + The record. + + + + Writes expando objects. + + + + + Initializes a new instance using the given writer. + + The writer. + + + + Creates a of type + that will write the given record using the current writer row. + + The record type. + The record. + + + + Manages expression creation. + + + + + Initializes a new instance using the given reader. + + The reader. + + + + Initializes a new instance using the given writer. + + The writer. + + + + Creates the constructor arguments used to create a type. + + The mapping to create the arguments for. + The arguments that will be added to the mapping. + + + + Creates the member assignments for the given . + + The mapping to create the assignments for. + The assignments that will be added to from the mapping. + + + + Creates an expression the represents getting the field for the given + member and converting it to the member's type. + + The mapping for the member. + + + + Creates a member expression for the given member on the record. + This will recursively traverse the mapping to find the member + and create a safe member accessor for each level as it goes. + + The current member expression. + The mapping to look for the member to map on. + The member map to look for on the mapping. + An Expression to access the given member. + + + + Creates an instance of the given type using (in turn using the ObjectResolver), then assigns + the given member assignments to that instance. + + The type of the record we're creating. + The member assignments that will be assigned to the created instance. + A representing the instance creation and assignments. + + + + Creates an expression that converts the field expression using a type converter. + + The mapping for the member. + The field expression. + + + + Creates an default expression if field expression is empty. + + The mapping for the member. + The field expression. + + + + Creates objects. + + + + + Initializes a new instance using the given reader. + + + + + + Creates a of type + that will create a record of the given type using the current + reader row. + + The record type. + + + + Writes objects. + + + + + Initializes a new instance using the given writer. + + The writer. + + + + Creates a of type + that will write the given record using the current writer row. + + The record type. + The record. + + + + Creates primitive records. + + + + + Initializes a new instance using the given reader. + + The reader. + + + + Creates a of type + that will create a record of the given type using the current + reader row. + + The record type. + + + + Writes primitives. + + + + + Initializes a new instance using the given writer. + + The writer. + + + + Creates a of type + that will write the given record using the current writer row. + + The record type. + The record. + + + + Base implementation for classes that create records. + + + + + The reader. + + + + + The expression manager. + + + + + Initializes a new instance using the given reader. + + The reader. + + + + Create a record of the given type using the current row. + + The record type. + + + + Create a record of the given type using the current row. + + The record type. + + + + Gets the delegate to create a record for the given record type. + If the delegate doesn't exist, one will be created and cached. + + The record type. + + + + Creates a of type + that will create a record of the given type using the current + reader row. + + The record type. + + + + Factory to create record creators. + + + + + Initializes a new instance using the given reader. + + The reader. + + + + Creates a record creator for the given record type. + + The record type. + + + + Hydrates members of an existing record. + + + + + Creates a new instance using the given reader. + + The reader. + + + + Hydrates members of the given record using the current reader row. + + The record type. + The record. + + + + Gets the action delegate used to hydrate a custom class object's members with data from the reader. + + The record type. + + + + Creates the action delegate used to hydrate a record's members with data from the reader. + + The record type. + + + + Manages record manipulation. + + + + + Initializes a new instance using the given reader. + + + + + + Initializes a new instance using the given writer. + + The writer. + + + + Creates a record of the given type using the current reader row. + + The type of record to create. + + + + Creates a record of the given type using the current reader row. + + The type of record to create. + + + + Hydrates the given record using the current reader row. + + The type of the record. + The record to hydrate. + + + + Writes the given record to the current writer row. + + The type of the record. + The record. + + + + Base implementation for classes that write records. + + + + + Gets the writer. + + + + + The expression manager. + + + + + Initializes a new instance using the given writer. + + The writer. + + + + Writes the record to the current row. + + Type of the record. + The record. + + + + Gets the delegate to write the given record. + If the delegate doesn't exist, one will be created and cached. + + The record type. + The record. + + + + Creates a of type + that will write the given record using the current writer row. + + The record type. + The record. + + + + Combines the delegates into a single multicast delegate. + This is needed because Silverlight doesn't have the + Delegate.Combine( params Delegate[] ) overload. + + The delegates to combine. + A multicast delegate combined from the given delegates. + + + + Factory to create record writers. + + + + + Initializes a new instance using the given writer. + + The writer. + + + + Creates a new record writer for the given record. + + The type of the record. + The record. + + + + Creates CsvHelper classes. + + + + + Creates an . + + The text reader to use for the csv parser. + The configuration to use for the csv parser. + The created parser. + + + + Creates an . + + The text reader to use for the csv parser. + The culture information. + + The created parser. + + + + + Creates an . + + The text reader to use for the csv reader. + The configuration to use for the reader. + The created reader. + + + + Creates an . + + The text reader to use for the csv reader. + The culture information. + + The created reader. + + + + + Creates an . + + The parser used to create the reader. + The created reader. + + + + Creates an . + + The text writer to use for the csv writer. + The configuration to use for the writer. + The created writer. + + + + Creates an . + + The text writer to use for the csv writer. + The culture information. + + The created writer. + + + + + Access point for fluent interface to dynamically build a + + Type you will be making a class map for + Options to further configure the + + + + Represents a user supplied field validation failure. + + + + + Gets the field that failed validation. + + + + + Initializes a new instance of the class. + + The reading context. + The field that failed validation. + + + + Initializes a new instance of the class + with a specified error message. + + The reading context. + The field that failed validation. + The message that describes the error. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that + is the cause of this exception. + + The reading context. + The field that failed validation. + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Represents a header validation failure. + + + + + Gets the header names that are mapped to a CSV field that couldn't be found. + + + + + Gets the header name index that is mapped to a CSV field that couldn't be found. + The index is used when a CSV header has multiple header names with the same value. + + + + + Initializes a new instance of the class. + + The reading context. + The header names that are mapped to a CSV field that couldn't be found. + The header name index that is mapped to a CSV field that couldn't be found. + + + + Initializes a new instance of the class + with a specified error message. + + The reading context. + The header names that are mapped to a CSV field that couldn't be found. + The header name index that is mapped to a CSV field that couldn't be found. + The message that describes the error. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that + is the cause of this exception. + + The reading context. + The header names that are mapped to a CSV field that couldn't be found. + The header name index that is mapped to a CSV field that couldn't be found. + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Defines methods used to create + CsvHelper classes. + + + + + Creates an . + + The text reader to use for the csv parser. + The configuration to use for the csv parser. + The created parser. + + + + Creates an . + + The text reader to use for the csv parser. + The culture information. + + The created parser. + + + + + Creates an . + + The text reader to use for the csv reader. + The configuration to use for the reader. + The created reader. + + + + Creates an . + + The text reader to use for the csv reader. + The culture information. + + The created reader. + + + + + Creates an . + + The parser used to create the reader. + The created reader. + + + + Creates an . + + The text writer to use for the csv writer. + The configuration to use for the writer. + The created writer. + + + + Creates an . + + The text writer to use for the csv writer. + The culture information. + + The created writer. + + + + + Provides a fluent interface for dynamically creating s + + Type of class to map + Next available options + + + + Defines methods used to read a field in a CSV file. + + + + + Gets the reading context. + + + + + Gets a value indicating if the buffer is empty. + True if the buffer is empty, otherwise false. + + + + + Fills the buffer. + + True if there is more data left. + False if all the data has been read. + + + + Fills the buffer asynchronously. + + True if there is more data left. + False if all the data has been read. + + + + Gets the next char as an . + + + + + Gets the field. This will append any reading progress. + + The current field. + + + + Appends the current reading progress. + + + + + Move's the buffer position according to the given offset. + + The offset to move the buffer. + + + + Sets the start of the field to the current buffer position. + + An offset for the field start. + The offset should be less than 1. + + + + Sets the end of the field to the current buffer position. + + An offset for the field start. + The offset should be less than 1. + + + + Sets the raw record start to the current buffer position; + + An offset for the raw record start. + The offset should be less than 1. + + + + Sets the raw record end to the current buffer position. + + An offset for the raw record end. + The offset should be less than 1. + + + + Defines the functionality of a class that creates objects + from a given type. + + + + + A value indicating if the resolver's + returns false that an object will still be created using + CsvHelper's object creation. True to fallback, otherwise false. + Default value is true. + + + + + A value indicating if the resolver is able to resolve + the given type. True if the type can be resolved, + otherwise false. + + + + + The function that creates an object from a given type. + + + + + Creates an object from the given type using the + function. If is false, the object will be + created using CsvHelper's default object creation. If + is false, an exception is thrown. + + The type to create an instance from. The created object + may not be the same type as the given type. + Constructor arguments used to create the type. + + + + Creates an object from the given type using the + function. If is false, the object will be + created using CsvHelper's default object creation. If + is false, an exception is thrown. + + The type to create an instance from. The created object + may not be the same type as the given type. + Constructor arguments used to create the type. + + + + Defines methods used the parse a CSV file. + + + + + Gets the reading context. + + + + + Gets the configuration. + + + + + Gets the . + + + + + Reads a record from the CSV file. + + A of fields for the record read. + + + + Reads a record from the CSV file asynchronously. + + A of fields for the record read. + + + + Defines methods used to read parsed data + from a CSV file. + + + + + Gets the parser. + + + + + Reads the header record without reading the first row. + + True if there are more records, otherwise false. + + + + Advances the reader to the next record. This will not read headers. + You need to call then + for the headers to be read. + + True if there are more records, otherwise false. + + + + Advances the reader to the next record. This will not read headers. + You need to call then + for the headers to be read. + + True if there are more records, otherwise false. + + + + Gets all the records in the CSV file and + converts each to T. The Read method + should not be used when using this. + + The of the record. + An of records. + + + + Gets all the records in the CSV file and converts + each to T. The read method + should not be used when using this. + + The of the record. + The anonymous type definition to use for the records. + An of records. + + + + Gets all the records in the CSV file and + converts each to T. The Read method + should not be used when using this. + + The of the record. + An of records. + + + + Enumerates the records hydrating the given record instance with row data. + The record instance is re-used and not cleared on each enumeration. + This only works for streaming rows. If any methods are called on the projection + that force the evaluation of the IEnumerable, such as ToList(), the entire list + will contain the same instance of the record, which is the last row. + + The type of the record. + The record to fill each enumeration. + An of records. + + + + Gets all the records in the CSV file and + converts each to T. The Read method + should not be used when using this. + + The of the record. + An of records. + + + + Gets all the records in the CSV file and converts + each to T. The read method + should not be used when using this. + + The of the record. + The anonymous type definition to use for the records. + An of records. + + + + Gets all the records in the CSV file and + converts each to T. The Read method + should not be used when using this. + + The of the record. + An of records. + + + + Enumerates the records hydrating the given record instance with row data. + The record instance is re-used and not cleared on each enumeration. + This only works for streaming rows. If any methods are called on the projection + that force the evaluation of the IEnumerable, such as ToList(), the entire list + will contain the same instance of the record, which is the last row. + + The type of the record. + The record to fill each enumeration. + An of records. + + + + Defines methods used to read parsed data + from a CSV file row. + + + + + Gets the reading context. + + + + + Gets or sets the configuration. + + + + + Gets the raw field at position (column) index. + + The zero based index of the field. + The raw field. + + + + Gets the raw field at position (column) name. + + The named index of the field. + The raw field. + + + + Gets the raw field at position (column) name. + + The named index of the field. + The zero based index of the field. + The raw field. + + + + Gets the raw field at position (column) index. + + The zero based index of the field. + The raw field. + + + + Gets the raw field at position (column) name. + + The named index of the field. + The raw field. + + + + Gets the raw field at position (column) name and the index + instance of that field. The index is used when there are + multiple columns with the same header name. + + The named index of the field. + The zero based index of the instance of the field. + The raw field. + + + + Gets the field converted to using + the specified . + + The type of the field. + The index of the field. + The field converted to . + + + + Gets the field converted to using + the specified . + + The type of the field. + The named index of the field. + The field converted to . + + + + Gets the field converted to using + the specified . + + The type of the field. + The named index of the field. + The zero based index of the instance of the field. + The field converted to . + + + + Gets the field converted to using + the specified . + + The type of the field. + The index of the field. + The used to convert the field to . + The field converted to . + + + + Gets the field converted to using + the specified . + + The type of the field. + The named index of the field. + The used to convert the field to . + The field converted to . + + + + Gets the field converted to using + the specified . + + The type of the field. + The named index of the field. + The zero based index of the instance of the field. + The used to convert the field to . + The field converted to . + + + + Gets the field converted to T at position (column) index. + + The of the field. + The zero based index of the field. + The field converted to T. + + + + Gets the field converted to T at position (column) name. + + The of the field. + The named index of the field. + The field converted to T. + + + + Gets the field converted to T at position + (column) name and the index instance of that field. The index + is used when there are multiple columns with the same header name. + + + The named index of the field. + The zero based index of the instance of the field. + + + + + Gets the field converted to T at position (column) index using + the given . + + The of the field. + The zero based index of the field. + The used to convert the field to T. + The field converted to T. + + + + Gets the field converted to T at position (column) name using + the given . + + The of the field. + The named index of the field. + The used to convert the field to T. + The field converted to T. + + + + Gets the field converted to T at position + (column) name and the index instance of that field. The index + is used when there are multiple columns with the same header name. + + The of the field. + The named index of the field. + The zero based index of the instance of the field. + The used to convert the field to T. + The field converted to T. + + + + Gets the field converted to T at position (column) index using + the given . + + The of the field. + The used to convert the field to T. + The zero based index of the field. + The field converted to T. + + + + Gets the field converted to T at position (column) name using + the given . + + The of the field. + The used to convert the field to T. + The named index of the field. + The field converted to T. + + + + Gets the field converted to T at position + (column) name and the index instance of that field. The index + is used when there are multiple columns with the same header name. + + The of the field. + The used to convert the field to T. + The named index of the field. + The zero based index of the instance of the field. + The field converted to T. + + + + Gets the field converted to T at position (column) index. + + The of the field. + The zero based index of the field. + The field converted to type T. + A value indicating if the get was successful. + + + + Gets the field converted to T at position (column) name. + + The of the field. + The named index of the field. + The field converted to T. + A value indicating if the get was successful. + + + + Gets the field converted to T at position + (column) name and the index instance of that field. The index + is used when there are multiple columns with the same header name. + + The of the field. + The named index of the field. + The zero based index of the instance of the field. + The field converted to T. + A value indicating if the get was successful. + + + + Gets the field converted to T at position (column) index + using the specified . + + The of the field. + The zero based index of the field. + The used to convert the field to T. + The field converted to T. + A value indicating if the get was successful. + + + + Gets the field converted to T at position (column) name + using the specified . + + The of the field. + The named index of the field. + The used to convert the field to T. + The field converted to T. + A value indicating if the get was successful. + + + + Gets the field converted to T at position (column) name + using the specified . + + The of the field. + The named index of the field. + The zero based index of the instance of the field. + The used to convert the field to T. + The field converted to T. + A value indicating if the get was successful. + + + + Gets the field converted to T at position (column) index. + + The of the field. + The zero based index of the field. + The field converted to type T. + A value indicating if the get was successful. + + + + Gets the field converted to T at position (column) name. + + The of the field. + The named index of the field. + The field converted to T. + A value indicating if the get was successful. + + + + Gets the field converted to T at position + (column) name and the index instance of that field. The index + is used when there are multiple columns with the same header name. + + + The named index of the field. + The zero based index of the instance of the field. + The field converted to T. + A value indicating if the get was successful. + + + + Gets the field converted to T at position (column) index + using the specified . + + The of the field. + The zero based index of the field. + The used to convert the field to T. + The field converted to T. + A value indicating if the get was successful. + + + + Gets the field converted to T at position (column) name + using the specified . + + The of the field. + The named index of the field. + The used to convert the field to T. + The field converted to T. + A value indicating if the get was successful. + + + + Gets the field converted to T at position (column) name + using the specified . + + The of the field. + The named index of the field. + The zero based index of the instance of the field. + The used to convert the field to T. + The field converted to T. + A value indicating if the get was successful. + + + + Gets the field converted to T at position (column) index + using the specified . + + The of the field. + The used to convert the field to T. + The zero based index of the field. + The field converted to T. + A value indicating if the get was successful. + + + + Gets the field converted to T at position (column) name + using the specified . + + The of the field. + The used to convert the field to T. + The named index of the field. + The field converted to T. + A value indicating if the get was successful. + + + + Gets the field converted to T at position (column) name + using the specified . + + The of the field. + The used to convert the field to T. + The named index of the field. + The zero based index of the instance of the field. + The field converted to T. + A value indicating if the get was successful. + + + + Gets the record converted into T. + + The of the record. + The record converted to T. + + + + Get the record converted into T. + + The of the record. + The anonymous type definition to use for the record. + The record converted to T. + + + + Gets the record. + + The of the record. + The record. + + + + Defines methods used to serialize data into a CSV file. + + + + + Gets the writing context. + + + + + Gets the configuration. + + + + + Writes a record to the CSV file. + + The record to write. + + + + Writes a record to the CSV file. + + The record to write. + + + + Writes a new line to the CSV file. + + + + + Writes a new line to the CSV file. + + + + + Defines methods used to write to a CSV file. + + + + + Serializes the row to the . + + + + + Serializes the row to the . + + + + + Ends writing of the current record and starts a new record. + This automatically flushes the writer. + + + + + Ends writing of the current record and starts a new record. + This automatically flushes the writer. + + + + + Writes the list of records to the CSV file. + + The records to write. + + + + Writes the list of records to the CSV file. + + Record type. + The records to write. + + + + Writes the list of records to the CSV file. + + The records to write. + + + + Writes the list of records to the CSV file. + + Record type. + The records to write. + + + + Defines methods used to write a CSV row. + + + + + Gets the writing context. + + + + + Gets or sets the configuration. + + + + + Writes a field that has already been converted to a + from an . + If the field is null, it won't get written. A type converter + will always return a string, even if field is null. If the + converter returns a null, it means that the converter has already + written data, and the returned value should not be written. + + The converted field to write. + + + + Writes the field to the CSV file. The field + may get quotes added to it. + When all fields are written for a record, + must be called + to complete writing of the current record. + + The field to write. + + + + Writes the field to the CSV file. This will + ignore any need to quote and ignore + + and just quote based on the shouldQuote + parameter. + When all fields are written for a record, + must be called + to complete writing of the current record. + + The field to write. + True to quote the field, otherwise false. + + + + Writes the field to the CSV file. + When all fields are written for a record, + must be called + to complete writing of the current record. + + The type of the field. + The field to write. + + + + Writes the field to the CSV file. + When all fields are written for a record, + must be called + to complete writing of the current record. + + The type of the field. + The field to write. + The converter used to convert the field into a string. + + + + Writes the field to the CSV file + using the given . + When all fields are written for a record, + must be called + to complete writing of the current record. + + The type of the field. + The type of the converter. + The field to write. + + + + Writes a comment. + + The comment to write. + + + + Writes the header record from the given members. + + The type of the record. + + + + Writes the header record from the given members. + + The type of the record. + + + + Writes the record to the CSV file. + + The type of the record. + The record to write. + + + + Represents an error caused because a field is missing + in the header while reading a CSV file. + + + + + Initializes a new instance of the class. + + The reading context. + + + + Initializes a new instance of the class + with a specified error message. + + The reading context. + The message that describes the error. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that + is the cause of this exception. + + The reading context. + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Creates objects from a given type. + + + + + Gets or sets the current resolver. + + + + + A value indicating if the resolver's + returns false that an object will still be created using + CsvHelper's object creation. True to fallback, otherwise false. + Default value is true. + + + + + A function that returns a value indicating if the resolver + is able to resolve the given type. True if the type can be + resolved, otherwise false. + + + + + The function that creates an object from a given type. + + + + + Creates an instance of the object resolver using default values. + + + + + Creates an instance of the object resolver using the given can create function + and create function. + + A function that returns a value indicating if the resolver + is able to resolve the given type. True if the type can be + resolved, otherwise false. + The function that creates an object from a given type. + A value indicating if the resolver's + returns false that an object will still be created using + CsvHelper's object creation. True to fallback, otherwise false. + Default value is true. + + + + Creates an object from the given type using the + function. If is false, the object will be + created using CsvHelper's default object creation. If + is false, an exception is thrown. + + The type to create an instance from. The created object + may not be the same type as the given type. + Constructor arguments used to create the type. + + + + Creates an object from the given type using the + function. If is false, the object will be + created using CsvHelper's default object creation. If + is false, an exception is thrown. + + The type to create an instance from. The created object + may not be the same type as the given type. + Constructor arguments used to create the type. + + + + Represents errors that occur while parsing a CSV file. + + + + + Initializes a new instance of the class. + + The reading context. + + + + Initializes a new instance of the class + with a specified error message. + + The reading context. + The message that describes the error. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that + is the cause of this exception. + + The reading context. + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Represents errors that occur while reading a CSV file. + + + + + Initializes a new instance of the class. + + The reading context. + + + + Initializes a new instance of the class + with a specified error message. + + The reading context. + The message that describes the error. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that + is the cause of this exception. + + The reading context. + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + CSV reading state. + + + + + Gets the raw record builder. + + + + + Gets the field builder. + + + + + Gets the record builder. + + + + + Gets the named indexes. + + + + + Gets the named indexes cache. + + + + + Gets the type converter options cache. + + + + + Gets the create record functions. + + + + + Gets the hydrate record actions. + + + + + Gets the reusable member map data. + + + + + Gets the that is read from. + + + + + Gets a value indicating if the + should be left open when disposing. + + + + + Gets the buffer used to store data from the . + + + + + Gets the buffer position. + + + + + Gets the field start position. + + + + + Gets the field end position. + + + + + Gets the raw record start position. + + + + + Gets the raw record end position. + + + + + Gets the number of characters read from the . + + + + + Gets the character position. + + + + + Gets the byte position. + + + + + Gets a value indicating if the field is bad. + True if the field is bad, otherwise false. + A field is bad if a quote is found in a field + that isn't escaped. + + + + + Gets the record. + + + + + Gets the row of the CSV file that the parser is currently on. + + + + + Gets the row of the CSV file that the parser is currently on. + This is the actual file row. + + + + + Gets a value indicating if reading has begun. + + + + + Gets the header record. + + + + + Gets the current index. + + + + + Gets the column count. + + + + + Gets the configuration. + + + + + Gets the configuration. + + + + + Gets all the characters of the record including + quotes, delimiters, and line endings. + + + + + Gets the field. + + + + + Initializes a new instance. + + The reader. + The configuration. + A value indicating if the TextReader should be left open when disposing. + + + + Clears the specified caches. + + The caches to clear. + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + 2 + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + True if the instance needs to be disposed of. + + + + Builds CSV records. + + + + + The number of records. + + + + + The total record capacity. + + + + + Creates a new using defaults. + + + + + Creates a new using the given capacity. + + The initial capacity. + + + + Adds a new field to the . + + The field to add. + The current instance of the . + + + + Clears the records. + + The current instance of the . + + + + Returns the record as an . + + The record as an . + + + + Extensions to help with reflection. + + + + + Gets the type from the member. + + The member to get the type from. + The type. + + + + Gets a member expression for the member. + + The member to get the expression for. + The member expression. + The member expression. + + + + Gets a value indicating if the given type is anonymous. + True for anonymous, otherwise false. + + The type. + + + + Gets a value indicating if the given type has a parameterless constructor. + True if it has a parameterless constructor, otherwise false. + + The type. + + + + Gets a value indicating if the given type has any constructors. + + The type. + + + + Gets the constructor that contains the most parameters. + + The type. + + + + Gets a value indicating if the type is a user defined struct. + True if it is a user defined struct, otherwise false. + + The type. + + + + Common reflection tasks. + + + + + Creates an instance of type T using the current . + + The type of instance to create. + The constructor arguments. + A new instance of type T. + + + + Creates an instance of the specified type using the current . + + The type of instance to create. + The constructor arguments. + A new instance of the specified type. + + + + Creates an instance of the specified type without using the + current . + + The type of instance to create. + The constructor arguments. + A new instance of the specified type. + + + + Gets the from the type where the property was declared. + + The type the property belongs to. + The property to search. + Flags for how the property is retrieved. + + + + Walk up the inheritance tree collecting properties. This will get a unique set or properties in the + case where parents have the same property names as children. + + The to get properties for. + The flags for getting the properties. + If true, parent class properties that are hidden by `new` child properties will be overwritten. + + + + Gets the property from the expression. + + The type of the model. + The type of the property. + The expression. + The for the expression. + + + + Gets the member inheritance chain as a stack. + + The type of the model. + The type of the property. + The member expression. + The inheritance chain for the given member expression as a stack. + + + + Converts an to and from a . + + + + + Converts the string to an object. + + The string to convert to an object. + The for the current record. + The for the member being created. + The object created from the string. + + + + Converts a to and from a . + + + + + Converts the object to a string. + + The object to convert to a string. + The for the current record. + The for the member being written. + The string representation of the object. + + + + Converts the string to an object. + + The string to convert to an object. + The for the current record. + The for the member being created. + The object created from the string. + + + + Converts a to and from a . + + + + + Converts the string to an object. + + The string to convert to an object. + The for the current record. + The for the member being created. + The object created from the string. + + + + Converts a to and from a . + + + + + Creates a new ByteArrayConverter using the given . + + The options. + + + + Converts the object to a string. + + The object to convert to a string. + The for the current record. + The for the member being written. + The string representation of the object. + + + + Converts the string to an object. + + The string to convert to an object. + The for the current record. + The for the member being created. + The object created from the string. + + + + Options for converting byte arrays. + + + + + No options. + + + + + Hexadecimal encoding. + + + + + Base64 encoding. + + + + + Use dashes in between hex values. + + + + + Prefix hex number with 0x. + + + + + Converts a to and from a . + + + + + Converts the string to an object. + + The string to convert to an object. + The for the current record. + The for the member being created. + The object created from the string. + + + + Converts a to and from a . + + + + + Converts the string to an object. + + The string to convert to an object. + The for the current record. + The for the member being created. + The object created from the string. + + + + Converts a to and from a . + + + + + Converts the string to an object. + + The string to convert to an object. + The for the current record. + The for the member being created. + The object created from the string. + + + + Converts a to and from a . + + + + + Converts the string to an object. + + The string to convert to an object. + The for the current record. + The for the member being created. + The object created from the string. + + + + Converts a to and from a . + + + + + Converts the string to an object. + + The string to convert to an object. + The for the current record. + The for the member being created. + The object created from the string. + + + + Converts a to and from a . + + + + + Converts the string to an object. + + The string to convert to an object. + The for the current record. + The for the member being created. + The object created from the string. + + + + Converts an to and from a . + + + + + Converts the object to a string. + + The object to convert to a string. + The for the current record. + The for the member being written. + The string representation of the object. + + + + Converts the string to an object. + + The string to convert to an object. + The for the current record. + The for the member being created. + The object created from the string. + + + + Converts a to and from a . + + + + + Converts the object to a string. + + The object to convert to a string. + The for the current record. + The for the member being written. + The string representation of the object. + + + + Converts the string to an object. + + The string to convert to an object. + The for the current record. + The for the member being created. + The object created from the string. + + + + Converts an to and from a . + + + + + Creates a new for the given . + + The type of the Enum. + + + + Converts the string to an object. + + The string to convert to an object. + The for the current record. + The for the member being created. + The object created from the string. + + + + Throws an exception when used. This is here so that it's apparent + that there is no support for type conversion. A custom + converter will need to be created to have a field convert to and + from an IEnumerable. + + + + + Throws an exception. + + The string to convert to an object. + The for the current record. + The for the member being created. + The object created from the string. + + + + Throws an exception. + + The object to convert to a string. + The for the current record. + The for the member being written. + The string representation of the object. + + + + Converts a to and from a . + + + + + Converts the string to an object. + + The string to convert to an object. + The for the current record. + The for the member being created. + The object created from the string. + + + + Converts an to and from a . + + + + + Converts the object to a string. + + The object to convert to a string. + The for the current record. + The for the member being written. + The string representation of the object. + + + + Converts the string to an object. + + The string to convert to an object. + The for the current record. + The for the member being created. + The object created from the string. + + + + Converts an to and from a . + + + + + Converts the string to an object. + + The string to convert to an object. + The for the current record. + The for the member being created. + The object created from the string. + + + + Converts an to and from a . + + + + + Converts the object to a string. + + The object to convert to a string. + + + The string representation of the object. + + + + Converts the string to an object. + + The string to convert to an object. + The for the current record. + The for the member being created. + The object created from the string. + + + + Converts an to and from a . + + + + + Converts the string to an object. + + The string to convert to an object. + The for the current record. + The for the member being created. + The object created from the string. + + + + Converts a to and from a . + + + + + Converts the string to an object. + + The string to convert to an object. + The for the current record. + The for the member being created. + The object created from the string. + + + + Converts an to and from a . + + + + + Converts the string to an object. + + The string to convert to an object. + The for the current record. + The for the member being created. + The object created from the string. + + + + Converts an to and from a . + + + + + Converts the string to an object. + + The string to convert to an object. + The for the current record. + The for the member being created. + The object created from the string. + + + + Converts objects to and from strings. + + + + + Converts the object to a string. + + The object to convert to a string. + The for the current record. + The for the member being written. + The string representation of the object. + + + + Converts the string to an object. + + The string to convert to an object. + The for the current record. + The for the member being created. + The object created from the string. + + + + Converts a to and from a . + + + + + Gets the type of the nullable. + + + The type of the nullable. + + + + + Gets the underlying type of the nullable. + + + The underlying type. + + + + + Gets the type converter for the underlying type. + + + The type converter. + + + + + Creates a new for the given . + + The nullable type. + The type converter factory. + type is not a nullable type. + + + + Converts the string to an object. + + The string to convert to an object. + The for the current record. + The for the member being created. + The object created from the string. + + + + Converts the object to a string. + + The object to convert to a string. + + + The string representation of the object. + + + + Converts a to and from a . + + + + + Converts the string to an object. + + The string to convert to an object. + The for the current record. + The for the member being created. + The object created from the string. + + + + Converts a to and from a . + + + + + Converts the object to a string. + + The object to convert to a string. + The for the current record. + The for the member being written. + The string representation of the object. + + + + Converts the string to an object. + + The string to convert to an object. + The for the current record. + The for the member being created. + The object created from the string. + + + + Converts a to and from a . + + + + + Converts the string to an object. + + The string to convert to an object. + The for the current record. + The for the member being created. + The object created from the string. + + + + Converts a to and from a . + + + + + Converts the string to an object. + + The string to convert to an object. + The for the current record. + The for the member being created. + The object created from the string. + + + + Throws an exception when used. This is here so that it's apparent + that there is no support for type conversion. A custom + converter will need to be created to have a field convert to and + from . + + + + + Throws an exception. + + The string to convert to an object. + The for the current record. + The for the member being created. + The object created from the string. + + + + Throws an exception. + + The object to convert to a string. + The for the current record. + The for the member being written. + The string representation of the object. + + + + Caches s for a given type. + + + + + Initializes the class. + + + + + Adds the for the given . + + The type the converter converts. + The type converter that converts the type. + + + + Adds the for the given . + + The type the converter converts. + The type converter that converts the type. + + + + Removes the for the given . + + The type to remove the converter for. + + + + Removes the for the given . + + The type to remove the converter for. + + + + Gets the converter for the given . + + The type to get the converter for. + The for the given . + + + + Gets the converter for the given member. If an attribute is + found on the member, that will be used, otherwise the cache + will be used. + + The member to get the converter for. + + + + Gets the converter for the given . + + The type to get the converter for. + The for the given . + + + + Represents errors that occur while reading a CSV file. + + + + + The text used in ConvertFromString. + + + + + The value used in ConvertToString. + + + + + The type converter. + + + + + The member map data used in ConvertFromString and ConvertToString. + + + + + Initializes a new instance of the class. + + The type converter. + The member map data. + The text. + The reading context. + + + + Initializes a new instance of the class. + + The type converter. + The member map data. + The value. + The writing context. + + + + Initializes a new instance of the class + with a specified error message. + + The type converter. + The member map data. + The text. + The reading context. + The message that describes the error. + + + + Initializes a new instance of the class + with a specified error message. + + The type converter. + The member map data. + The value. + The writing context. + The message that describes the error. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that + is the cause of this exception. + + The type converter. + The member map data. + The text. + The reading context. + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that + is the cause of this exception. + + The type converter. + The member map data. + The value. + The writing context. + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Options used when doing type conversion. + + + + + Gets or sets the culture info. + + + + + Gets or sets the date time style. + + + + + Gets or sets the time span style. + + + + + Gets or sets the number style. + + + + + Gets or sets the string format. + + + + + Gets or sets the . + + + + + Gets the list of values that can be + used to represent a boolean of true. + + + + + Gets the list of values that can be + used to represent a boolean of false. + + + + + Gets the list of values that can be used to represent a null value. + + + + + Merges TypeConverterOptions by applying the values of sources in order on to each other. + The first object is the source object. + + The sources that will be applied. + The updated source object. + + + + Caches for a given type. + + + + + Adds the for the given . + + The type the options are for. + The options. + + + + Adds the for the given . + + The type the options are for. + The options. + + + + Removes the for the given type. + + The type to remove the options for. + + + + Removes the for the given type. + + The type to remove the options for. + + + + Get the for the given . + + The type the options are for. + The options for the given type. + + + + Get the for the given . + + The type the options are for. + The options for the given type. + + + + Converts a to and from a . + + + + + Converts the string to an object. + + The string to convert to an object. + The for the current record. + The for the member being created. + The object created from the string. + + + + Converts a to and from a . + + + + + Converts the string to an object. + + The string to convert to an object. + The for the current record. + The for the member being created. + The object created from the string. + + + + Converts a to and from a . + + + + + Converts the string to an object. + + The string to convert to an object. + The for the current record. + The for the member being created. + The object created from the string. + + + + Converts a to and from a . + + + + + Converts the to a . + + The string to convert to an object. + The for the current record. + The for the member being created. + + The created from the string. + + + + + Represents a user supplied validation failure. + + + + + Initializes a new instance of the class. + + The reading context. + + + + Initializes a new instance of the class + with a specified error message. + + The reading context. + The message that describes the error. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that + is the cause of this exception. + + The reading context. + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Represents errors that occur while writing a CSV file. + + + + + Initializes a new instance of the class. + + The writing context. + + + + Initializes a new instance of the class + with a specified error message. + + The writing context. + The message that describes the error. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that + is the cause of this exception. + + The writing context. + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + CSV writing state. + + + + + Gets the type actions. + + + + + Gets the type converter options. + + + + + Gets or sets the reusable member map data. + + + + + Gets the writer configuration. + + + + + Gets the serializer configuration. + + + + + Gets the . + + + + + Gets a value indicating if the + should be left open when disposing. + + + + + Gets the current row. + + + + + Get the current record; + + + + + Gets a value indicating if the header has been written. + + + + + Gets a value indicating if a record has been written. + + + + + Initializes a new instance. + + The writer. + The configuration. + A value indicating if the TextWriter should be left open. + + + + Clears the specified caches. + + The caches to clear. + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + 2 + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + True if the instance needs to be disposed of. + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + 2 + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + True if the instance needs to be disposed of. + + + diff --git a/packages/CsvHelper.15.0.5/lib/netstandard2.0/CsvHelper.dll b/packages/CsvHelper.15.0.5/lib/netstandard2.0/CsvHelper.dll new file mode 100644 index 0000000..6395d7e Binary files /dev/null and b/packages/CsvHelper.15.0.5/lib/netstandard2.0/CsvHelper.dll differ diff --git a/packages/CsvHelper.15.0.5/lib/netstandard2.0/CsvHelper.xml b/packages/CsvHelper.15.0.5/lib/netstandard2.0/CsvHelper.xml new file mode 100644 index 0000000..16ec07c --- /dev/null +++ b/packages/CsvHelper.15.0.5/lib/netstandard2.0/CsvHelper.xml @@ -0,0 +1,7655 @@ + + + + CsvHelper + + + + + Represents errors that occur due to bad data. + + + + + Initializes a new instance of the class. + + The reading context. + + + + Initializes a new instance of the class + with a specified error message. + + The reading context. + The message that describes the error. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that + is the cause of this exception. + + The reading context. + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Types of caches. + + + + + None. + + + + + Named index. + + + + + Delegate that creates objects when reading. + + + + + Delegate that writes objects to strings when writing. + + + + + Type converter options. + + + + + Raw record. + + + + + The string values used to represent a boolean false when converting. + + + + + Gets the false values. + + + + + The string values used to represent a boolean false when converting. + + The false values. + + + + The string values used to represent a boolean false when converting. + + The false values. + + + + Applies configuration to the given . + + The member map. + + + + The string values used to represent a boolean true when converting. + + + + + Gets the true values. + + + + + The string values used to represent a boolean true when converting. + + + + + + The string values used to represent a boolean true when converting. + + + + + + Applies configuration to the given . + + The member map. + + + + The constant value that will be used for every record when + reading and writing. This value will always be used no matter + what other mapping configurations are specified. + + + + + Gets the constant. + + + + + The constant value that will be used for every record when + reading and writing. This value will always be used no matter + what other mapping configurations are specified. + + The constant. + + + + Applies configuration to the given . + + The member map. + + + + The used when type converting. + This will override the global + setting. + + + + + Gets the culture info. + + + + + The used when type converting. + This will override the global + setting. + + The culture. + + + + Applies configuration to the given . + + The member map. + + + + The to use when type converting. + This is used when doing any conversions. + + + + + Gets the date time styles. + + + + + The to use when type converting. + This is used when doing any conversions. + + The date time styles. + + + + Applies configuration to the given . + + The member map. + + + + The default value that will be used when reading when + the CSV field is empty. + + + + + Gets the default value. + + + + + The default value that will be used when reading when + the CSV field is empty. + + The default value + + + + Applies configuration to the given . + + The member map. + + + + The string format to be used when type converting. + + + + + Gets the formats. + + + + + The string format to be used when type converting. + + The format. + + + + The string format to be used when type converting. + + The formats. + + + + Applies configuration to the given . + + The member map. + + + + Appends a prefix to the header of each field of the reference member. + + + + + Gets the prefix. + + + + + Appends a prefix to the header of each field of the reference member. + + + + + Appends a prefix to the header of each field of the reference member. + + The prefix. + + + + Applies configuration to the given . + + The reference map. + + + + Ignore the member when reading and writing. + If this member has already been mapped as a reference + member, either by a class map, or by automapping, calling + this method will not ignore all the child members down the + tree that have already been mapped. + + + + + Applies configuration to the given . + + The member map. + + + + Applies configuration to the given . + + The reference map. + + + + + Defines methods to enables pluggable configuration of member mapping. + + + + + Applies configuration to the given . + + The member map. + + + + Defines methods to enables pluggable configuration of member mapping. + + + + + Applies configuration to the given . + + The reference map. + + + + When reading, is used to get the field at + the given index. When writing, the fields + will be written in the order of the field + indexes. + + + + + Gets the index. + + + + + Gets the index end. + + + + + When reading, is used to get the field at + the given index. When writing, the fields + will be written in the order of the field + indexes. + + The index. + The index end. + + + + Applies configuration to the given . + + The member map. + + + + When reading, is used to get the field + at the index of the name if there was a + header specified. It will look for the + first name match in the order listed. + When writing, sets the name of the + field in the header record. + The first name will be used. + + + + + Gets the names. + + + + + When reading, is used to get the field + at the index of the name if there was a + header specified. It will look for the + first name match in the order listed. + When writing, sets the name of the + field in the header record. + The first name will be used. + + The name + + + + When reading, is used to get the field + at the index of the name if there was a + header specified. It will look for the + first name match in the order listed. + When writing, sets the name of the + field in the header record. + The first name will be used. + + The names. + + + + Applies configuration to the given . + + The member map. + + + + When reading, is used to get the + index of the name used when there + are multiple names that are the same. + + + + + The name index. + + + + + When reading, is used to get the + index of the name used when there + are multiple names that are the same. + + The name index. + + + + Applies configuration to the given . + + The member map. + + + + The string values used to represent null when converting. + + + + + Gets the null values. + + + + + The string values used to represent null when converting. + + The null values. + + + + The string values used to represent null when converting. + + The null values. + + + + Applies configuration to the given . + + The member map. + + + + The to use when type converting. + This is used when doing any number conversions. + + + + + Gets the number styles. + + + + + The to use when type converting. + This is used when doing any number conversions. + + The number styles. + + + + Applies configuration to the given . + + The member map. + + + + Ignore the member when reading if no matching field name can be found. + + + + + Applies configuration to the given . + + The member map. + + + + Specifies the to use + when converting the member to and from a CSV field. + + + + + Gets the type converter. + + + + + Specifies the to use + when converting the member to and from a CSV field. + + + + + + Applies configuration to the given . + + The member map. + + + + Maps class members to CSV fields. + + + + + The type of the class this map is for. + + + + + The class constructor parameter mappings. + + + + + The class member mappings. + + + + + The class member reference mappings. + + + + + Allow only internal creation of CsvClassMap. + + The type of the class this map is for. + + + + Maps a member to a CSV field. + + The type of the class this map is for. This may not be the same type + as the member.DeclaringType or the current ClassType due to nested member mappings. + The member to map. + If true, an existing map will be used if available. + If false, a new map is created for the same member. + The member mapping. + + + + Maps a non-member to a CSV field. This allows for writing + data that isn't mapped to a class member. + + The member mapping. + + + + Maps a member to another class map. + + The type of the class map. + The member. + Constructor arguments used to create the reference map. + The reference mapping for the member. + + + + Auto maps all members for the given type. If a member + is mapped again it will override the existing map. + + The culture. + + + + Auto maps all members for the given type. If a member + is mapped again it will override the existing map. + + The configuration. + + + + Get the largest index for the + members and references. + + The max index. + + + + Resets the indexes based on the given start index. + + The index start. + The last index + 1. + + + + Auto maps the given map and checks for circular references as it goes. + + The map to auto map. + The configuration. + The list of parents for the map. + The index starting point. + + + + Auto maps the given map using constructor parameters. + + The map. + The configuration. + The list of parents for the map. + The index starting point. + + + + Checks for circular references. + + The type to check for. + The list of parents to check against. + A value indicating if a circular reference was found. + True if a circular reference was found, otherwise false. + + + + Gets the generic type for this class map. + + + + + Applies attribute configurations to the map. + + The member map. + + + + Applies attribute configurations to the map. + + The reference map. + + + + Has mapping capabilities. + + The class type. + + + + Maps a member to a CSV field. + + The member to map. + If true, an existing map will be used if available. + If false, a new map is created for the same member. + The member mapping. + + + + Options after a mapping call. + + The class type. + The member type. + + + + Has type converter capabilities. + + The class type. + The member type. + + + + Specifies the to use + when converting the member to and from a CSV field. + + The TypeConverter to use. + + + + Specifies the to use + when converting the member to and from a CSV field. + + The of the + to use. + + + + Options after a type converter call. + + The class type. + The member type. + + + + Has index capabilities. + + The class type. + The member type. + + + + When reading, is used to get the field at + the given index. When writing, the fields + will be written in the order of the field + indexes. + + The index of the CSV field. + The end index used when mapping to an member. + + + + Options after an index call. + + The class type. + The member type. + + + + Has optional capabilities. + + The class type. + The member type. + + + + Ignore the member when reading if no matching field name can be found. + + + + + Options after an optional call. + + The class type. + The member type. + + + + Has name capabilities. + + The class type. + The member type. + + + + When reading, is used to get the field + at the index of the name if there was a + header specified. It will look for the + first name match in the order listed. + When writing, sets the name of the + field in the header record. + The first name will be used. + + The possible names of the CSV field. + + + + Options after a name call. + + The class type. + The member type. + + + + Has name index capabilities. + + The class type. + The member type. + + + + When reading, is used to get the + index of the name used when there + are multiple names that are the same. + + The index of the name. + + + + Options after a name index call. + + The class type. + The member type. + + + + Has convert using capabilities. + + The class type. + The member type. + + + + Specifies an expression to be used to convert data in the + row to the member. + + The convert expression. + + + + Specifies an expression to be used to convert the object + to a field. + + The convert expression. + + + + Has default capabilities. + + The class type. + The member type. + + + + The default value that will be used when reading when + the CSV field is empty. + + The default value. + + + + The default value that will be used when reading when + the CSV field is empty. This value is not type checked + and will use a to convert + the field. This could potentially have runtime errors. + + The default value. + + + + Options after a default call. + + The class type. + The member type. + + + + Has constant capabilities. + + The class type. + The member type. + + + + The constant value that will be used for every record when + reading and writing. This value will always be used no matter + what other mapping configurations are specified. + + The constant value. + + + + Has validate capabilities. + + The class type. + The member type. + + + + The validate expression that will be called on every field when reading. + The expression should return true if the field is valid. + If false is returned, a + will be thrown. + + The validation expression. + + + + Has build capabilities. + + The class type. + + + + Builds the . + + + + + Collection that holds CsvClassMaps for record types. + + + + + Gets the for the specified record type. + + + The . + + The record type. + The for the specified record type. + + + + Creates a new instance using the given configuration. + + The configuration. + + + + Finds the for the specified record type. + + The record type. + The for the specified record type. + + + + Adds the specified map for it's record type. If a map + already exists for the record type, the specified + map will replace it. + + The map. + + + + Removes the class map. + + The class map type. + + + + Removes all maps. + + + + + Goes up the inheritance tree to find the type instance of CsvClassMap{}. + + The type to traverse. + The type that is CsvClassMap{}. + + + + Sets defaults for the mapping tree. The defaults used + to be set inside the classes, but this didn't allow for + the TypeConverter to be created from the Configuration's + TypeConverterFactory. + + The map to set defaults on. + + + + Maps class members to CSV fields. + + The of class to map. + + + + Creates an instance of . + + + + + Maps a member to a CSV field. + + The member to map. + If true, an existing map will be used if available. + If false, a new map is created for the same member. + The member mapping. + + + + Meant for internal use only. + Maps a member to another class map. When this is used, accessing a property through + sub-property mapping later won't work. You can only use one or the other. When using + this, ConvertUsing will also not work. + + The type of the class map. + The expression. + Constructor arguments used to create the reference map. + The reference mapping for the member. + + + + Represents configuration errors that occur. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The message that describes the error. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that + is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + Holds the default callback methods for delegate members of CsvHelper.Configuration.Configuration. + + + + Throws a if is false. + + + + + Throws a MissingFieldException. + + + + + Throws a . + + + + + Throws the given . + + + + + Returns true if the field contains a , + starts with a space, ends with a space, contains \r or \n, or contains + the . + + The field. + The context. + + + + + Returns false. + + + + + Returns the as given. + + + + + Returns true if : + 1. does not have a parameterless constructor + 2. has a constructor + 3. is not a user defined struct + 4. is not an interface + 5. TypeCode is not an Object. + + + + + Returns the type's constructor with the most parameters. + If two constructors have the same number of parameters, then + there is no guarantee which one will be returned. If you have + that situation, you should probably implement this function yourself. + + + + + Configuration used for reading and writing CSV data. + + + + + Gets or sets the . + + + + + Gets or sets the . + + + + + Gets or sets a value indicating if the + CSV file has a header record. + Default is true. + + + + + Gets or sets the function that is called when a header validation check is ran. The default function + will throw a if there is no header for a given member mapping. + You can supply your own function to do other things like logging the issue instead of throwing an exception. + Arguments: isValid, headerNames, headerNameIndex, context + + + + + Gets or sets the function that is called when a missing field is found. The default function will + throw a . You can supply your own function to do other things + like logging the issue instead of throwing an exception. + Arguments: headerNames, index, context + + + + + Gets or sets the function that is called when bad field data is found. A field + has bad data if it contains a quote and the field is not quoted (escaped). + You can supply your own function to do other things like logging the issue + instead of throwing an exception. + Arguments: context + + + + + Gets or sets the function that is called when a reading exception occurs. + The default function will re-throw the given exception. If you want to ignore + reading exceptions, you can supply your own function to do other things like + logging the issue. + Arguments: exception + + + + + Gets or sets the callback that will be called to + determine whether to skip the given record or not. + + + + + Gets or sets a value indicating if a line break found in a quote field should + be considered bad data. True to consider a line break bad data, otherwise false. + Defaults to false. + + + + + Gets or sets a value indicating if fields should be sanitized + to prevent malicious injection. This covers MS Excel, + Google Sheets and Open Office Calc. + + + + + Gets or sets the characters that are used for injection attacks. + + + + + Gets or sets the character used to escape a detected injection. + + + + + Gets or sets a value indicating whether changes in the column + count should be detected. If true, a + will be thrown if a different column count is detected. + + + true if [detect column count changes]; otherwise, false. + + + + + Prepares the header field for matching against a member name. + The header field and the member name are both ran through this function. + You should do things like trimming, removing whitespace, removing underscores, + and making casing changes to ignore case. + + + + + Determines if constructor parameters should be used to create + the class instead of the default constructor and members. + + + + + Chooses the constructor to use for constructor mapping. + + + + + Gets or sets the comparer used to order the properties + of dynamic objects when writing. The default is null, + which will preserve the order the object properties + were created with. + + + + + Gets or sets a value indicating whether references + should be ignored when auto mapping. True to ignore + references, otherwise false. Default is false. + + + + + Gets or sets the field trimming options. + + + + + Gets or sets the delimiter used to separate fields. + Default is CultureInfo.TextInfo.ListSeparator. + + + + + Gets or sets the escape character used to escape a quote inside a field. + Default is '"'. + + + + + Gets or sets the character used to quote fields. + Default is '"'. + + + + + Gets a string representation of the currently configured Quote character. + + + The new quote string. + + + + + Gets a string representation of two of the currently configured Quote characters. + + + The new double quote string. + + + + + Gets or sets a function that is used to determine if a field should get quoted + when writing. + Arguments: field, context + + + + + Gets or sets the character used to denote + a line that is commented out. Default is '#'. + + + + + Gets or sets a value indicating if comments are allowed. + True to allow commented out lines, otherwise false. + + + + + Gets or sets the size of the buffer + used for reading CSV files. + Default is 2048. + + + + + Gets or sets a value indicating whether the number of bytes should + be counted while parsing. Default is false. This will slow down parsing + because it needs to get the byte count of every char for the given encoding. + The needs to be set correctly for this to be accurate. + + + + + Gets or sets the encoding used when counting bytes. + + + + + Gets or sets the culture info used to read an write CSV files. + Default is . + + + + + Gets or sets a value indicating if quotes should be + ignored when parsing and treated like any other character. + + + + + Gets or sets a value indicating if private + member should be read from and written to. + True to include private member, otherwise false. Default is false. + + + + + Gets or sets the member types that are used when auto mapping. + MemberTypes are flags, so you can choose more than one. + Default is Properties. + + + + + Gets or sets a value indicating if blank lines + should be ignored when reading. + True to ignore, otherwise false. Default is true. + + + + + Gets or sets a callback that will return the prefix for a reference header. + Arguments: memberType, memberName + + + + + The configured s. + + + + + Gets or sets the newline to use when writing. + + + + + Gets the newline string to use when writing. This string is determined + by the value. + + + + + Gets or sets a value indicating that during writing if a new + object should be created when a reference member is null. + True to create a new object and use it's defaults for the + fields, or false to leave the fields empty for all the + reference member's member. + + + + + Initializes a new instance of the class + using the given . Since + uses for it's default, the given + will be used instead. + + The culture information. + + + + Use a to configure mappings. + When using a class map, no members are mapped by default. + Only member specified in the mapping are used. + + The type of mapping class to use. + + + + Use a to configure mappings. + When using a class map, no members are mapped by default. + Only members specified in the mapping are used. + + The type of mapping class to use. + + + + Registers the class map. + + The class map to register. + + + + Unregisters the class map. + + The map type to unregister. + + + + Unregisters the class map. + + The map type to unregister. + + + + Unregisters all class maps. + + + + + Generates a for the type. + + The type to generate the map for. + The generate map. + + + + Generates a for the type. + + The type to generate for the map. + The generate map. + + + + A default that can be used + to create a class map dynamically. + + + + + + Configuration used for the . + + + + + Gets or sets the size of the buffer + used for reading CSV files. + Default is 2048. + + + + + Gets or sets a value indicating whether the number of bytes should + be counted while parsing. Default is false. This will slow down parsing + because it needs to get the byte count of every char for the given encoding. + The needs to be set correctly for this to be accurate. + + + + + Gets or sets the encoding used when counting bytes. + + + + + Gets or sets the function that is called when bad field data is found. A field + has bad data if it contains a quote and the field is not quoted (escaped). + You can supply your own function to do other things like logging the issue + instead of throwing an exception. + Arguments: context + + + + + Gets or sets a value indicating if a line break found in a quote field should + be considered bad data. True to consider a line break bad data, otherwise false. + Defaults to false. + + + + + Gets or sets the character used to denote + a line that is commented out. Default is '#'. + + + + + Gets or sets a value indicating if comments are allowed. + True to allow commented out lines, otherwise false. + + + + + Gets or sets a value indicating if blank lines + should be ignored when reading. + True to ignore, otherwise false. Default is true. + + + + + Gets or sets a value indicating if quotes should be + ignored when parsing and treated like any other character. + + + + + Gets or sets the character used to quote fields. + Default is '"'. + + + + + Gets or sets the delimiter used to separate fields. + Default is CultureInfo.CurrentCulture.TextInfo.ListSeparator. + + + + + Gets or sets the escape character used to escape a quote inside a field. + Default is '"'. + + + + + Gets or sets the field trimming options. + + + + + Configuration used for the . + + + + + Gets or sets a value indicating if the + CSV file has a header record. + Default is true. + + + + + Gets or sets the function that is called when a header validation check is ran. The default function + will throw a if there is no header for a given member mapping. + You can supply your own function to do other things like logging the issue instead of throwing an exception. + Arguments: isValid, headerNames, headerNameIndex, context + + + + + Gets or sets the function that is called when a missing field is found. The default function will + throw a . You can supply your own function to do other things + like logging the issue instead of throwing an exception. + Arguments: headerNames, index, context + + + + + Gets or sets the function that is called when a reading exception occurs. + The default function will re-throw the given exception. If you want to ignore + reading exceptions, you can supply your own function to do other things like + logging the issue. + Arguments: exception + + + + + Gets or sets the culture info used to read an write CSV files. + + + + + Gets or sets the . + + + + + Gets or sets the . + + + + + Prepares the header field for matching against a member name. + The header field and the member name are both ran through this function. + You should do things like trimming, removing whitespace, removing underscores, + and making casing changes to ignore case. + + + + + Determines if constructor parameters should be used to create + the class instead of the default constructor and members. + + + + + Chooses the constructor to use for constructor mapping. + + + + + Gets or sets a value indicating whether references + should be ignored when auto mapping. True to ignore + references, otherwise false. Default is false. + + + + + Gets or sets the callback that will be called to + determine whether to skip the given record or not. + + + + + Gets or sets a value indicating if private + member should be read from and written to. + True to include private member, otherwise false. Default is false. + + + + + Gets or sets a callback that will return the prefix for a reference header. + Arguments: memberType, memberName + + + + + Gets or sets a value indicating whether changes in the column + count should be detected. If true, a + will be thrown if a different column count is detected. + + + true if [detect column count changes]; otherwise, false. + + + + + Gets or sets the member types that are used when auto mapping. + MemberTypes are flags, so you can choose more than one. + Default is Properties. + + + + + The configured s. + + + + + Use a to configure mappings. + When using a class map, no members are mapped by default. + Only member specified in the mapping are used. + + The type of mapping class to use. + + + + Use a to configure mappings. + When using a class map, no member are mapped by default. + Only member specified in the mapping are used. + + The type of mapping class to use. + + + + Registers the class map. + + The class map to register. + + + + Unregisters the class map. + + The map type to unregister. + + + + Unregisters the class map. + + The map type to unregister. + + + + Unregisters all class maps. + + + + + Generates a for the type. + + The type to generate the map for. + The generate map. + + + + Generates a for the type. + + The type to generate for the map. + The generate map. + + + + Configuration used for the . + + + + + Gets or sets the delimiter used to separate fields. + Default is ','; + + + + + Gets or sets the character used to quote fields. + Default is '"'. + + + + + Gets or sets the escape character used to escape a quote inside a field. + Default is '"'. + + + + + Gets or sets the field trimming options. + + + + + Gets or sets a value indicating if fields should be sanitized + to prevent malicious injection. This covers MS Excel, + Google Sheets and Open Office Calc. + + + + + Gets or sets the characters that are used for injection attacks. + + + + + Gets or sets the character used to escape a detected injection. + + + + + Gets or sets the newline to use when writing. + + + + + Gets the newline string to use when writing. This string is determined + by the value. + + + + + Configuration used for the . + + + + + Gets a string representation of the currently configured Quote character. + + + The new quote string. + + + + + Gets a string representation of two of the currently configured Quote characters. + + + The new double quote string. + + + + + Gets or sets a function that is used to determine if a field should get quoted + when writing. + Arguments: field, context + + + + + Gets or sets the culture info used to read an write CSV files. + + + + + Gets or sets the . + + + + + Gets or sets the . + + + + + Gets or sets a value indicating if comments are allowed. + True to allow commented out lines, otherwise false. + + + + + Gets or sets the character used to denote + a line that is commented out. Default is '#'. + + + + + Gets or sets a value indicating if the + CSV file has a header record. + Default is true. + + + + + Gets or sets a value indicating whether references + should be ignored when auto mapping. True to ignore + references, otherwise false. Default is false. + + + + + Gets or sets a value indicating if private + member should be read from and written to. + True to include private member, otherwise false. Default is false. + + + + + Gets or sets a callback that will return the prefix for a reference header. + Arguments: memberType, memberName + + + + + Gets or sets the member types that are used when auto mapping. + MemberTypes are flags, so you can choose more than one. + Default is Properties. + + + + + The configured s. + + + + + Use a to configure mappings. + When using a class map, no member are mapped by default. + Only member specified in the mapping are used. + + The type of mapping class to use. + + + + Use a to configure mappings. + When using a class map, no member are mapped by default. + Only member specified in the mapping are used. + + The type of mapping class to use. + + + + Registers the class map. + + The class map to register. + + + + Unregisters the class map. + + The map type to unregister. + + + + Unregisters the class map. + + The map type to unregister. + + + + Unregisters all class maps. + + + + + Generates a for the type. + + The type to generate the map for. + The generate map. + + + + Generates a for the type. + + The type to generate for the map. + The generate map. + + + + Gets or sets a value indicating that during writing if a new + object should be created when a reference member is null. + True to create a new object and use it's defaults for the + fields, or false to leave the fields empty for all the + reference member's member. + + + + + Gets or sets the comparer used to order the properties + of dynamic objects when writing. The default is null, + which will preserve the order the object properties + were created with. + + + + + Sets type converter options on a member map. + + + + + Creates a new instance using the given . + + The member map the options are being applied to. + + + + The used when type converting. + This will override the global + setting. + + The culture info. + + + + The to use when type converting. + This is used when doing any conversions. + + The date time style. + + + + The to use when type converting. + This is used when doing converting. + + The time span styles. + + + + The to use when type converting. + This is used when doing any number conversions. + + + + + + The string format to be used when type converting. + + The format. + + + + The to use when converting. + This is used when doing conversions. + + Kind of the URI. + + + + The string values used to represent a boolean when converting. + + A value indicating whether true values or false values are being set. + A value indication if the current values should be cleared before adding the new ones. + The string boolean values. + + + + The string values used to represent null when converting. + + The values that represent null. + + + + + The string values used to represent null when converting. + + A value indication if the current values should be cleared before adding the new ones. + The values that represent null. + + + + + Mapping info for a member to a CSV field. + + + + + Gets the member map data. + + + + + Type converter options. + + + + + Creates an instance of using the given Type and . + + Type of the class the member being mapped belongs to. + The member being mapped. + + + + When reading, is used to get the field + at the index of the name if there was a + header specified. It will look for the + first name match in the order listed. + When writing, sets the name of the + field in the header record. + The first name will be used. + + The possible names of the CSV field. + + + + When reading, is used to get the + index of the name used when there + are multiple names that are the same. + + The index of the name. + + + + When reading, is used to get the field at + the given index. When writing, the fields + will be written in the order of the field + indexes. + + The index of the CSV field. + The end index used when mapping to an member. + + + + Ignore the member when reading and writing. + If this member has already been mapped as a reference + member, either by a class map, or by automapping, calling + this method will not ignore all the child members down the + tree that have already been mapped. + + + + + Ignore the member when reading and writing. + If this member has already been mapped as a reference + member, either by a class map, or by automapping, calling + this method will not ignore all the child members down the + tree that have already been mapped. + + True to ignore, otherwise false. + + + + The default value that will be used when reading when + the CSV field is empty. + + The default value. + + + + The default value that will be used when reading when + the CSV field is empty. This value is not type checked + and will use a to convert + the field. This could potentially have runtime errors. + + The default value. + + + + The constant value that will be used for every record when + reading and writing. This value will always be used no matter + what other mapping configurations are specified. + + The constant value. + + + + Specifies the to use + when converting the member to and from a CSV field. + + The TypeConverter to use. + + + + Specifies the to use + when converting the member to and from a CSV field. + + The of the + to use. + + + + Specifies an expression to be used to validate a field when reading. + + + + + + A collection that holds 's. + + + + + Gets the number of elements contained in the . + + + The number of elements contained in the . + + + + + Gets a value indicating whether the is read-only. + + + true if the is read-only; otherwise, false. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The comparer to use when sorting the member maps. + + + + Returns an enumerator that iterates through the collection. + + + A that can be used to iterate through the collection. + + 1 + + + + Returns an enumerator that iterates through a collection. + + + An object that can be used to iterate through the collection. + + 2 + + + + Adds an item to the . + + The object to add to the . + The is read-only. + + + + + Adds a range of items to the . + + The collection to add. + + + + Removes all items from the . + + The is read-only. + + + + + Determines whether the contains a specific value. + + + true if is found in the ; otherwise, false. + + The object to locate in the . + + + + + Copies the elements of the to an , starting at a particular index. + + The one-dimensional that is the destination of the elements copied from . The must have zero-based indexing.The zero-based index in at which copying begins. is null. is less than 0.The number of elements in the source is greater than the available space from to the end of the destination . + + + + Removes the first occurrence of a specific object from the . + + + true if was successfully removed from the ; otherwise, false. This method also returns false if is not found in the original . + + The object to remove from the . + The is read-only. + + + + + Determines the index of a specific item in the . + + + The index of if found in the list; otherwise, -1. + + The object to locate in the . + + + + + Inserts an item to the at the specified index. + + The zero-based index at which should be inserted. + The object to insert into the . + is not a valid index in the . + The is read-only. + + + + + Removes the item at the specified index. + + The zero-based index of the item to remove. + is not a valid index in the . + The is read-only. + + + + + Gets or sets the element at the specified index. + + + The element at the specified index. + + The zero-based index of the element to get or set. + is not a valid index in the . + The member is set and the is read-only. + + + + + Finds the using the given member expression. + + The the member is on. + The member expression. + The for the given expression, or null if not found. + + + + Finds the using the given member. + + The member. + The for the given expression, or null if not found. + + + + Adds the members from the mapping. This will recursively + traverse the mapping tree and add all members for + reference maps. + + The mapping where the members are added from. + + + + Used to compare s. + The order is by field index ascending. Any + fields that don't have an index are pushed + to the bottom. + + + + + Compares two objects and returns a value indicating whether one is less than, equal to, or greater than the other. + + + Value + Condition + Less than zero + is less than . + Zero + equals . + Greater than zero + is greater than . + + The first object to compare. + The second object to compare. + Neither nor implements the interface. + -or- + and are of different types and neither one can handle comparisons with the other. + 2 + + + + Compares two objects and returns a value indicating whether one is less than, equal to, or greater than the other. + + + Value + Condition + Less than zero + is less than . + Zero + equals . + Greater than zero + is greater than . + + The first object to compare. + The second object to compare. + + + + + The configured data for the member map. + + + + + Gets the that the data + is associated with. + + + + + Gets the list of column names. + + + + + Gets or sets the index of the name. + This is used if there are multiple + columns with the same names. + + + + + Gets or sets a value indicating if the name was + explicitly set. True if it was explicitly set, + otherwise false. + + + + + Gets or sets the column index. + + + + + Gets or sets the index end. The Index end is used to specify a range for use + with a collection member. Index is used as the start of the range, and IndexEnd + is the end of the range. + + + + + Gets or sets a value indicating if the index was + explicitly set. True if it was explicitly set, + otherwise false. + + + + + Gets or sets the type converter. + + + + + Gets or sets the type converter options. + + + + + Gets or sets a value indicating whether the field should be ignored. + + + + + Gets or sets the default value used when a CSV field is empty. + + + + + Gets or sets a value indicating whether this instance is default value set. + the default value was explicitly set. True if it was + explicitly set, otherwise false. + + + + + Gets or sets the constant value used for every record. + + + + + Gets or sets a value indicating if a constant was explicitly set. + + + + + Gets or sets the expression used to convert data in the + row to the member. + + + + + Gets or sets the expression to be used to convert the object + to a field. + + + + + Gets or sets the expression use to validate a field. + + + + + Gets or sets a value indicating if a field is optional. + + + + + Initializes a new instance of the class. + + The member. + + + + Mapping info for a member to a CSV field. + + + + + Creates a new instance using the specified member. + + + + + When reading, is used to get the field + at the index of the name if there was a + header specified. It will look for the + first name match in the order listed. + When writing, sets the name of the + field in the header record. + The first name will be used. + + The possible names of the CSV field. + + + + When reading, is used to get the + index of the name used when there + are multiple names that are the same. + + The index of the name. + + + + When reading, is used to get the field at + the given index. When writing, the fields + will be written in the order of the field + indexes. + + The index of the CSV field. + The end index used when mapping to an member. + + + + Ignore the member when reading and writing. + If this member has already been mapped as a reference + member, either by a class map, or by automapping, calling + this method will not ignore all the child members down the + tree that have already been mapped. + + + + + Ignore the member when reading and writing. + If this member has already been mapped as a reference + member, either by a class map, or by automapping, calling + this method will not ignore all the child members down the + tree that have already been mapped. + + True to ignore, otherwise false. + + + + The default value that will be used when reading when + the CSV field is empty. + + The default value. + + + + The default value that will be used when reading when + the CSV field is empty. This value is not type checked + and will use a to convert + the field. This could potentially have runtime errors. + + The default value. + + + + The constant value that will be used for every record when + reading and writing. This value will always be used no matter + what other mapping configurations are specified. + + The constant value. + + + + Specifies the to use + when converting the member to and from a CSV field. + + The TypeConverter to use. + + + + Specifies the to use + when converting the member to and from a CSV field. + + The of the + to use. + + + + Specifies an expression to be used to convert data in the + row to the member. + + The convert expression. + + + + Specifies an expression to be used to convert the object + to a field. + + The convert expression. + + + + Ignore the member when reading if no matching field name can be found. + + + + + Specifies an expression to be used to validate a field when reading. + + + + + + A collection that holds member names. + + + + + Gets the name at the given index. If a prefix is set, + it will be prepended to the name. + + + + + + + Gets the prefix to use for each name. + + + + + Gets the raw list of names without + the prefix being prepended. + + + + + Gets the count. + + + + + Adds the given name to the collection. + + The name to add. + + + + Clears all names from the collection. + + + + + Adds a range of names to the collection. + + The range to add. + + + + Returns an enumerator that iterates through the collection. + + + A that can be used to iterate through the collection. + + 1 + + + + Returns an enumerator that iterates through a collection. + + + An object that can be used to iterate through the collection. + + 2 + + + + Mapping info for a reference member mapping to a class. + + + + + Gets the member reference map data. + + + + + Initializes a new instance of the class. + + The member. + The to use for the reference map. + + + + Appends a prefix to the header of each field of the reference member. + + The prefix to be prepended to headers of each reference member. + The current + + + + Get the largest index for the + members and references. + + The max index. + + + + A collection that holds 's. + + + + Gets the number of elements contained in the . + The number of elements contained in the . + + + Gets a value indicating whether the is read-only. + true if the is read-only; otherwise, false. + + + Gets or sets the element at the specified index. + The element at the specified index. + The zero-based index of the element to get or set. + + is not a valid index in the . + The member is set and the is read-only. + + + Returns an enumerator that iterates through the collection. + A that can be used to iterate through the collection. + 1 + + + Returns an enumerator that iterates through a collection. + An object that can be used to iterate through the collection. + 2 + + + Adds an item to the . + The object to add to the . + The is read-only. + + + Removes all items from the . + The is read-only. + + + Determines whether the contains a specific value. + true if is found in the ; otherwise, false. + The object to locate in the . + + + Copies the elements of the to an , starting at a particular index. + The one-dimensional that is the destination of the elements copied from . The must have zero-based indexing. + The zero-based index in at which copying begins. + + is null. + + is less than 0. + The number of elements in the source is greater than the available space from to the end of the destination . + + + Removes the first occurrence of a specific object from the . + true if was successfully removed from the ; otherwise, false. This method also returns false if is not found in the original . + The object to remove from the . + The is read-only. + + + Determines the index of a specific item in the . + The index of if found in the list; otherwise, -1. + The object to locate in the . + + + Inserts an item to the at the specified index. + The zero-based index at which should be inserted. + The object to insert into the . + + is not a valid index in the . + The is read-only. + + + Removes the item at the specified index. + The zero-based index of the item to remove. + + is not a valid index in the . + The is read-only. + + + + Finds the using the given member expression. + + The the member is on. + The member expression. + The for the given expression, or null if not found. + + + + Finds the using the given member. + + The member. + The for the given expression, or null if not found. + + + + The configuration data for the reference map. + + + + + Gets or sets the header prefix to use. + + + + + Gets the that the data + is associated with. + + + + + Gets the mapping this is a reference for. + + + + + Initializes a new instance of the class. + + The member. + The mapping this is a reference for. + + + + Flags for the type of members that + can be used for auto mapping. + + + + + No members. This is not a valid value + and will cause an exception if used. + + + + + Properties on a class. + + + + + Fields on a class. + + + + + Types of new lines. + + + + + Windows line feed. + + + + + Classic MAC + + + + + Unix + + + + + Use the setting. + + + + + New line constants. + + + + + Windows line feed. + + + + + Class MAC line feed. + + + + + Unix line feed. + + + + + Mapping for a constructor parameter. + This may contain value type data, a constructor type map, + or a reference map, depending on the type of the parameter. + + + + + Gets the parameter map data. + + + + + Gets or sets the map for a constructor type. + + + + + Gets or sets the map for a reference type. + + + + + Creates an instance of using + the given information. + + The parameter being mapped. + + + + The constructor parameter data for the map. + + + + + Gets the that the data + is associated with. + + + + + Gets or sets the type converter. + + + + + Gets or sets the type converter options. + + + + + Gets or sets the column index. + + + + + Gets or sets the column name. + + + + + Initializes a new instance of the class. + + The constructor parameter. + + + + Mapping info for a reference parameter mapping to a class. + + + + + Gets the parameter reference map data. + + + + + Initializes a new instance of the class. + + The parameter. + The to use for the reference map. + + + + Appends a prefix to the header of each field of the reference parameter. + + The prefix to be prepended to headers of each reference parameter. + The current + + + + Get the largest index for the + members and references. + + The max index. + + + + The configuration data for the reference map. + + + + + Gets or sets the header prefix to use. + + + + + Gets the that the data + is associated with. + + + + + Gets the mapping this is a reference for. + + + + + Initializes a new instance of the class. + + The parameter. + The mapping this is a reference for. + + + + Options for trimming of fields. + + + + + No trimming. + + + + + Trims the whitespace around a field. + + + + + Trims the whitespace inside of quotes around a field. + + + + + Provides a means of reading a CSV file forward-only by using CsvReader. + + + + + + Gets the column with the specified index. + + + The . + + The i. + + + + + Gets the column with the specified name. + + + The . + + The name. + + + + + Gets a value indicating the depth of nesting for the current row. + + + + + 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. + + + + + Gets the number of columns in the current row. + + + + + Initializes a new instance of the class. + + The CSV. + + + + Closes the Object. + + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + Gets the value of the specified column as a Boolean. + + The zero-based column ordinal. + + The value of the column. + + + + + Gets the 8-bit unsigned integer value of the specified column. + + The zero-based column ordinal. + + The 8-bit unsigned integer value of the specified column. + + + + + Reads a stream of bytes from the specified column offset into the buffer as an array, starting at the given buffer offset. + + The zero-based column ordinal. + The index within the field from which to start the read operation. + The buffer into which to read the stream of bytes. + The index for buffer to start the read operation. + The number of bytes to read. + + The actual number of bytes read. + + + + + Gets the character value of the specified column. + + The zero-based column ordinal. + + The character value of the specified column. + + + + + Reads a stream of characters from the specified column offset into the buffer as an array, starting at the given buffer offset. + + The zero-based column ordinal. + The index within the row from which to start the read operation. + The buffer into which to read the stream of bytes. + The index for buffer to start the read operation. + The number of bytes to read. + + The actual number of characters read. + + + + + Returns an for the specified column ordinal. + + The index of the field to find. + + The for the specified column ordinal. + + + + + Gets the data type information for the specified field. + + The index of the field to find. + + The data type information for the specified field. + + + + + Gets the date and time data value of the specified field. + + The index of the field to find. + + The date and time data value of the specified field. + + + + + Gets the fixed-position numeric value of the specified field. + + The index of the field to find. + + The fixed-position numeric value of the specified field. + + + + + Gets the double-precision floating point number of the specified field. + + The index of the field to find. + + The double-precision floating point number of the specified field. + + + + + Gets the information corresponding to the type of that would be returned from . + + The index of the field to find. + + The information corresponding to the type of that would be returned from . + + + + + Gets the single-precision floating point number of the specified field. + + The index of the field to find. + + The single-precision floating point number of the specified field. + + + + + Returns the GUID value of the specified field. + + The index of the field to find. + + The GUID value of the specified field. + + + + + Gets the 16-bit signed integer value of the specified field. + + The index of the field to find. + + The 16-bit signed integer value of the specified field. + + + + + Gets the 32-bit signed integer value of the specified field. + + The index of the field to find. + + The 32-bit signed integer value of the specified field. + + + + + Gets the 64-bit signed integer value of the specified field. + + The index of the field to find. + + The 64-bit signed integer value of the specified field. + + + + + Gets the name for the field to find. + + The index of the field to find. + + The name of the field or the empty string (""), if there is no value to return. + + + + + Return the index of the named field. + + The name of the field to find. + + The index of the named field. + + + + + Returns a that describes the column metadata of the . + + + A that describes the column metadata. + + + + + Gets the string value of the specified field. + + The index of the field to find. + + The string value of the specified field. + + + + + Return the value of the specified field. + + The index of the field to find. + + The which will contain the field value upon return. + + + + + Populates an array of objects with the column values of the current record. + + An array of to copy the attribute fields into. + + The number of instances of in the array. + + + + + Return whether the specified field is set to null. + + The index of the field to find. + + true if the specified field is set to null; otherwise, false. + + + + + Advances the data reader to the next result, when reading the results of batch SQL statements. + + + true if there are more rows; otherwise, false. + + + + + Advances the to the next record. + + + true if there are more rows; otherwise, false. + + + + + Reads fields from a . + + + + + Gets the reading context. + + + + + Gets a value indicating if the buffer is empty. + True if the buffer is empty, otherwise false. + + + + + Fills the buffer. + + True if there is more data left. + False if all the data has been read. + + + + Fills the buffer. + + True if there is more data left. + False if all the data has been read. + + + + Creates a new using the given + and . + + The text reader. + The configuration. + + + + Creates a new using the given + , + and leaveOpen flag. + + The text reader. + The configuration. + A value indicating if the should be left open when disposing. + + + + Gets the next char as an . + + + + + Gets the field. This will append any reading progress. + + The current field. + + + + Appends the current reading progress. + + + + + Move's the buffer position according to the given offset. + + The offset to move the buffer. + + + + Sets the start of the field to the current buffer position. + + An offset for the field start. + The offset should be less than 1. + + + + Sets the end of the field to the current buffer position. + + An offset for the field start. + The offset should be less than 1. + + + + Sets the raw record start to the current buffer position; + + An offset for the raw record start. + The offset should be less than 1. + + + + Sets the raw record end to the current buffer position. + + An offset for the raw record end. + The offset should be less than 1. + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + 2 + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + True if the instance needs to be disposed of. + + + + Represents errors that occur in CsvHelper. + + + + + Gets the context used when reading. + + + + + Gets the context used when writing. + + + + + Initializes a new instance of the CsvHelperException class. + + + + + Initializes a new instance of the CsvHelperException class. + + The message that describes the error. + + + + Initializes a new instance of the CsvHelperException class. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The reading context. + The message that describes the error. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that + is the cause of this exception. + + The reading context. + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Initializes a new instance of the class + with a specified error message. + + The writing context. + The message that describes the error. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that + is the cause of this exception. + + The writing context. + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Parses a CSV file. + + + + + Gets the reading context. + + + + + Gets the configuration. + + + + + Gets the . + + + + + Creates a new parser using the given . + + The with the CSV file data. + The culture. + + + + Creates a new parser using the given . + + The with the CSV file data. + The culture. + true to leave the reader open after the CsvReader object is disposed, otherwise false. + + + + Creates a new parser using the given and . + + The with the CSV file data. + The configuration. + + + + Creates a new parser using the given and . + + The with the CSV file data. + The configuration. + true to leave the reader open after the CsvReader object is disposed, otherwise false. + + + + Creates a new parser using the given . + + The field reader. + + + + Reads a record from the CSV file. + + A of fields for the record read. + + + + Reads a record from the CSV file asynchronously. + + A of fields for the record read. + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + 2 + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + True if the instance needs to be disposed of. + + + + Reads a line of the CSV file. + + The CSV line. + + + + Reads a line of the CSV file. + + The CSV line. + + + + Reads a blank line. This accounts for empty lines + and commented out lines. + + + + + Reads a blank line. This accounts for empty lines + and commented out lines. + + + + + Reads until a delimiter or line ending is found. + + True if the end of the line was found, otherwise false. + + + + Reads until a delimiter or line ending is found. + + True if the end of the line was found, otherwise false. + + + + Reads until the field is not quoted and a delimiter is found. + + True if the end of the line was found, otherwise false. + + + + Reads until the field is not quoted and a delimiter is found. + + True if the end of the line was found, otherwise false. + + + + Reads until the delimiter is done. + + True if a delimiter was read. False if the sequence of + chars ended up not being the delimiter. + + + + Reads until the delimiter is done. + + True if a delimiter was read. False if the sequence of + chars ended up not being the delimiter. + + + + Reads until the line ending is done. + + The field start offset. + + + + Reads until the line ending is done. + + The field start offset. + + + + Reads until a non-space character is found. + + True if there is more data to read. + False if the end of the file has been reached. + + + + Reads until a non-space character is found. + + True if there is more data to read. + False if the end of the file has been reached. + + + + Reads data that was parsed from . + + + + + Gets the reading context. + + + + + Gets the configuration. + + + + + Gets the parser. + + + + + Creates a new CSV reader using the given . + + The reader. + The culture. + + + + Creates a new CSV reader using the given . + + The reader. + The culture. + true to leave the reader open after the CsvReader object is disposed, otherwise false. + + + + Creates a new CSV reader using the given and + and as the default parser. + + The reader. + The configuration. + + + + Creates a new CSV reader using the given . + + The reader. + The configuration. + true to leave the reader open after the CsvReader object is disposed, otherwise false. + + + + Creates a new CSV reader using the given . + + The used to parse the CSV file. + + + + Reads the header record without reading the first row. + + True if there are more records, otherwise false. + + + + Validates the header. A header is bad if all the mapped members don't match. + If the header is not valid, a will be thrown. + + The type to validate the header against. + + + + Validates the header. A header is bad if all the mapped members don't match. + If the header is not valid, a will be thrown. + + The type to validate the header against. + + + + Validates the header against the given map. + + The map to validate against. + + + + Advances the reader to the next record. This will not read headers. + You need to call then + for the headers to be read. + + True if there are more records, otherwise false. + + + + Advances the reader to the next record. This will not read headers. + You need to call then + for the headers to be read. + + True if there are more records, otherwise false. + + + + Gets the raw field at position (column) index. + + The zero based index of the field. + The raw field. + + + + Gets the raw field at position (column) name. + + The named index of the field. + The raw field. + + + + Gets the raw field at position (column) name. + + The named index of the field. + The zero based index of the field. + The raw field. + + + + Gets the raw field at position (column) index. + + The zero based index of the field. + The raw field. + + + + Gets the raw field at position (column) name. + + The named index of the field. + The raw field. + + + + Gets the raw field at position (column) name and the index + instance of that field. The index is used when there are + multiple columns with the same header name. + + The named index of the field. + The zero based index of the instance of the field. + The raw field. + + + + Gets the field converted to using + the specified . + + The type of the field. + The index of the field. + The field converted to . + + + + Gets the field converted to using + the specified . + + The type of the field. + The named index of the field. + The field converted to . + + + + Gets the field converted to using + the specified . + + The type of the field. + The named index of the field. + The zero based index of the instance of the field. + The field converted to . + + + + Gets the field converted to using + the specified . + + The type of the field. + The index of the field. + The used to convert the field to . + The field converted to . + + + + Gets the field converted to using + the specified . + + The type of the field. + The named index of the field. + The used to convert the field to . + The field converted to . + + + + Gets the field converted to using + the specified . + + The type of the field. + The named index of the field. + The zero based index of the instance of the field. + The used to convert the field to . + The field converted to . + + + + Gets the field converted to T at position (column) index. + + The of the field. + The zero based index of the field. + The field converted to T. + + + + Gets the field converted to T at position (column) name. + + The of the field. + The named index of the field. + The field converted to T. + + + + Gets the field converted to T at position + (column) name and the index instance of that field. The index + is used when there are multiple columns with the same header name. + + + The named index of the field. + The zero based index of the instance of the field. + + + + + Gets the field converted to T at position (column) index using + the given . + + The of the field. + The zero based index of the field. + The used to convert the field to T. + The field converted to T. + + + + Gets the field converted to T at position (column) name using + the given . + + The of the field. + The named index of the field. + The used to convert the field to T. + The field converted to T. + + + + Gets the field converted to T at position + (column) name and the index instance of that field. The index + is used when there are multiple columns with the same header name. + + + The named index of the field. + The zero based index of the instance of the field. + The used to convert the field to T. + The field converted to T. + + + + Gets the field converted to T at position (column) index using + the given . + + The of the field. + The used to convert the field to T. + The zero based index of the field. + The field converted to T. + + + + Gets the field converted to T at position (column) name using + the given . + + The of the field. + The used to convert the field to T. + The named index of the field. + The field converted to T. + + + + Gets the field converted to T at position + (column) name and the index instance of that field. The index + is used when there are multiple columns with the same header name. + + The of the field. + The used to convert the field to T. + The named index of the field. + The zero based index of the instance of the field. + The field converted to T. + + + + Gets the field converted to T at position (column) index. + + The of the field. + The zero based index of the field. + The field converted to type T. + A value indicating if the get was successful. + + + + Gets the field converted to T at position (column) name. + + The of the field. + The named index of the field. + The field converted to T. + A value indicating if the get was successful. + + + + Gets the field converted to T at position + (column) name and the index instance of that field. The index + is used when there are multiple columns with the same header name. + + The of the field. + The named index of the field. + The zero based index of the instance of the field. + The field converted to T. + A value indicating if the get was successful. + + + + Gets the field converted to T at position (column) index + using the specified . + + The of the field. + The zero based index of the field. + The used to convert the field to T. + The field converted to T. + A value indicating if the get was successful. + + + + Gets the field converted to T at position (column) name + using the specified . + + The of the field. + The named index of the field. + The used to convert the field to T. + The field converted to T. + A value indicating if the get was successful. + + + + Gets the field converted to T at position (column) name + using the specified . + + The of the field. + The named index of the field. + The zero based index of the instance of the field. + The used to convert the field to T. + The field converted to T. + A value indicating if the get was successful. + + + + Gets the field converted to T at position (column) index. + + The of the field. + The zero based index of the field. + The field converted to type T. + A value indicating if the get was successful. + + + + Gets the field converted to T at position (column) name. + + The of the field. + The named index of the field. + The field converted to T. + A value indicating if the get was successful. + + + + Gets the field converted to T at position + (column) name and the index instance of that field. The index + is used when there are multiple columns with the same header name. + + + The named index of the field. + The zero based index of the instance of the field. + The field converted to T. + A value indicating if the get was successful. + + + + Gets the field converted to T at position (column) index + using the specified . + + The of the field. + The zero based index of the field. + The used to convert the field to T. + The field converted to T. + A value indicating if the get was successful. + + + + Gets the field converted to T at position (column) name + using the specified . + + The of the field. + The named index of the field. + The used to convert the field to T. + The field converted to T. + A value indicating if the get was successful. + + + + Gets the field converted to T at position (column) name + using the specified . + + The of the field. + The named index of the field. + The zero based index of the instance of the field. + The used to convert the field to T. + The field converted to T. + A value indicating if the get was successful. + + + + Gets the field converted to T at position (column) index + using the specified . + + The of the field. + The used to convert the field to T. + The zero based index of the field. + The field converted to T. + A value indicating if the get was successful. + + + + Gets the field converted to T at position (column) name + using the specified . + + The of the field. + The used to convert the field to T. + The named index of the field. + The field converted to T. + A value indicating if the get was successful. + + + + Gets the field converted to T at position (column) name + using the specified . + + The of the field. + The used to convert the field to T. + The named index of the field. + The zero based index of the instance of the field. + The field converted to T. + A value indicating if the get was successful. + + + + Gets the record converted into T. + + The of the record. + The record converted to T. + + + + Get the record converted into T. + + The of the record. + The anonymous type definition to use for the record. + The record converted to T. + + + + Gets the record. + + The of the record. + The record. + + + + Gets all the records in the CSV file and + converts each to T. The Read method + should not be used when using this. + + The of the record. + An of records. + + + + Gets all the records in the CSV file and converts + each to T. The read method + should not be used when using this. + + The of the record. + The anonymous type definition to use for the records. + An of records. + + + + Gets all the records in the CSV file and + converts each to T. The Read method + should not be used when using this. + + The of the record. + An of records. + + + + Enumerates the records hydrating the given record instance with row data. + The record instance is re-used and not cleared on each enumeration. + This only works for streaming rows. If any methods are called on the projection + that force the evaluation of the IEnumerable, such as ToList(), the entire list + will contain the same instance of the record, which is the last row. + + The type of the record. + The record to fill each enumeration. + An of records. + + + + Gets all the records in the CSV file and + converts each to T. The Read method + should not be used when using this. + + The of the record. + An of records. + + + + Gets all the records in the CSV file and converts + each to T. The read method + should not be used when using this. + + The of the record. + The anonymous type definition to use for the records. + An of records. + + + + Gets all the records in the CSV file and + converts each to T. The Read method + should not be used when using this. + + The of the record. + An of records. + + + + Enumerates the records hydrating the given record instance with row data. + The record instance is re-used and not cleared on each enumeration. + This only works for streaming rows. If any methods are called on the projection + that force the evaluation of the IEnumerable, such as ToList(), the entire list + will contain the same instance of the record, which is the last row. + + The type of the record. + The record to fill each enumeration. + An of records. + + + + Gets the index of the field at name if found. + + The name of the field to get the index for. + The index of the field if there are multiple fields with the same name. + A value indicating if the call was initiated from a TryGet. + The index of the field if found, otherwise -1. + Thrown if there is no header record. + Thrown if there isn't a field with name. + + + + Gets the index of the field at name if found. + + The possible names of the field to get the index for. + The index of the field if there are multiple fields with the same name. + A value indicating if the call was initiated from a TryGet. + A value indicating if the call was initiated for an optional field. + The index of the field if found, otherwise -1. + Thrown if there is no header record. + Thrown if there isn't a field with name. + + + + Determines if the member for the + can be read. + + The member map. + A value indicating of the member can be read. True if it can, otherwise false. + + + + Determines if the member for the + can be read. + + The reference map. + A value indicating of the member can be read. True if it can, otherwise false. + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + 2 + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + True if the instance needs to be disposed of. + + + + Checks if the reader has been read yet. + + + + + + Parses the named indexes from the header record. + + + + + Defines methods used to serialize data into a CSV file. + + + + + Gets the writing context. + + + + + Gets the configuration. + + + + + Creates a new serializer using the given . + + The to write the CSV file data to. + The culture information. + + + + Creates a new serializer using the given . + + The to write the CSV file data to. + The culture information. + true to leave the reader open after the CsvReader object is disposed, otherwise false. + + + + Creates a new serializer using the given + and . + + The to write the CSV file data to. + The configuration. + + + + Creates a new serializer using the given + and . + + The to write the CSV file data to. + The configuration. + true to leave the reader open after the CsvReader object is disposed, otherwise false. + + + + Writes a record to the CSV file. + + The record to write. + + + + Writes a record to the CSV file. + + The record to write. + + + + Writes a new line to the CSV file. + + + + + Writes a new line to the CSV file. + + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + 2 + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + True if the instance needs to be disposed of. + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + 2 + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + True if the instance needs to be disposed of. + + + + Sanitizes the field to prevent injection. + + The field to sanitize. + + + + Used to write CSV files. + + + + + Gets the writing context. + + + + + Gets the configuration. + + + + + Creates a new CSV writer using the given . + + The writer used to write the CSV file. + The culture information. + + + + Creates a new CSV writer using the given . + + The writer used to write the CSV file. + The culture information. + true to leave the writer open after the CsvWriter object is disposed, otherwise false. + + + + Creates a new CSV writer using the given . + + The use to write the CSV file. + The configuration. + + + + Creates a new CSV writer using the given . + + The use to write the CSV file. + The configuration. + true to leave the writer open after the CsvWriter object is disposed, otherwise false. + + + + Creates a new CSV writer using the given . + + The serializer. + + + + Writes a field that has already been converted to a + from an . + If the field is null, it won't get written. A type converter + will always return a string, even if field is null. If the + converter returns a null, it means that the converter has already + written data, and the returned value should not be written. + + The converted field to write. + + + + Writes the field to the CSV file. The field + may get quotes added to it. + When all fields are written for a record, + must be called + to complete writing of the current record. + + The field to write. + + + + Writes the field to the CSV file. This will + ignore any need to quote and ignore + + and just quote based on the shouldQuote + parameter. + When all fields are written for a record, + must be called + to complete writing of the current record. + + The field to write. + True to quote the field, otherwise false. + + + + Writes the field to the CSV file. + When all fields are written for a record, + must be called + to complete writing of the current record. + + The type of the field. + The field to write. + + + + Writes the field to the CSV file. + When all fields are written for a record, + must be called + to complete writing of the current record. + + The type of the field. + The field to write. + The converter used to convert the field into a string. + + + + Writes the field to the CSV file + using the given . + When all fields are written for a record, + must be called + to complete writing of the current record. + + The type of the field. + The type of the converter. + The field to write. + + + + Serializes the row to the . + + + + + Serializes the row to the . + + + + + Ends writing of the current record and starts a new record. + This automatically flushes the writer. + + + + + Ends writing of the current record and starts a new record. + This automatically flushes the writer. + + + + + Writes a comment. + + The comment to write. + + + + Writes the header record from the given members. + + The type of the record. + + + + Writes the header record from the given members. + + The type of the record. + + + + Writes the header record for the given dynamic object. + + The dynamic record to write. + + + + Writes the record to the CSV file. + + The type of the record. + The record to write. + + + + Writes the list of records to the CSV file. + + The records to write. + + + + Writes the list of records to the CSV file. + + Record type. + The records to write. + + + + Writes the list of records to the CSV file. + + The records to write. + + + + Writes the list of records to the CSV file. + + Record type. + The records to write. + + + + Checks if the member can be written. + + The member map that we are checking. + A value indicating if the member can be written. + True if the member can be written, otherwise false. + + + + Gets the type for the record. If the generic type + is an object due to boxing, it will call GetType() + on the record itself. + + The record type. + The record. + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + 2 + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + True if the instance needs to be disposed of. + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + 2 + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + True if the instance needs to be disposed of. + + + + Creates dynamic records. + + + + + Initializes a new instance. + + The reader. + + + + Creates a of type + that will create a record of the given type using the current + reader row. + + The record type. + + + + Creates a dynamic record of the current reader row. + + + + + Write dynamic records. + + + + + Initializes a new instance using the given writer. + + The writer. + + + + Creates a of type + that will write the given record using the current writer row. + + The record type. + The record. + + + + Writes expando objects. + + + + + Initializes a new instance using the given writer. + + The writer. + + + + Creates a of type + that will write the given record using the current writer row. + + The record type. + The record. + + + + Manages expression creation. + + + + + Initializes a new instance using the given reader. + + The reader. + + + + Initializes a new instance using the given writer. + + The writer. + + + + Creates the constructor arguments used to create a type. + + The mapping to create the arguments for. + The arguments that will be added to the mapping. + + + + Creates the member assignments for the given . + + The mapping to create the assignments for. + The assignments that will be added to from the mapping. + + + + Creates an expression the represents getting the field for the given + member and converting it to the member's type. + + The mapping for the member. + + + + Creates a member expression for the given member on the record. + This will recursively traverse the mapping to find the member + and create a safe member accessor for each level as it goes. + + The current member expression. + The mapping to look for the member to map on. + The member map to look for on the mapping. + An Expression to access the given member. + + + + Creates an instance of the given type using (in turn using the ObjectResolver), then assigns + the given member assignments to that instance. + + The type of the record we're creating. + The member assignments that will be assigned to the created instance. + A representing the instance creation and assignments. + + + + Creates an expression that converts the field expression using a type converter. + + The mapping for the member. + The field expression. + + + + Creates an default expression if field expression is empty. + + The mapping for the member. + The field expression. + + + + Creates objects. + + + + + Initializes a new instance using the given reader. + + + + + + Creates a of type + that will create a record of the given type using the current + reader row. + + The record type. + + + + Writes objects. + + + + + Initializes a new instance using the given writer. + + The writer. + + + + Creates a of type + that will write the given record using the current writer row. + + The record type. + The record. + + + + Creates primitive records. + + + + + Initializes a new instance using the given reader. + + The reader. + + + + Creates a of type + that will create a record of the given type using the current + reader row. + + The record type. + + + + Writes primitives. + + + + + Initializes a new instance using the given writer. + + The writer. + + + + Creates a of type + that will write the given record using the current writer row. + + The record type. + The record. + + + + Base implementation for classes that create records. + + + + + The reader. + + + + + The expression manager. + + + + + Initializes a new instance using the given reader. + + The reader. + + + + Create a record of the given type using the current row. + + The record type. + + + + Create a record of the given type using the current row. + + The record type. + + + + Gets the delegate to create a record for the given record type. + If the delegate doesn't exist, one will be created and cached. + + The record type. + + + + Creates a of type + that will create a record of the given type using the current + reader row. + + The record type. + + + + Factory to create record creators. + + + + + Initializes a new instance using the given reader. + + The reader. + + + + Creates a record creator for the given record type. + + The record type. + + + + Hydrates members of an existing record. + + + + + Creates a new instance using the given reader. + + The reader. + + + + Hydrates members of the given record using the current reader row. + + The record type. + The record. + + + + Gets the action delegate used to hydrate a custom class object's members with data from the reader. + + The record type. + + + + Creates the action delegate used to hydrate a record's members with data from the reader. + + The record type. + + + + Manages record manipulation. + + + + + Initializes a new instance using the given reader. + + + + + + Initializes a new instance using the given writer. + + The writer. + + + + Creates a record of the given type using the current reader row. + + The type of record to create. + + + + Creates a record of the given type using the current reader row. + + The type of record to create. + + + + Hydrates the given record using the current reader row. + + The type of the record. + The record to hydrate. + + + + Writes the given record to the current writer row. + + The type of the record. + The record. + + + + Base implementation for classes that write records. + + + + + Gets the writer. + + + + + The expression manager. + + + + + Initializes a new instance using the given writer. + + The writer. + + + + Writes the record to the current row. + + Type of the record. + The record. + + + + Gets the delegate to write the given record. + If the delegate doesn't exist, one will be created and cached. + + The record type. + The record. + + + + Creates a of type + that will write the given record using the current writer row. + + The record type. + The record. + + + + Combines the delegates into a single multicast delegate. + This is needed because Silverlight doesn't have the + Delegate.Combine( params Delegate[] ) overload. + + The delegates to combine. + A multicast delegate combined from the given delegates. + + + + Factory to create record writers. + + + + + Initializes a new instance using the given writer. + + The writer. + + + + Creates a new record writer for the given record. + + The type of the record. + The record. + + + + Creates CsvHelper classes. + + + + + Creates an . + + The text reader to use for the csv parser. + The configuration to use for the csv parser. + The created parser. + + + + Creates an . + + The text reader to use for the csv parser. + The culture information. + + The created parser. + + + + + Creates an . + + The text reader to use for the csv reader. + The configuration to use for the reader. + The created reader. + + + + Creates an . + + The text reader to use for the csv reader. + The culture information. + + The created reader. + + + + + Creates an . + + The parser used to create the reader. + The created reader. + + + + Creates an . + + The text writer to use for the csv writer. + The configuration to use for the writer. + The created writer. + + + + Creates an . + + The text writer to use for the csv writer. + The culture information. + + The created writer. + + + + + Access point for fluent interface to dynamically build a + + Type you will be making a class map for + Options to further configure the + + + + Represents a user supplied field validation failure. + + + + + Gets the field that failed validation. + + + + + Initializes a new instance of the class. + + The reading context. + The field that failed validation. + + + + Initializes a new instance of the class + with a specified error message. + + The reading context. + The field that failed validation. + The message that describes the error. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that + is the cause of this exception. + + The reading context. + The field that failed validation. + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Represents a header validation failure. + + + + + Gets the header names that are mapped to a CSV field that couldn't be found. + + + + + Gets the header name index that is mapped to a CSV field that couldn't be found. + The index is used when a CSV header has multiple header names with the same value. + + + + + Initializes a new instance of the class. + + The reading context. + The header names that are mapped to a CSV field that couldn't be found. + The header name index that is mapped to a CSV field that couldn't be found. + + + + Initializes a new instance of the class + with a specified error message. + + The reading context. + The header names that are mapped to a CSV field that couldn't be found. + The header name index that is mapped to a CSV field that couldn't be found. + The message that describes the error. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that + is the cause of this exception. + + The reading context. + The header names that are mapped to a CSV field that couldn't be found. + The header name index that is mapped to a CSV field that couldn't be found. + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Defines methods used to create + CsvHelper classes. + + + + + Creates an . + + The text reader to use for the csv parser. + The configuration to use for the csv parser. + The created parser. + + + + Creates an . + + The text reader to use for the csv parser. + The culture information. + + The created parser. + + + + + Creates an . + + The text reader to use for the csv reader. + The configuration to use for the reader. + The created reader. + + + + Creates an . + + The text reader to use for the csv reader. + The culture information. + + The created reader. + + + + + Creates an . + + The parser used to create the reader. + The created reader. + + + + Creates an . + + The text writer to use for the csv writer. + The configuration to use for the writer. + The created writer. + + + + Creates an . + + The text writer to use for the csv writer. + The culture information. + + The created writer. + + + + + Provides a fluent interface for dynamically creating s + + Type of class to map + Next available options + + + + Defines methods used to read a field in a CSV file. + + + + + Gets the reading context. + + + + + Gets a value indicating if the buffer is empty. + True if the buffer is empty, otherwise false. + + + + + Fills the buffer. + + True if there is more data left. + False if all the data has been read. + + + + Fills the buffer asynchronously. + + True if there is more data left. + False if all the data has been read. + + + + Gets the next char as an . + + + + + Gets the field. This will append any reading progress. + + The current field. + + + + Appends the current reading progress. + + + + + Move's the buffer position according to the given offset. + + The offset to move the buffer. + + + + Sets the start of the field to the current buffer position. + + An offset for the field start. + The offset should be less than 1. + + + + Sets the end of the field to the current buffer position. + + An offset for the field start. + The offset should be less than 1. + + + + Sets the raw record start to the current buffer position; + + An offset for the raw record start. + The offset should be less than 1. + + + + Sets the raw record end to the current buffer position. + + An offset for the raw record end. + The offset should be less than 1. + + + + Defines the functionality of a class that creates objects + from a given type. + + + + + A value indicating if the resolver's + returns false that an object will still be created using + CsvHelper's object creation. True to fallback, otherwise false. + Default value is true. + + + + + A value indicating if the resolver is able to resolve + the given type. True if the type can be resolved, + otherwise false. + + + + + The function that creates an object from a given type. + + + + + Creates an object from the given type using the + function. If is false, the object will be + created using CsvHelper's default object creation. If + is false, an exception is thrown. + + The type to create an instance from. The created object + may not be the same type as the given type. + Constructor arguments used to create the type. + + + + Creates an object from the given type using the + function. If is false, the object will be + created using CsvHelper's default object creation. If + is false, an exception is thrown. + + The type to create an instance from. The created object + may not be the same type as the given type. + Constructor arguments used to create the type. + + + + Defines methods used the parse a CSV file. + + + + + Gets the reading context. + + + + + Gets the configuration. + + + + + Gets the . + + + + + Reads a record from the CSV file. + + A of fields for the record read. + + + + Reads a record from the CSV file asynchronously. + + A of fields for the record read. + + + + Defines methods used to read parsed data + from a CSV file. + + + + + Gets the parser. + + + + + Reads the header record without reading the first row. + + True if there are more records, otherwise false. + + + + Advances the reader to the next record. This will not read headers. + You need to call then + for the headers to be read. + + True if there are more records, otherwise false. + + + + Advances the reader to the next record. This will not read headers. + You need to call then + for the headers to be read. + + True if there are more records, otherwise false. + + + + Gets all the records in the CSV file and + converts each to T. The Read method + should not be used when using this. + + The of the record. + An of records. + + + + Gets all the records in the CSV file and converts + each to T. The read method + should not be used when using this. + + The of the record. + The anonymous type definition to use for the records. + An of records. + + + + Gets all the records in the CSV file and + converts each to T. The Read method + should not be used when using this. + + The of the record. + An of records. + + + + Enumerates the records hydrating the given record instance with row data. + The record instance is re-used and not cleared on each enumeration. + This only works for streaming rows. If any methods are called on the projection + that force the evaluation of the IEnumerable, such as ToList(), the entire list + will contain the same instance of the record, which is the last row. + + The type of the record. + The record to fill each enumeration. + An of records. + + + + Gets all the records in the CSV file and + converts each to T. The Read method + should not be used when using this. + + The of the record. + An of records. + + + + Gets all the records in the CSV file and converts + each to T. The read method + should not be used when using this. + + The of the record. + The anonymous type definition to use for the records. + An of records. + + + + Gets all the records in the CSV file and + converts each to T. The Read method + should not be used when using this. + + The of the record. + An of records. + + + + Enumerates the records hydrating the given record instance with row data. + The record instance is re-used and not cleared on each enumeration. + This only works for streaming rows. If any methods are called on the projection + that force the evaluation of the IEnumerable, such as ToList(), the entire list + will contain the same instance of the record, which is the last row. + + The type of the record. + The record to fill each enumeration. + An of records. + + + + Defines methods used to read parsed data + from a CSV file row. + + + + + Gets the reading context. + + + + + Gets or sets the configuration. + + + + + Gets the raw field at position (column) index. + + The zero based index of the field. + The raw field. + + + + Gets the raw field at position (column) name. + + The named index of the field. + The raw field. + + + + Gets the raw field at position (column) name. + + The named index of the field. + The zero based index of the field. + The raw field. + + + + Gets the raw field at position (column) index. + + The zero based index of the field. + The raw field. + + + + Gets the raw field at position (column) name. + + The named index of the field. + The raw field. + + + + Gets the raw field at position (column) name and the index + instance of that field. The index is used when there are + multiple columns with the same header name. + + The named index of the field. + The zero based index of the instance of the field. + The raw field. + + + + Gets the field converted to using + the specified . + + The type of the field. + The index of the field. + The field converted to . + + + + Gets the field converted to using + the specified . + + The type of the field. + The named index of the field. + The field converted to . + + + + Gets the field converted to using + the specified . + + The type of the field. + The named index of the field. + The zero based index of the instance of the field. + The field converted to . + + + + Gets the field converted to using + the specified . + + The type of the field. + The index of the field. + The used to convert the field to . + The field converted to . + + + + Gets the field converted to using + the specified . + + The type of the field. + The named index of the field. + The used to convert the field to . + The field converted to . + + + + Gets the field converted to using + the specified . + + The type of the field. + The named index of the field. + The zero based index of the instance of the field. + The used to convert the field to . + The field converted to . + + + + Gets the field converted to T at position (column) index. + + The of the field. + The zero based index of the field. + The field converted to T. + + + + Gets the field converted to T at position (column) name. + + The of the field. + The named index of the field. + The field converted to T. + + + + Gets the field converted to T at position + (column) name and the index instance of that field. The index + is used when there are multiple columns with the same header name. + + + The named index of the field. + The zero based index of the instance of the field. + + + + + Gets the field converted to T at position (column) index using + the given . + + The of the field. + The zero based index of the field. + The used to convert the field to T. + The field converted to T. + + + + Gets the field converted to T at position (column) name using + the given . + + The of the field. + The named index of the field. + The used to convert the field to T. + The field converted to T. + + + + Gets the field converted to T at position + (column) name and the index instance of that field. The index + is used when there are multiple columns with the same header name. + + The of the field. + The named index of the field. + The zero based index of the instance of the field. + The used to convert the field to T. + The field converted to T. + + + + Gets the field converted to T at position (column) index using + the given . + + The of the field. + The used to convert the field to T. + The zero based index of the field. + The field converted to T. + + + + Gets the field converted to T at position (column) name using + the given . + + The of the field. + The used to convert the field to T. + The named index of the field. + The field converted to T. + + + + Gets the field converted to T at position + (column) name and the index instance of that field. The index + is used when there are multiple columns with the same header name. + + The of the field. + The used to convert the field to T. + The named index of the field. + The zero based index of the instance of the field. + The field converted to T. + + + + Gets the field converted to T at position (column) index. + + The of the field. + The zero based index of the field. + The field converted to type T. + A value indicating if the get was successful. + + + + Gets the field converted to T at position (column) name. + + The of the field. + The named index of the field. + The field converted to T. + A value indicating if the get was successful. + + + + Gets the field converted to T at position + (column) name and the index instance of that field. The index + is used when there are multiple columns with the same header name. + + The of the field. + The named index of the field. + The zero based index of the instance of the field. + The field converted to T. + A value indicating if the get was successful. + + + + Gets the field converted to T at position (column) index + using the specified . + + The of the field. + The zero based index of the field. + The used to convert the field to T. + The field converted to T. + A value indicating if the get was successful. + + + + Gets the field converted to T at position (column) name + using the specified . + + The of the field. + The named index of the field. + The used to convert the field to T. + The field converted to T. + A value indicating if the get was successful. + + + + Gets the field converted to T at position (column) name + using the specified . + + The of the field. + The named index of the field. + The zero based index of the instance of the field. + The used to convert the field to T. + The field converted to T. + A value indicating if the get was successful. + + + + Gets the field converted to T at position (column) index. + + The of the field. + The zero based index of the field. + The field converted to type T. + A value indicating if the get was successful. + + + + Gets the field converted to T at position (column) name. + + The of the field. + The named index of the field. + The field converted to T. + A value indicating if the get was successful. + + + + Gets the field converted to T at position + (column) name and the index instance of that field. The index + is used when there are multiple columns with the same header name. + + + The named index of the field. + The zero based index of the instance of the field. + The field converted to T. + A value indicating if the get was successful. + + + + Gets the field converted to T at position (column) index + using the specified . + + The of the field. + The zero based index of the field. + The used to convert the field to T. + The field converted to T. + A value indicating if the get was successful. + + + + Gets the field converted to T at position (column) name + using the specified . + + The of the field. + The named index of the field. + The used to convert the field to T. + The field converted to T. + A value indicating if the get was successful. + + + + Gets the field converted to T at position (column) name + using the specified . + + The of the field. + The named index of the field. + The zero based index of the instance of the field. + The used to convert the field to T. + The field converted to T. + A value indicating if the get was successful. + + + + Gets the field converted to T at position (column) index + using the specified . + + The of the field. + The used to convert the field to T. + The zero based index of the field. + The field converted to T. + A value indicating if the get was successful. + + + + Gets the field converted to T at position (column) name + using the specified . + + The of the field. + The used to convert the field to T. + The named index of the field. + The field converted to T. + A value indicating if the get was successful. + + + + Gets the field converted to T at position (column) name + using the specified . + + The of the field. + The used to convert the field to T. + The named index of the field. + The zero based index of the instance of the field. + The field converted to T. + A value indicating if the get was successful. + + + + Gets the record converted into T. + + The of the record. + The record converted to T. + + + + Get the record converted into T. + + The of the record. + The anonymous type definition to use for the record. + The record converted to T. + + + + Gets the record. + + The of the record. + The record. + + + + Defines methods used to serialize data into a CSV file. + + + + + Gets the writing context. + + + + + Gets the configuration. + + + + + Writes a record to the CSV file. + + The record to write. + + + + Writes a record to the CSV file. + + The record to write. + + + + Writes a new line to the CSV file. + + + + + Writes a new line to the CSV file. + + + + + Defines methods used to write to a CSV file. + + + + + Serializes the row to the . + + + + + Serializes the row to the . + + + + + Ends writing of the current record and starts a new record. + This automatically flushes the writer. + + + + + Ends writing of the current record and starts a new record. + This automatically flushes the writer. + + + + + Writes the list of records to the CSV file. + + The records to write. + + + + Writes the list of records to the CSV file. + + Record type. + The records to write. + + + + Writes the list of records to the CSV file. + + The records to write. + + + + Writes the list of records to the CSV file. + + Record type. + The records to write. + + + + Defines methods used to write a CSV row. + + + + + Gets the writing context. + + + + + Gets or sets the configuration. + + + + + Writes a field that has already been converted to a + from an . + If the field is null, it won't get written. A type converter + will always return a string, even if field is null. If the + converter returns a null, it means that the converter has already + written data, and the returned value should not be written. + + The converted field to write. + + + + Writes the field to the CSV file. The field + may get quotes added to it. + When all fields are written for a record, + must be called + to complete writing of the current record. + + The field to write. + + + + Writes the field to the CSV file. This will + ignore any need to quote and ignore + + and just quote based on the shouldQuote + parameter. + When all fields are written for a record, + must be called + to complete writing of the current record. + + The field to write. + True to quote the field, otherwise false. + + + + Writes the field to the CSV file. + When all fields are written for a record, + must be called + to complete writing of the current record. + + The type of the field. + The field to write. + + + + Writes the field to the CSV file. + When all fields are written for a record, + must be called + to complete writing of the current record. + + The type of the field. + The field to write. + The converter used to convert the field into a string. + + + + Writes the field to the CSV file + using the given . + When all fields are written for a record, + must be called + to complete writing of the current record. + + The type of the field. + The type of the converter. + The field to write. + + + + Writes a comment. + + The comment to write. + + + + Writes the header record from the given members. + + The type of the record. + + + + Writes the header record from the given members. + + The type of the record. + + + + Writes the record to the CSV file. + + The type of the record. + The record to write. + + + + Represents an error caused because a field is missing + in the header while reading a CSV file. + + + + + Initializes a new instance of the class. + + The reading context. + + + + Initializes a new instance of the class + with a specified error message. + + The reading context. + The message that describes the error. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that + is the cause of this exception. + + The reading context. + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Creates objects from a given type. + + + + + Gets or sets the current resolver. + + + + + A value indicating if the resolver's + returns false that an object will still be created using + CsvHelper's object creation. True to fallback, otherwise false. + Default value is true. + + + + + A function that returns a value indicating if the resolver + is able to resolve the given type. True if the type can be + resolved, otherwise false. + + + + + The function that creates an object from a given type. + + + + + Creates an instance of the object resolver using default values. + + + + + Creates an instance of the object resolver using the given can create function + and create function. + + A function that returns a value indicating if the resolver + is able to resolve the given type. True if the type can be + resolved, otherwise false. + The function that creates an object from a given type. + A value indicating if the resolver's + returns false that an object will still be created using + CsvHelper's object creation. True to fallback, otherwise false. + Default value is true. + + + + Creates an object from the given type using the + function. If is false, the object will be + created using CsvHelper's default object creation. If + is false, an exception is thrown. + + The type to create an instance from. The created object + may not be the same type as the given type. + Constructor arguments used to create the type. + + + + Creates an object from the given type using the + function. If is false, the object will be + created using CsvHelper's default object creation. If + is false, an exception is thrown. + + The type to create an instance from. The created object + may not be the same type as the given type. + Constructor arguments used to create the type. + + + + Represents errors that occur while parsing a CSV file. + + + + + Initializes a new instance of the class. + + The reading context. + + + + Initializes a new instance of the class + with a specified error message. + + The reading context. + The message that describes the error. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that + is the cause of this exception. + + The reading context. + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Represents errors that occur while reading a CSV file. + + + + + Initializes a new instance of the class. + + The reading context. + + + + Initializes a new instance of the class + with a specified error message. + + The reading context. + The message that describes the error. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that + is the cause of this exception. + + The reading context. + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + CSV reading state. + + + + + Gets the raw record builder. + + + + + Gets the field builder. + + + + + Gets the record builder. + + + + + Gets the named indexes. + + + + + Gets the named indexes cache. + + + + + Gets the type converter options cache. + + + + + Gets the create record functions. + + + + + Gets the hydrate record actions. + + + + + Gets the reusable member map data. + + + + + Gets the that is read from. + + + + + Gets a value indicating if the + should be left open when disposing. + + + + + Gets the buffer used to store data from the . + + + + + Gets the buffer position. + + + + + Gets the field start position. + + + + + Gets the field end position. + + + + + Gets the raw record start position. + + + + + Gets the raw record end position. + + + + + Gets the number of characters read from the . + + + + + Gets the character position. + + + + + Gets the byte position. + + + + + Gets a value indicating if the field is bad. + True if the field is bad, otherwise false. + A field is bad if a quote is found in a field + that isn't escaped. + + + + + Gets the record. + + + + + Gets the row of the CSV file that the parser is currently on. + + + + + Gets the row of the CSV file that the parser is currently on. + This is the actual file row. + + + + + Gets a value indicating if reading has begun. + + + + + Gets the header record. + + + + + Gets the current index. + + + + + Gets the column count. + + + + + Gets the configuration. + + + + + Gets the configuration. + + + + + Gets all the characters of the record including + quotes, delimiters, and line endings. + + + + + Gets the field. + + + + + Initializes a new instance. + + The reader. + The configuration. + A value indicating if the TextReader should be left open when disposing. + + + + Clears the specified caches. + + The caches to clear. + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + 2 + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + True if the instance needs to be disposed of. + + + + Builds CSV records. + + + + + The number of records. + + + + + The total record capacity. + + + + + Creates a new using defaults. + + + + + Creates a new using the given capacity. + + The initial capacity. + + + + Adds a new field to the . + + The field to add. + The current instance of the . + + + + Clears the records. + + The current instance of the . + + + + Returns the record as an . + + The record as an . + + + + Extensions to help with reflection. + + + + + Gets the type from the member. + + The member to get the type from. + The type. + + + + Gets a member expression for the member. + + The member to get the expression for. + The member expression. + The member expression. + + + + Gets a value indicating if the given type is anonymous. + True for anonymous, otherwise false. + + The type. + + + + Gets a value indicating if the given type has a parameterless constructor. + True if it has a parameterless constructor, otherwise false. + + The type. + + + + Gets a value indicating if the given type has any constructors. + + The type. + + + + Gets the constructor that contains the most parameters. + + The type. + + + + Gets a value indicating if the type is a user defined struct. + True if it is a user defined struct, otherwise false. + + The type. + + + + Common reflection tasks. + + + + + Creates an instance of type T using the current . + + The type of instance to create. + The constructor arguments. + A new instance of type T. + + + + Creates an instance of the specified type using the current . + + The type of instance to create. + The constructor arguments. + A new instance of the specified type. + + + + Creates an instance of the specified type without using the + current . + + The type of instance to create. + The constructor arguments. + A new instance of the specified type. + + + + Gets the from the type where the property was declared. + + The type the property belongs to. + The property to search. + Flags for how the property is retrieved. + + + + Walk up the inheritance tree collecting properties. This will get a unique set or properties in the + case where parents have the same property names as children. + + The to get properties for. + The flags for getting the properties. + If true, parent class properties that are hidden by `new` child properties will be overwritten. + + + + Gets the property from the expression. + + The type of the model. + The type of the property. + The expression. + The for the expression. + + + + Gets the member inheritance chain as a stack. + + The type of the model. + The type of the property. + The member expression. + The inheritance chain for the given member expression as a stack. + + + + Converts an to and from a . + + + + + Converts the string to an object. + + The string to convert to an object. + The for the current record. + The for the member being created. + The object created from the string. + + + + Converts a to and from a . + + + + + Converts the object to a string. + + The object to convert to a string. + The for the current record. + The for the member being written. + The string representation of the object. + + + + Converts the string to an object. + + The string to convert to an object. + The for the current record. + The for the member being created. + The object created from the string. + + + + Converts a to and from a . + + + + + Converts the string to an object. + + The string to convert to an object. + The for the current record. + The for the member being created. + The object created from the string. + + + + Converts a to and from a . + + + + + Creates a new ByteArrayConverter using the given . + + The options. + + + + Converts the object to a string. + + The object to convert to a string. + The for the current record. + The for the member being written. + The string representation of the object. + + + + Converts the string to an object. + + The string to convert to an object. + The for the current record. + The for the member being created. + The object created from the string. + + + + Options for converting byte arrays. + + + + + No options. + + + + + Hexadecimal encoding. + + + + + Base64 encoding. + + + + + Use dashes in between hex values. + + + + + Prefix hex number with 0x. + + + + + Converts a to and from a . + + + + + Converts the string to an object. + + The string to convert to an object. + The for the current record. + The for the member being created. + The object created from the string. + + + + Converts a to and from a . + + + + + Converts the string to an object. + + The string to convert to an object. + The for the current record. + The for the member being created. + The object created from the string. + + + + Converts a to and from a . + + + + + Converts the string to an object. + + The string to convert to an object. + The for the current record. + The for the member being created. + The object created from the string. + + + + Converts a to and from a . + + + + + Converts the string to an object. + + The string to convert to an object. + The for the current record. + The for the member being created. + The object created from the string. + + + + Converts a to and from a . + + + + + Converts the string to an object. + + The string to convert to an object. + The for the current record. + The for the member being created. + The object created from the string. + + + + Converts a to and from a . + + + + + Converts the string to an object. + + The string to convert to an object. + The for the current record. + The for the member being created. + The object created from the string. + + + + Converts an to and from a . + + + + + Converts the object to a string. + + The object to convert to a string. + The for the current record. + The for the member being written. + The string representation of the object. + + + + Converts the string to an object. + + The string to convert to an object. + The for the current record. + The for the member being created. + The object created from the string. + + + + Converts a to and from a . + + + + + Converts the object to a string. + + The object to convert to a string. + The for the current record. + The for the member being written. + The string representation of the object. + + + + Converts the string to an object. + + The string to convert to an object. + The for the current record. + The for the member being created. + The object created from the string. + + + + Converts an to and from a . + + + + + Creates a new for the given . + + The type of the Enum. + + + + Converts the string to an object. + + The string to convert to an object. + The for the current record. + The for the member being created. + The object created from the string. + + + + Throws an exception when used. This is here so that it's apparent + that there is no support for type conversion. A custom + converter will need to be created to have a field convert to and + from an IEnumerable. + + + + + Throws an exception. + + The string to convert to an object. + The for the current record. + The for the member being created. + The object created from the string. + + + + Throws an exception. + + The object to convert to a string. + The for the current record. + The for the member being written. + The string representation of the object. + + + + Converts a to and from a . + + + + + Converts the string to an object. + + The string to convert to an object. + The for the current record. + The for the member being created. + The object created from the string. + + + + Converts an to and from a . + + + + + Converts the object to a string. + + The object to convert to a string. + The for the current record. + The for the member being written. + The string representation of the object. + + + + Converts the string to an object. + + The string to convert to an object. + The for the current record. + The for the member being created. + The object created from the string. + + + + Converts an to and from a . + + + + + Converts the string to an object. + + The string to convert to an object. + The for the current record. + The for the member being created. + The object created from the string. + + + + Converts an to and from a . + + + + + Converts the object to a string. + + The object to convert to a string. + + + The string representation of the object. + + + + Converts the string to an object. + + The string to convert to an object. + The for the current record. + The for the member being created. + The object created from the string. + + + + Converts an to and from a . + + + + + Converts the string to an object. + + The string to convert to an object. + The for the current record. + The for the member being created. + The object created from the string. + + + + Converts a to and from a . + + + + + Converts the string to an object. + + The string to convert to an object. + The for the current record. + The for the member being created. + The object created from the string. + + + + Converts an to and from a . + + + + + Converts the string to an object. + + The string to convert to an object. + The for the current record. + The for the member being created. + The object created from the string. + + + + Converts an to and from a . + + + + + Converts the string to an object. + + The string to convert to an object. + The for the current record. + The for the member being created. + The object created from the string. + + + + Converts objects to and from strings. + + + + + Converts the object to a string. + + The object to convert to a string. + The for the current record. + The for the member being written. + The string representation of the object. + + + + Converts the string to an object. + + The string to convert to an object. + The for the current record. + The for the member being created. + The object created from the string. + + + + Converts a to and from a . + + + + + Gets the type of the nullable. + + + The type of the nullable. + + + + + Gets the underlying type of the nullable. + + + The underlying type. + + + + + Gets the type converter for the underlying type. + + + The type converter. + + + + + Creates a new for the given . + + The nullable type. + The type converter factory. + type is not a nullable type. + + + + Converts the string to an object. + + The string to convert to an object. + The for the current record. + The for the member being created. + The object created from the string. + + + + Converts the object to a string. + + The object to convert to a string. + + + The string representation of the object. + + + + Converts a to and from a . + + + + + Converts the string to an object. + + The string to convert to an object. + The for the current record. + The for the member being created. + The object created from the string. + + + + Converts a to and from a . + + + + + Converts the object to a string. + + The object to convert to a string. + The for the current record. + The for the member being written. + The string representation of the object. + + + + Converts the string to an object. + + The string to convert to an object. + The for the current record. + The for the member being created. + The object created from the string. + + + + Converts a to and from a . + + + + + Converts the string to an object. + + The string to convert to an object. + The for the current record. + The for the member being created. + The object created from the string. + + + + Converts a to and from a . + + + + + Converts the string to an object. + + The string to convert to an object. + The for the current record. + The for the member being created. + The object created from the string. + + + + Throws an exception when used. This is here so that it's apparent + that there is no support for type conversion. A custom + converter will need to be created to have a field convert to and + from . + + + + + Throws an exception. + + The string to convert to an object. + The for the current record. + The for the member being created. + The object created from the string. + + + + Throws an exception. + + The object to convert to a string. + The for the current record. + The for the member being written. + The string representation of the object. + + + + Caches s for a given type. + + + + + Initializes the class. + + + + + Adds the for the given . + + The type the converter converts. + The type converter that converts the type. + + + + Adds the for the given . + + The type the converter converts. + The type converter that converts the type. + + + + Removes the for the given . + + The type to remove the converter for. + + + + Removes the for the given . + + The type to remove the converter for. + + + + Gets the converter for the given . + + The type to get the converter for. + The for the given . + + + + Gets the converter for the given member. If an attribute is + found on the member, that will be used, otherwise the cache + will be used. + + The member to get the converter for. + + + + Gets the converter for the given . + + The type to get the converter for. + The for the given . + + + + Represents errors that occur while reading a CSV file. + + + + + The text used in ConvertFromString. + + + + + The value used in ConvertToString. + + + + + The type converter. + + + + + The member map data used in ConvertFromString and ConvertToString. + + + + + Initializes a new instance of the class. + + The type converter. + The member map data. + The text. + The reading context. + + + + Initializes a new instance of the class. + + The type converter. + The member map data. + The value. + The writing context. + + + + Initializes a new instance of the class + with a specified error message. + + The type converter. + The member map data. + The text. + The reading context. + The message that describes the error. + + + + Initializes a new instance of the class + with a specified error message. + + The type converter. + The member map data. + The value. + The writing context. + The message that describes the error. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that + is the cause of this exception. + + The type converter. + The member map data. + The text. + The reading context. + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that + is the cause of this exception. + + The type converter. + The member map data. + The value. + The writing context. + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Options used when doing type conversion. + + + + + Gets or sets the culture info. + + + + + Gets or sets the date time style. + + + + + Gets or sets the time span style. + + + + + Gets or sets the number style. + + + + + Gets or sets the string format. + + + + + Gets or sets the . + + + + + Gets the list of values that can be + used to represent a boolean of true. + + + + + Gets the list of values that can be + used to represent a boolean of false. + + + + + Gets the list of values that can be used to represent a null value. + + + + + Merges TypeConverterOptions by applying the values of sources in order on to each other. + The first object is the source object. + + The sources that will be applied. + The updated source object. + + + + Caches for a given type. + + + + + Adds the for the given . + + The type the options are for. + The options. + + + + Adds the for the given . + + The type the options are for. + The options. + + + + Removes the for the given type. + + The type to remove the options for. + + + + Removes the for the given type. + + The type to remove the options for. + + + + Get the for the given . + + The type the options are for. + The options for the given type. + + + + Get the for the given . + + The type the options are for. + The options for the given type. + + + + Converts a to and from a . + + + + + Converts the string to an object. + + The string to convert to an object. + The for the current record. + The for the member being created. + The object created from the string. + + + + Converts a to and from a . + + + + + Converts the string to an object. + + The string to convert to an object. + The for the current record. + The for the member being created. + The object created from the string. + + + + Converts a to and from a . + + + + + Converts the string to an object. + + The string to convert to an object. + The for the current record. + The for the member being created. + The object created from the string. + + + + Converts a to and from a . + + + + + Converts the to a . + + The string to convert to an object. + The for the current record. + The for the member being created. + + The created from the string. + + + + + Represents a user supplied validation failure. + + + + + Initializes a new instance of the class. + + The reading context. + + + + Initializes a new instance of the class + with a specified error message. + + The reading context. + The message that describes the error. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that + is the cause of this exception. + + The reading context. + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Represents errors that occur while writing a CSV file. + + + + + Initializes a new instance of the class. + + The writing context. + + + + Initializes a new instance of the class + with a specified error message. + + The writing context. + The message that describes the error. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that + is the cause of this exception. + + The writing context. + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + CSV writing state. + + + + + Gets the type actions. + + + + + Gets the type converter options. + + + + + Gets or sets the reusable member map data. + + + + + Gets the writer configuration. + + + + + Gets the serializer configuration. + + + + + Gets the . + + + + + Gets a value indicating if the + should be left open when disposing. + + + + + Gets the current row. + + + + + Get the current record; + + + + + Gets a value indicating if the header has been written. + + + + + Gets a value indicating if a record has been written. + + + + + Initializes a new instance. + + The writer. + The configuration. + A value indicating if the TextWriter should be left open. + + + + Clears the specified caches. + + The caches to clear. + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + 2 + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + True if the instance needs to be disposed of. + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + 2 + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + True if the instance needs to be disposed of. + + + diff --git a/packages/CsvHelper.15.0.5/lib/netstandard2.1/CsvHelper.dll b/packages/CsvHelper.15.0.5/lib/netstandard2.1/CsvHelper.dll new file mode 100644 index 0000000..d7e2cb7 Binary files /dev/null and b/packages/CsvHelper.15.0.5/lib/netstandard2.1/CsvHelper.dll differ diff --git a/packages/CsvHelper.15.0.5/lib/netstandard2.1/CsvHelper.xml b/packages/CsvHelper.15.0.5/lib/netstandard2.1/CsvHelper.xml new file mode 100644 index 0000000..16ec07c --- /dev/null +++ b/packages/CsvHelper.15.0.5/lib/netstandard2.1/CsvHelper.xml @@ -0,0 +1,7655 @@ + + + + CsvHelper + + + + + Represents errors that occur due to bad data. + + + + + Initializes a new instance of the class. + + The reading context. + + + + Initializes a new instance of the class + with a specified error message. + + The reading context. + The message that describes the error. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that + is the cause of this exception. + + The reading context. + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Types of caches. + + + + + None. + + + + + Named index. + + + + + Delegate that creates objects when reading. + + + + + Delegate that writes objects to strings when writing. + + + + + Type converter options. + + + + + Raw record. + + + + + The string values used to represent a boolean false when converting. + + + + + Gets the false values. + + + + + The string values used to represent a boolean false when converting. + + The false values. + + + + The string values used to represent a boolean false when converting. + + The false values. + + + + Applies configuration to the given . + + The member map. + + + + The string values used to represent a boolean true when converting. + + + + + Gets the true values. + + + + + The string values used to represent a boolean true when converting. + + + + + + The string values used to represent a boolean true when converting. + + + + + + Applies configuration to the given . + + The member map. + + + + The constant value that will be used for every record when + reading and writing. This value will always be used no matter + what other mapping configurations are specified. + + + + + Gets the constant. + + + + + The constant value that will be used for every record when + reading and writing. This value will always be used no matter + what other mapping configurations are specified. + + The constant. + + + + Applies configuration to the given . + + The member map. + + + + The used when type converting. + This will override the global + setting. + + + + + Gets the culture info. + + + + + The used when type converting. + This will override the global + setting. + + The culture. + + + + Applies configuration to the given . + + The member map. + + + + The to use when type converting. + This is used when doing any conversions. + + + + + Gets the date time styles. + + + + + The to use when type converting. + This is used when doing any conversions. + + The date time styles. + + + + Applies configuration to the given . + + The member map. + + + + The default value that will be used when reading when + the CSV field is empty. + + + + + Gets the default value. + + + + + The default value that will be used when reading when + the CSV field is empty. + + The default value + + + + Applies configuration to the given . + + The member map. + + + + The string format to be used when type converting. + + + + + Gets the formats. + + + + + The string format to be used when type converting. + + The format. + + + + The string format to be used when type converting. + + The formats. + + + + Applies configuration to the given . + + The member map. + + + + Appends a prefix to the header of each field of the reference member. + + + + + Gets the prefix. + + + + + Appends a prefix to the header of each field of the reference member. + + + + + Appends a prefix to the header of each field of the reference member. + + The prefix. + + + + Applies configuration to the given . + + The reference map. + + + + Ignore the member when reading and writing. + If this member has already been mapped as a reference + member, either by a class map, or by automapping, calling + this method will not ignore all the child members down the + tree that have already been mapped. + + + + + Applies configuration to the given . + + The member map. + + + + Applies configuration to the given . + + The reference map. + + + + + Defines methods to enables pluggable configuration of member mapping. + + + + + Applies configuration to the given . + + The member map. + + + + Defines methods to enables pluggable configuration of member mapping. + + + + + Applies configuration to the given . + + The reference map. + + + + When reading, is used to get the field at + the given index. When writing, the fields + will be written in the order of the field + indexes. + + + + + Gets the index. + + + + + Gets the index end. + + + + + When reading, is used to get the field at + the given index. When writing, the fields + will be written in the order of the field + indexes. + + The index. + The index end. + + + + Applies configuration to the given . + + The member map. + + + + When reading, is used to get the field + at the index of the name if there was a + header specified. It will look for the + first name match in the order listed. + When writing, sets the name of the + field in the header record. + The first name will be used. + + + + + Gets the names. + + + + + When reading, is used to get the field + at the index of the name if there was a + header specified. It will look for the + first name match in the order listed. + When writing, sets the name of the + field in the header record. + The first name will be used. + + The name + + + + When reading, is used to get the field + at the index of the name if there was a + header specified. It will look for the + first name match in the order listed. + When writing, sets the name of the + field in the header record. + The first name will be used. + + The names. + + + + Applies configuration to the given . + + The member map. + + + + When reading, is used to get the + index of the name used when there + are multiple names that are the same. + + + + + The name index. + + + + + When reading, is used to get the + index of the name used when there + are multiple names that are the same. + + The name index. + + + + Applies configuration to the given . + + The member map. + + + + The string values used to represent null when converting. + + + + + Gets the null values. + + + + + The string values used to represent null when converting. + + The null values. + + + + The string values used to represent null when converting. + + The null values. + + + + Applies configuration to the given . + + The member map. + + + + The to use when type converting. + This is used when doing any number conversions. + + + + + Gets the number styles. + + + + + The to use when type converting. + This is used when doing any number conversions. + + The number styles. + + + + Applies configuration to the given . + + The member map. + + + + Ignore the member when reading if no matching field name can be found. + + + + + Applies configuration to the given . + + The member map. + + + + Specifies the to use + when converting the member to and from a CSV field. + + + + + Gets the type converter. + + + + + Specifies the to use + when converting the member to and from a CSV field. + + + + + + Applies configuration to the given . + + The member map. + + + + Maps class members to CSV fields. + + + + + The type of the class this map is for. + + + + + The class constructor parameter mappings. + + + + + The class member mappings. + + + + + The class member reference mappings. + + + + + Allow only internal creation of CsvClassMap. + + The type of the class this map is for. + + + + Maps a member to a CSV field. + + The type of the class this map is for. This may not be the same type + as the member.DeclaringType or the current ClassType due to nested member mappings. + The member to map. + If true, an existing map will be used if available. + If false, a new map is created for the same member. + The member mapping. + + + + Maps a non-member to a CSV field. This allows for writing + data that isn't mapped to a class member. + + The member mapping. + + + + Maps a member to another class map. + + The type of the class map. + The member. + Constructor arguments used to create the reference map. + The reference mapping for the member. + + + + Auto maps all members for the given type. If a member + is mapped again it will override the existing map. + + The culture. + + + + Auto maps all members for the given type. If a member + is mapped again it will override the existing map. + + The configuration. + + + + Get the largest index for the + members and references. + + The max index. + + + + Resets the indexes based on the given start index. + + The index start. + The last index + 1. + + + + Auto maps the given map and checks for circular references as it goes. + + The map to auto map. + The configuration. + The list of parents for the map. + The index starting point. + + + + Auto maps the given map using constructor parameters. + + The map. + The configuration. + The list of parents for the map. + The index starting point. + + + + Checks for circular references. + + The type to check for. + The list of parents to check against. + A value indicating if a circular reference was found. + True if a circular reference was found, otherwise false. + + + + Gets the generic type for this class map. + + + + + Applies attribute configurations to the map. + + The member map. + + + + Applies attribute configurations to the map. + + The reference map. + + + + Has mapping capabilities. + + The class type. + + + + Maps a member to a CSV field. + + The member to map. + If true, an existing map will be used if available. + If false, a new map is created for the same member. + The member mapping. + + + + Options after a mapping call. + + The class type. + The member type. + + + + Has type converter capabilities. + + The class type. + The member type. + + + + Specifies the to use + when converting the member to and from a CSV field. + + The TypeConverter to use. + + + + Specifies the to use + when converting the member to and from a CSV field. + + The of the + to use. + + + + Options after a type converter call. + + The class type. + The member type. + + + + Has index capabilities. + + The class type. + The member type. + + + + When reading, is used to get the field at + the given index. When writing, the fields + will be written in the order of the field + indexes. + + The index of the CSV field. + The end index used when mapping to an member. + + + + Options after an index call. + + The class type. + The member type. + + + + Has optional capabilities. + + The class type. + The member type. + + + + Ignore the member when reading if no matching field name can be found. + + + + + Options after an optional call. + + The class type. + The member type. + + + + Has name capabilities. + + The class type. + The member type. + + + + When reading, is used to get the field + at the index of the name if there was a + header specified. It will look for the + first name match in the order listed. + When writing, sets the name of the + field in the header record. + The first name will be used. + + The possible names of the CSV field. + + + + Options after a name call. + + The class type. + The member type. + + + + Has name index capabilities. + + The class type. + The member type. + + + + When reading, is used to get the + index of the name used when there + are multiple names that are the same. + + The index of the name. + + + + Options after a name index call. + + The class type. + The member type. + + + + Has convert using capabilities. + + The class type. + The member type. + + + + Specifies an expression to be used to convert data in the + row to the member. + + The convert expression. + + + + Specifies an expression to be used to convert the object + to a field. + + The convert expression. + + + + Has default capabilities. + + The class type. + The member type. + + + + The default value that will be used when reading when + the CSV field is empty. + + The default value. + + + + The default value that will be used when reading when + the CSV field is empty. This value is not type checked + and will use a to convert + the field. This could potentially have runtime errors. + + The default value. + + + + Options after a default call. + + The class type. + The member type. + + + + Has constant capabilities. + + The class type. + The member type. + + + + The constant value that will be used for every record when + reading and writing. This value will always be used no matter + what other mapping configurations are specified. + + The constant value. + + + + Has validate capabilities. + + The class type. + The member type. + + + + The validate expression that will be called on every field when reading. + The expression should return true if the field is valid. + If false is returned, a + will be thrown. + + The validation expression. + + + + Has build capabilities. + + The class type. + + + + Builds the . + + + + + Collection that holds CsvClassMaps for record types. + + + + + Gets the for the specified record type. + + + The . + + The record type. + The for the specified record type. + + + + Creates a new instance using the given configuration. + + The configuration. + + + + Finds the for the specified record type. + + The record type. + The for the specified record type. + + + + Adds the specified map for it's record type. If a map + already exists for the record type, the specified + map will replace it. + + The map. + + + + Removes the class map. + + The class map type. + + + + Removes all maps. + + + + + Goes up the inheritance tree to find the type instance of CsvClassMap{}. + + The type to traverse. + The type that is CsvClassMap{}. + + + + Sets defaults for the mapping tree. The defaults used + to be set inside the classes, but this didn't allow for + the TypeConverter to be created from the Configuration's + TypeConverterFactory. + + The map to set defaults on. + + + + Maps class members to CSV fields. + + The of class to map. + + + + Creates an instance of . + + + + + Maps a member to a CSV field. + + The member to map. + If true, an existing map will be used if available. + If false, a new map is created for the same member. + The member mapping. + + + + Meant for internal use only. + Maps a member to another class map. When this is used, accessing a property through + sub-property mapping later won't work. You can only use one or the other. When using + this, ConvertUsing will also not work. + + The type of the class map. + The expression. + Constructor arguments used to create the reference map. + The reference mapping for the member. + + + + Represents configuration errors that occur. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The message that describes the error. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that + is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + Holds the default callback methods for delegate members of CsvHelper.Configuration.Configuration. + + + + Throws a if is false. + + + + + Throws a MissingFieldException. + + + + + Throws a . + + + + + Throws the given . + + + + + Returns true if the field contains a , + starts with a space, ends with a space, contains \r or \n, or contains + the . + + The field. + The context. + + + + + Returns false. + + + + + Returns the as given. + + + + + Returns true if : + 1. does not have a parameterless constructor + 2. has a constructor + 3. is not a user defined struct + 4. is not an interface + 5. TypeCode is not an Object. + + + + + Returns the type's constructor with the most parameters. + If two constructors have the same number of parameters, then + there is no guarantee which one will be returned. If you have + that situation, you should probably implement this function yourself. + + + + + Configuration used for reading and writing CSV data. + + + + + Gets or sets the . + + + + + Gets or sets the . + + + + + Gets or sets a value indicating if the + CSV file has a header record. + Default is true. + + + + + Gets or sets the function that is called when a header validation check is ran. The default function + will throw a if there is no header for a given member mapping. + You can supply your own function to do other things like logging the issue instead of throwing an exception. + Arguments: isValid, headerNames, headerNameIndex, context + + + + + Gets or sets the function that is called when a missing field is found. The default function will + throw a . You can supply your own function to do other things + like logging the issue instead of throwing an exception. + Arguments: headerNames, index, context + + + + + Gets or sets the function that is called when bad field data is found. A field + has bad data if it contains a quote and the field is not quoted (escaped). + You can supply your own function to do other things like logging the issue + instead of throwing an exception. + Arguments: context + + + + + Gets or sets the function that is called when a reading exception occurs. + The default function will re-throw the given exception. If you want to ignore + reading exceptions, you can supply your own function to do other things like + logging the issue. + Arguments: exception + + + + + Gets or sets the callback that will be called to + determine whether to skip the given record or not. + + + + + Gets or sets a value indicating if a line break found in a quote field should + be considered bad data. True to consider a line break bad data, otherwise false. + Defaults to false. + + + + + Gets or sets a value indicating if fields should be sanitized + to prevent malicious injection. This covers MS Excel, + Google Sheets and Open Office Calc. + + + + + Gets or sets the characters that are used for injection attacks. + + + + + Gets or sets the character used to escape a detected injection. + + + + + Gets or sets a value indicating whether changes in the column + count should be detected. If true, a + will be thrown if a different column count is detected. + + + true if [detect column count changes]; otherwise, false. + + + + + Prepares the header field for matching against a member name. + The header field and the member name are both ran through this function. + You should do things like trimming, removing whitespace, removing underscores, + and making casing changes to ignore case. + + + + + Determines if constructor parameters should be used to create + the class instead of the default constructor and members. + + + + + Chooses the constructor to use for constructor mapping. + + + + + Gets or sets the comparer used to order the properties + of dynamic objects when writing. The default is null, + which will preserve the order the object properties + were created with. + + + + + Gets or sets a value indicating whether references + should be ignored when auto mapping. True to ignore + references, otherwise false. Default is false. + + + + + Gets or sets the field trimming options. + + + + + Gets or sets the delimiter used to separate fields. + Default is CultureInfo.TextInfo.ListSeparator. + + + + + Gets or sets the escape character used to escape a quote inside a field. + Default is '"'. + + + + + Gets or sets the character used to quote fields. + Default is '"'. + + + + + Gets a string representation of the currently configured Quote character. + + + The new quote string. + + + + + Gets a string representation of two of the currently configured Quote characters. + + + The new double quote string. + + + + + Gets or sets a function that is used to determine if a field should get quoted + when writing. + Arguments: field, context + + + + + Gets or sets the character used to denote + a line that is commented out. Default is '#'. + + + + + Gets or sets a value indicating if comments are allowed. + True to allow commented out lines, otherwise false. + + + + + Gets or sets the size of the buffer + used for reading CSV files. + Default is 2048. + + + + + Gets or sets a value indicating whether the number of bytes should + be counted while parsing. Default is false. This will slow down parsing + because it needs to get the byte count of every char for the given encoding. + The needs to be set correctly for this to be accurate. + + + + + Gets or sets the encoding used when counting bytes. + + + + + Gets or sets the culture info used to read an write CSV files. + Default is . + + + + + Gets or sets a value indicating if quotes should be + ignored when parsing and treated like any other character. + + + + + Gets or sets a value indicating if private + member should be read from and written to. + True to include private member, otherwise false. Default is false. + + + + + Gets or sets the member types that are used when auto mapping. + MemberTypes are flags, so you can choose more than one. + Default is Properties. + + + + + Gets or sets a value indicating if blank lines + should be ignored when reading. + True to ignore, otherwise false. Default is true. + + + + + Gets or sets a callback that will return the prefix for a reference header. + Arguments: memberType, memberName + + + + + The configured s. + + + + + Gets or sets the newline to use when writing. + + + + + Gets the newline string to use when writing. This string is determined + by the value. + + + + + Gets or sets a value indicating that during writing if a new + object should be created when a reference member is null. + True to create a new object and use it's defaults for the + fields, or false to leave the fields empty for all the + reference member's member. + + + + + Initializes a new instance of the class + using the given . Since + uses for it's default, the given + will be used instead. + + The culture information. + + + + Use a to configure mappings. + When using a class map, no members are mapped by default. + Only member specified in the mapping are used. + + The type of mapping class to use. + + + + Use a to configure mappings. + When using a class map, no members are mapped by default. + Only members specified in the mapping are used. + + The type of mapping class to use. + + + + Registers the class map. + + The class map to register. + + + + Unregisters the class map. + + The map type to unregister. + + + + Unregisters the class map. + + The map type to unregister. + + + + Unregisters all class maps. + + + + + Generates a for the type. + + The type to generate the map for. + The generate map. + + + + Generates a for the type. + + The type to generate for the map. + The generate map. + + + + A default that can be used + to create a class map dynamically. + + + + + + Configuration used for the . + + + + + Gets or sets the size of the buffer + used for reading CSV files. + Default is 2048. + + + + + Gets or sets a value indicating whether the number of bytes should + be counted while parsing. Default is false. This will slow down parsing + because it needs to get the byte count of every char for the given encoding. + The needs to be set correctly for this to be accurate. + + + + + Gets or sets the encoding used when counting bytes. + + + + + Gets or sets the function that is called when bad field data is found. A field + has bad data if it contains a quote and the field is not quoted (escaped). + You can supply your own function to do other things like logging the issue + instead of throwing an exception. + Arguments: context + + + + + Gets or sets a value indicating if a line break found in a quote field should + be considered bad data. True to consider a line break bad data, otherwise false. + Defaults to false. + + + + + Gets or sets the character used to denote + a line that is commented out. Default is '#'. + + + + + Gets or sets a value indicating if comments are allowed. + True to allow commented out lines, otherwise false. + + + + + Gets or sets a value indicating if blank lines + should be ignored when reading. + True to ignore, otherwise false. Default is true. + + + + + Gets or sets a value indicating if quotes should be + ignored when parsing and treated like any other character. + + + + + Gets or sets the character used to quote fields. + Default is '"'. + + + + + Gets or sets the delimiter used to separate fields. + Default is CultureInfo.CurrentCulture.TextInfo.ListSeparator. + + + + + Gets or sets the escape character used to escape a quote inside a field. + Default is '"'. + + + + + Gets or sets the field trimming options. + + + + + Configuration used for the . + + + + + Gets or sets a value indicating if the + CSV file has a header record. + Default is true. + + + + + Gets or sets the function that is called when a header validation check is ran. The default function + will throw a if there is no header for a given member mapping. + You can supply your own function to do other things like logging the issue instead of throwing an exception. + Arguments: isValid, headerNames, headerNameIndex, context + + + + + Gets or sets the function that is called when a missing field is found. The default function will + throw a . You can supply your own function to do other things + like logging the issue instead of throwing an exception. + Arguments: headerNames, index, context + + + + + Gets or sets the function that is called when a reading exception occurs. + The default function will re-throw the given exception. If you want to ignore + reading exceptions, you can supply your own function to do other things like + logging the issue. + Arguments: exception + + + + + Gets or sets the culture info used to read an write CSV files. + + + + + Gets or sets the . + + + + + Gets or sets the . + + + + + Prepares the header field for matching against a member name. + The header field and the member name are both ran through this function. + You should do things like trimming, removing whitespace, removing underscores, + and making casing changes to ignore case. + + + + + Determines if constructor parameters should be used to create + the class instead of the default constructor and members. + + + + + Chooses the constructor to use for constructor mapping. + + + + + Gets or sets a value indicating whether references + should be ignored when auto mapping. True to ignore + references, otherwise false. Default is false. + + + + + Gets or sets the callback that will be called to + determine whether to skip the given record or not. + + + + + Gets or sets a value indicating if private + member should be read from and written to. + True to include private member, otherwise false. Default is false. + + + + + Gets or sets a callback that will return the prefix for a reference header. + Arguments: memberType, memberName + + + + + Gets or sets a value indicating whether changes in the column + count should be detected. If true, a + will be thrown if a different column count is detected. + + + true if [detect column count changes]; otherwise, false. + + + + + Gets or sets the member types that are used when auto mapping. + MemberTypes are flags, so you can choose more than one. + Default is Properties. + + + + + The configured s. + + + + + Use a to configure mappings. + When using a class map, no members are mapped by default. + Only member specified in the mapping are used. + + The type of mapping class to use. + + + + Use a to configure mappings. + When using a class map, no member are mapped by default. + Only member specified in the mapping are used. + + The type of mapping class to use. + + + + Registers the class map. + + The class map to register. + + + + Unregisters the class map. + + The map type to unregister. + + + + Unregisters the class map. + + The map type to unregister. + + + + Unregisters all class maps. + + + + + Generates a for the type. + + The type to generate the map for. + The generate map. + + + + Generates a for the type. + + The type to generate for the map. + The generate map. + + + + Configuration used for the . + + + + + Gets or sets the delimiter used to separate fields. + Default is ','; + + + + + Gets or sets the character used to quote fields. + Default is '"'. + + + + + Gets or sets the escape character used to escape a quote inside a field. + Default is '"'. + + + + + Gets or sets the field trimming options. + + + + + Gets or sets a value indicating if fields should be sanitized + to prevent malicious injection. This covers MS Excel, + Google Sheets and Open Office Calc. + + + + + Gets or sets the characters that are used for injection attacks. + + + + + Gets or sets the character used to escape a detected injection. + + + + + Gets or sets the newline to use when writing. + + + + + Gets the newline string to use when writing. This string is determined + by the value. + + + + + Configuration used for the . + + + + + Gets a string representation of the currently configured Quote character. + + + The new quote string. + + + + + Gets a string representation of two of the currently configured Quote characters. + + + The new double quote string. + + + + + Gets or sets a function that is used to determine if a field should get quoted + when writing. + Arguments: field, context + + + + + Gets or sets the culture info used to read an write CSV files. + + + + + Gets or sets the . + + + + + Gets or sets the . + + + + + Gets or sets a value indicating if comments are allowed. + True to allow commented out lines, otherwise false. + + + + + Gets or sets the character used to denote + a line that is commented out. Default is '#'. + + + + + Gets or sets a value indicating if the + CSV file has a header record. + Default is true. + + + + + Gets or sets a value indicating whether references + should be ignored when auto mapping. True to ignore + references, otherwise false. Default is false. + + + + + Gets or sets a value indicating if private + member should be read from and written to. + True to include private member, otherwise false. Default is false. + + + + + Gets or sets a callback that will return the prefix for a reference header. + Arguments: memberType, memberName + + + + + Gets or sets the member types that are used when auto mapping. + MemberTypes are flags, so you can choose more than one. + Default is Properties. + + + + + The configured s. + + + + + Use a to configure mappings. + When using a class map, no member are mapped by default. + Only member specified in the mapping are used. + + The type of mapping class to use. + + + + Use a to configure mappings. + When using a class map, no member are mapped by default. + Only member specified in the mapping are used. + + The type of mapping class to use. + + + + Registers the class map. + + The class map to register. + + + + Unregisters the class map. + + The map type to unregister. + + + + Unregisters the class map. + + The map type to unregister. + + + + Unregisters all class maps. + + + + + Generates a for the type. + + The type to generate the map for. + The generate map. + + + + Generates a for the type. + + The type to generate for the map. + The generate map. + + + + Gets or sets a value indicating that during writing if a new + object should be created when a reference member is null. + True to create a new object and use it's defaults for the + fields, or false to leave the fields empty for all the + reference member's member. + + + + + Gets or sets the comparer used to order the properties + of dynamic objects when writing. The default is null, + which will preserve the order the object properties + were created with. + + + + + Sets type converter options on a member map. + + + + + Creates a new instance using the given . + + The member map the options are being applied to. + + + + The used when type converting. + This will override the global + setting. + + The culture info. + + + + The to use when type converting. + This is used when doing any conversions. + + The date time style. + + + + The to use when type converting. + This is used when doing converting. + + The time span styles. + + + + The to use when type converting. + This is used when doing any number conversions. + + + + + + The string format to be used when type converting. + + The format. + + + + The to use when converting. + This is used when doing conversions. + + Kind of the URI. + + + + The string values used to represent a boolean when converting. + + A value indicating whether true values or false values are being set. + A value indication if the current values should be cleared before adding the new ones. + The string boolean values. + + + + The string values used to represent null when converting. + + The values that represent null. + + + + + The string values used to represent null when converting. + + A value indication if the current values should be cleared before adding the new ones. + The values that represent null. + + + + + Mapping info for a member to a CSV field. + + + + + Gets the member map data. + + + + + Type converter options. + + + + + Creates an instance of using the given Type and . + + Type of the class the member being mapped belongs to. + The member being mapped. + + + + When reading, is used to get the field + at the index of the name if there was a + header specified. It will look for the + first name match in the order listed. + When writing, sets the name of the + field in the header record. + The first name will be used. + + The possible names of the CSV field. + + + + When reading, is used to get the + index of the name used when there + are multiple names that are the same. + + The index of the name. + + + + When reading, is used to get the field at + the given index. When writing, the fields + will be written in the order of the field + indexes. + + The index of the CSV field. + The end index used when mapping to an member. + + + + Ignore the member when reading and writing. + If this member has already been mapped as a reference + member, either by a class map, or by automapping, calling + this method will not ignore all the child members down the + tree that have already been mapped. + + + + + Ignore the member when reading and writing. + If this member has already been mapped as a reference + member, either by a class map, or by automapping, calling + this method will not ignore all the child members down the + tree that have already been mapped. + + True to ignore, otherwise false. + + + + The default value that will be used when reading when + the CSV field is empty. + + The default value. + + + + The default value that will be used when reading when + the CSV field is empty. This value is not type checked + and will use a to convert + the field. This could potentially have runtime errors. + + The default value. + + + + The constant value that will be used for every record when + reading and writing. This value will always be used no matter + what other mapping configurations are specified. + + The constant value. + + + + Specifies the to use + when converting the member to and from a CSV field. + + The TypeConverter to use. + + + + Specifies the to use + when converting the member to and from a CSV field. + + The of the + to use. + + + + Specifies an expression to be used to validate a field when reading. + + + + + + A collection that holds 's. + + + + + Gets the number of elements contained in the . + + + The number of elements contained in the . + + + + + Gets a value indicating whether the is read-only. + + + true if the is read-only; otherwise, false. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The comparer to use when sorting the member maps. + + + + Returns an enumerator that iterates through the collection. + + + A that can be used to iterate through the collection. + + 1 + + + + Returns an enumerator that iterates through a collection. + + + An object that can be used to iterate through the collection. + + 2 + + + + Adds an item to the . + + The object to add to the . + The is read-only. + + + + + Adds a range of items to the . + + The collection to add. + + + + Removes all items from the . + + The is read-only. + + + + + Determines whether the contains a specific value. + + + true if is found in the ; otherwise, false. + + The object to locate in the . + + + + + Copies the elements of the to an , starting at a particular index. + + The one-dimensional that is the destination of the elements copied from . The must have zero-based indexing.The zero-based index in at which copying begins. is null. is less than 0.The number of elements in the source is greater than the available space from to the end of the destination . + + + + Removes the first occurrence of a specific object from the . + + + true if was successfully removed from the ; otherwise, false. This method also returns false if is not found in the original . + + The object to remove from the . + The is read-only. + + + + + Determines the index of a specific item in the . + + + The index of if found in the list; otherwise, -1. + + The object to locate in the . + + + + + Inserts an item to the at the specified index. + + The zero-based index at which should be inserted. + The object to insert into the . + is not a valid index in the . + The is read-only. + + + + + Removes the item at the specified index. + + The zero-based index of the item to remove. + is not a valid index in the . + The is read-only. + + + + + Gets or sets the element at the specified index. + + + The element at the specified index. + + The zero-based index of the element to get or set. + is not a valid index in the . + The member is set and the is read-only. + + + + + Finds the using the given member expression. + + The the member is on. + The member expression. + The for the given expression, or null if not found. + + + + Finds the using the given member. + + The member. + The for the given expression, or null if not found. + + + + Adds the members from the mapping. This will recursively + traverse the mapping tree and add all members for + reference maps. + + The mapping where the members are added from. + + + + Used to compare s. + The order is by field index ascending. Any + fields that don't have an index are pushed + to the bottom. + + + + + Compares two objects and returns a value indicating whether one is less than, equal to, or greater than the other. + + + Value + Condition + Less than zero + is less than . + Zero + equals . + Greater than zero + is greater than . + + The first object to compare. + The second object to compare. + Neither nor implements the interface. + -or- + and are of different types and neither one can handle comparisons with the other. + 2 + + + + Compares two objects and returns a value indicating whether one is less than, equal to, or greater than the other. + + + Value + Condition + Less than zero + is less than . + Zero + equals . + Greater than zero + is greater than . + + The first object to compare. + The second object to compare. + + + + + The configured data for the member map. + + + + + Gets the that the data + is associated with. + + + + + Gets the list of column names. + + + + + Gets or sets the index of the name. + This is used if there are multiple + columns with the same names. + + + + + Gets or sets a value indicating if the name was + explicitly set. True if it was explicitly set, + otherwise false. + + + + + Gets or sets the column index. + + + + + Gets or sets the index end. The Index end is used to specify a range for use + with a collection member. Index is used as the start of the range, and IndexEnd + is the end of the range. + + + + + Gets or sets a value indicating if the index was + explicitly set. True if it was explicitly set, + otherwise false. + + + + + Gets or sets the type converter. + + + + + Gets or sets the type converter options. + + + + + Gets or sets a value indicating whether the field should be ignored. + + + + + Gets or sets the default value used when a CSV field is empty. + + + + + Gets or sets a value indicating whether this instance is default value set. + the default value was explicitly set. True if it was + explicitly set, otherwise false. + + + + + Gets or sets the constant value used for every record. + + + + + Gets or sets a value indicating if a constant was explicitly set. + + + + + Gets or sets the expression used to convert data in the + row to the member. + + + + + Gets or sets the expression to be used to convert the object + to a field. + + + + + Gets or sets the expression use to validate a field. + + + + + Gets or sets a value indicating if a field is optional. + + + + + Initializes a new instance of the class. + + The member. + + + + Mapping info for a member to a CSV field. + + + + + Creates a new instance using the specified member. + + + + + When reading, is used to get the field + at the index of the name if there was a + header specified. It will look for the + first name match in the order listed. + When writing, sets the name of the + field in the header record. + The first name will be used. + + The possible names of the CSV field. + + + + When reading, is used to get the + index of the name used when there + are multiple names that are the same. + + The index of the name. + + + + When reading, is used to get the field at + the given index. When writing, the fields + will be written in the order of the field + indexes. + + The index of the CSV field. + The end index used when mapping to an member. + + + + Ignore the member when reading and writing. + If this member has already been mapped as a reference + member, either by a class map, or by automapping, calling + this method will not ignore all the child members down the + tree that have already been mapped. + + + + + Ignore the member when reading and writing. + If this member has already been mapped as a reference + member, either by a class map, or by automapping, calling + this method will not ignore all the child members down the + tree that have already been mapped. + + True to ignore, otherwise false. + + + + The default value that will be used when reading when + the CSV field is empty. + + The default value. + + + + The default value that will be used when reading when + the CSV field is empty. This value is not type checked + and will use a to convert + the field. This could potentially have runtime errors. + + The default value. + + + + The constant value that will be used for every record when + reading and writing. This value will always be used no matter + what other mapping configurations are specified. + + The constant value. + + + + Specifies the to use + when converting the member to and from a CSV field. + + The TypeConverter to use. + + + + Specifies the to use + when converting the member to and from a CSV field. + + The of the + to use. + + + + Specifies an expression to be used to convert data in the + row to the member. + + The convert expression. + + + + Specifies an expression to be used to convert the object + to a field. + + The convert expression. + + + + Ignore the member when reading if no matching field name can be found. + + + + + Specifies an expression to be used to validate a field when reading. + + + + + + A collection that holds member names. + + + + + Gets the name at the given index. If a prefix is set, + it will be prepended to the name. + + + + + + + Gets the prefix to use for each name. + + + + + Gets the raw list of names without + the prefix being prepended. + + + + + Gets the count. + + + + + Adds the given name to the collection. + + The name to add. + + + + Clears all names from the collection. + + + + + Adds a range of names to the collection. + + The range to add. + + + + Returns an enumerator that iterates through the collection. + + + A that can be used to iterate through the collection. + + 1 + + + + Returns an enumerator that iterates through a collection. + + + An object that can be used to iterate through the collection. + + 2 + + + + Mapping info for a reference member mapping to a class. + + + + + Gets the member reference map data. + + + + + Initializes a new instance of the class. + + The member. + The to use for the reference map. + + + + Appends a prefix to the header of each field of the reference member. + + The prefix to be prepended to headers of each reference member. + The current + + + + Get the largest index for the + members and references. + + The max index. + + + + A collection that holds 's. + + + + Gets the number of elements contained in the . + The number of elements contained in the . + + + Gets a value indicating whether the is read-only. + true if the is read-only; otherwise, false. + + + Gets or sets the element at the specified index. + The element at the specified index. + The zero-based index of the element to get or set. + + is not a valid index in the . + The member is set and the is read-only. + + + Returns an enumerator that iterates through the collection. + A that can be used to iterate through the collection. + 1 + + + Returns an enumerator that iterates through a collection. + An object that can be used to iterate through the collection. + 2 + + + Adds an item to the . + The object to add to the . + The is read-only. + + + Removes all items from the . + The is read-only. + + + Determines whether the contains a specific value. + true if is found in the ; otherwise, false. + The object to locate in the . + + + Copies the elements of the to an , starting at a particular index. + The one-dimensional that is the destination of the elements copied from . The must have zero-based indexing. + The zero-based index in at which copying begins. + + is null. + + is less than 0. + The number of elements in the source is greater than the available space from to the end of the destination . + + + Removes the first occurrence of a specific object from the . + true if was successfully removed from the ; otherwise, false. This method also returns false if is not found in the original . + The object to remove from the . + The is read-only. + + + Determines the index of a specific item in the . + The index of if found in the list; otherwise, -1. + The object to locate in the . + + + Inserts an item to the at the specified index. + The zero-based index at which should be inserted. + The object to insert into the . + + is not a valid index in the . + The is read-only. + + + Removes the item at the specified index. + The zero-based index of the item to remove. + + is not a valid index in the . + The is read-only. + + + + Finds the using the given member expression. + + The the member is on. + The member expression. + The for the given expression, or null if not found. + + + + Finds the using the given member. + + The member. + The for the given expression, or null if not found. + + + + The configuration data for the reference map. + + + + + Gets or sets the header prefix to use. + + + + + Gets the that the data + is associated with. + + + + + Gets the mapping this is a reference for. + + + + + Initializes a new instance of the class. + + The member. + The mapping this is a reference for. + + + + Flags for the type of members that + can be used for auto mapping. + + + + + No members. This is not a valid value + and will cause an exception if used. + + + + + Properties on a class. + + + + + Fields on a class. + + + + + Types of new lines. + + + + + Windows line feed. + + + + + Classic MAC + + + + + Unix + + + + + Use the setting. + + + + + New line constants. + + + + + Windows line feed. + + + + + Class MAC line feed. + + + + + Unix line feed. + + + + + Mapping for a constructor parameter. + This may contain value type data, a constructor type map, + or a reference map, depending on the type of the parameter. + + + + + Gets the parameter map data. + + + + + Gets or sets the map for a constructor type. + + + + + Gets or sets the map for a reference type. + + + + + Creates an instance of using + the given information. + + The parameter being mapped. + + + + The constructor parameter data for the map. + + + + + Gets the that the data + is associated with. + + + + + Gets or sets the type converter. + + + + + Gets or sets the type converter options. + + + + + Gets or sets the column index. + + + + + Gets or sets the column name. + + + + + Initializes a new instance of the class. + + The constructor parameter. + + + + Mapping info for a reference parameter mapping to a class. + + + + + Gets the parameter reference map data. + + + + + Initializes a new instance of the class. + + The parameter. + The to use for the reference map. + + + + Appends a prefix to the header of each field of the reference parameter. + + The prefix to be prepended to headers of each reference parameter. + The current + + + + Get the largest index for the + members and references. + + The max index. + + + + The configuration data for the reference map. + + + + + Gets or sets the header prefix to use. + + + + + Gets the that the data + is associated with. + + + + + Gets the mapping this is a reference for. + + + + + Initializes a new instance of the class. + + The parameter. + The mapping this is a reference for. + + + + Options for trimming of fields. + + + + + No trimming. + + + + + Trims the whitespace around a field. + + + + + Trims the whitespace inside of quotes around a field. + + + + + Provides a means of reading a CSV file forward-only by using CsvReader. + + + + + + Gets the column with the specified index. + + + The . + + The i. + + + + + Gets the column with the specified name. + + + The . + + The name. + + + + + Gets a value indicating the depth of nesting for the current row. + + + + + 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. + + + + + Gets the number of columns in the current row. + + + + + Initializes a new instance of the class. + + The CSV. + + + + Closes the Object. + + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + Gets the value of the specified column as a Boolean. + + The zero-based column ordinal. + + The value of the column. + + + + + Gets the 8-bit unsigned integer value of the specified column. + + The zero-based column ordinal. + + The 8-bit unsigned integer value of the specified column. + + + + + Reads a stream of bytes from the specified column offset into the buffer as an array, starting at the given buffer offset. + + The zero-based column ordinal. + The index within the field from which to start the read operation. + The buffer into which to read the stream of bytes. + The index for buffer to start the read operation. + The number of bytes to read. + + The actual number of bytes read. + + + + + Gets the character value of the specified column. + + The zero-based column ordinal. + + The character value of the specified column. + + + + + Reads a stream of characters from the specified column offset into the buffer as an array, starting at the given buffer offset. + + The zero-based column ordinal. + The index within the row from which to start the read operation. + The buffer into which to read the stream of bytes. + The index for buffer to start the read operation. + The number of bytes to read. + + The actual number of characters read. + + + + + Returns an for the specified column ordinal. + + The index of the field to find. + + The for the specified column ordinal. + + + + + Gets the data type information for the specified field. + + The index of the field to find. + + The data type information for the specified field. + + + + + Gets the date and time data value of the specified field. + + The index of the field to find. + + The date and time data value of the specified field. + + + + + Gets the fixed-position numeric value of the specified field. + + The index of the field to find. + + The fixed-position numeric value of the specified field. + + + + + Gets the double-precision floating point number of the specified field. + + The index of the field to find. + + The double-precision floating point number of the specified field. + + + + + Gets the information corresponding to the type of that would be returned from . + + The index of the field to find. + + The information corresponding to the type of that would be returned from . + + + + + Gets the single-precision floating point number of the specified field. + + The index of the field to find. + + The single-precision floating point number of the specified field. + + + + + Returns the GUID value of the specified field. + + The index of the field to find. + + The GUID value of the specified field. + + + + + Gets the 16-bit signed integer value of the specified field. + + The index of the field to find. + + The 16-bit signed integer value of the specified field. + + + + + Gets the 32-bit signed integer value of the specified field. + + The index of the field to find. + + The 32-bit signed integer value of the specified field. + + + + + Gets the 64-bit signed integer value of the specified field. + + The index of the field to find. + + The 64-bit signed integer value of the specified field. + + + + + Gets the name for the field to find. + + The index of the field to find. + + The name of the field or the empty string (""), if there is no value to return. + + + + + Return the index of the named field. + + The name of the field to find. + + The index of the named field. + + + + + Returns a that describes the column metadata of the . + + + A that describes the column metadata. + + + + + Gets the string value of the specified field. + + The index of the field to find. + + The string value of the specified field. + + + + + Return the value of the specified field. + + The index of the field to find. + + The which will contain the field value upon return. + + + + + Populates an array of objects with the column values of the current record. + + An array of to copy the attribute fields into. + + The number of instances of in the array. + + + + + Return whether the specified field is set to null. + + The index of the field to find. + + true if the specified field is set to null; otherwise, false. + + + + + Advances the data reader to the next result, when reading the results of batch SQL statements. + + + true if there are more rows; otherwise, false. + + + + + Advances the to the next record. + + + true if there are more rows; otherwise, false. + + + + + Reads fields from a . + + + + + Gets the reading context. + + + + + Gets a value indicating if the buffer is empty. + True if the buffer is empty, otherwise false. + + + + + Fills the buffer. + + True if there is more data left. + False if all the data has been read. + + + + Fills the buffer. + + True if there is more data left. + False if all the data has been read. + + + + Creates a new using the given + and . + + The text reader. + The configuration. + + + + Creates a new using the given + , + and leaveOpen flag. + + The text reader. + The configuration. + A value indicating if the should be left open when disposing. + + + + Gets the next char as an . + + + + + Gets the field. This will append any reading progress. + + The current field. + + + + Appends the current reading progress. + + + + + Move's the buffer position according to the given offset. + + The offset to move the buffer. + + + + Sets the start of the field to the current buffer position. + + An offset for the field start. + The offset should be less than 1. + + + + Sets the end of the field to the current buffer position. + + An offset for the field start. + The offset should be less than 1. + + + + Sets the raw record start to the current buffer position; + + An offset for the raw record start. + The offset should be less than 1. + + + + Sets the raw record end to the current buffer position. + + An offset for the raw record end. + The offset should be less than 1. + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + 2 + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + True if the instance needs to be disposed of. + + + + Represents errors that occur in CsvHelper. + + + + + Gets the context used when reading. + + + + + Gets the context used when writing. + + + + + Initializes a new instance of the CsvHelperException class. + + + + + Initializes a new instance of the CsvHelperException class. + + The message that describes the error. + + + + Initializes a new instance of the CsvHelperException class. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The reading context. + The message that describes the error. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that + is the cause of this exception. + + The reading context. + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Initializes a new instance of the class + with a specified error message. + + The writing context. + The message that describes the error. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that + is the cause of this exception. + + The writing context. + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Parses a CSV file. + + + + + Gets the reading context. + + + + + Gets the configuration. + + + + + Gets the . + + + + + Creates a new parser using the given . + + The with the CSV file data. + The culture. + + + + Creates a new parser using the given . + + The with the CSV file data. + The culture. + true to leave the reader open after the CsvReader object is disposed, otherwise false. + + + + Creates a new parser using the given and . + + The with the CSV file data. + The configuration. + + + + Creates a new parser using the given and . + + The with the CSV file data. + The configuration. + true to leave the reader open after the CsvReader object is disposed, otherwise false. + + + + Creates a new parser using the given . + + The field reader. + + + + Reads a record from the CSV file. + + A of fields for the record read. + + + + Reads a record from the CSV file asynchronously. + + A of fields for the record read. + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + 2 + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + True if the instance needs to be disposed of. + + + + Reads a line of the CSV file. + + The CSV line. + + + + Reads a line of the CSV file. + + The CSV line. + + + + Reads a blank line. This accounts for empty lines + and commented out lines. + + + + + Reads a blank line. This accounts for empty lines + and commented out lines. + + + + + Reads until a delimiter or line ending is found. + + True if the end of the line was found, otherwise false. + + + + Reads until a delimiter or line ending is found. + + True if the end of the line was found, otherwise false. + + + + Reads until the field is not quoted and a delimiter is found. + + True if the end of the line was found, otherwise false. + + + + Reads until the field is not quoted and a delimiter is found. + + True if the end of the line was found, otherwise false. + + + + Reads until the delimiter is done. + + True if a delimiter was read. False if the sequence of + chars ended up not being the delimiter. + + + + Reads until the delimiter is done. + + True if a delimiter was read. False if the sequence of + chars ended up not being the delimiter. + + + + Reads until the line ending is done. + + The field start offset. + + + + Reads until the line ending is done. + + The field start offset. + + + + Reads until a non-space character is found. + + True if there is more data to read. + False if the end of the file has been reached. + + + + Reads until a non-space character is found. + + True if there is more data to read. + False if the end of the file has been reached. + + + + Reads data that was parsed from . + + + + + Gets the reading context. + + + + + Gets the configuration. + + + + + Gets the parser. + + + + + Creates a new CSV reader using the given . + + The reader. + The culture. + + + + Creates a new CSV reader using the given . + + The reader. + The culture. + true to leave the reader open after the CsvReader object is disposed, otherwise false. + + + + Creates a new CSV reader using the given and + and as the default parser. + + The reader. + The configuration. + + + + Creates a new CSV reader using the given . + + The reader. + The configuration. + true to leave the reader open after the CsvReader object is disposed, otherwise false. + + + + Creates a new CSV reader using the given . + + The used to parse the CSV file. + + + + Reads the header record without reading the first row. + + True if there are more records, otherwise false. + + + + Validates the header. A header is bad if all the mapped members don't match. + If the header is not valid, a will be thrown. + + The type to validate the header against. + + + + Validates the header. A header is bad if all the mapped members don't match. + If the header is not valid, a will be thrown. + + The type to validate the header against. + + + + Validates the header against the given map. + + The map to validate against. + + + + Advances the reader to the next record. This will not read headers. + You need to call then + for the headers to be read. + + True if there are more records, otherwise false. + + + + Advances the reader to the next record. This will not read headers. + You need to call then + for the headers to be read. + + True if there are more records, otherwise false. + + + + Gets the raw field at position (column) index. + + The zero based index of the field. + The raw field. + + + + Gets the raw field at position (column) name. + + The named index of the field. + The raw field. + + + + Gets the raw field at position (column) name. + + The named index of the field. + The zero based index of the field. + The raw field. + + + + Gets the raw field at position (column) index. + + The zero based index of the field. + The raw field. + + + + Gets the raw field at position (column) name. + + The named index of the field. + The raw field. + + + + Gets the raw field at position (column) name and the index + instance of that field. The index is used when there are + multiple columns with the same header name. + + The named index of the field. + The zero based index of the instance of the field. + The raw field. + + + + Gets the field converted to using + the specified . + + The type of the field. + The index of the field. + The field converted to . + + + + Gets the field converted to using + the specified . + + The type of the field. + The named index of the field. + The field converted to . + + + + Gets the field converted to using + the specified . + + The type of the field. + The named index of the field. + The zero based index of the instance of the field. + The field converted to . + + + + Gets the field converted to using + the specified . + + The type of the field. + The index of the field. + The used to convert the field to . + The field converted to . + + + + Gets the field converted to using + the specified . + + The type of the field. + The named index of the field. + The used to convert the field to . + The field converted to . + + + + Gets the field converted to using + the specified . + + The type of the field. + The named index of the field. + The zero based index of the instance of the field. + The used to convert the field to . + The field converted to . + + + + Gets the field converted to T at position (column) index. + + The of the field. + The zero based index of the field. + The field converted to T. + + + + Gets the field converted to T at position (column) name. + + The of the field. + The named index of the field. + The field converted to T. + + + + Gets the field converted to T at position + (column) name and the index instance of that field. The index + is used when there are multiple columns with the same header name. + + + The named index of the field. + The zero based index of the instance of the field. + + + + + Gets the field converted to T at position (column) index using + the given . + + The of the field. + The zero based index of the field. + The used to convert the field to T. + The field converted to T. + + + + Gets the field converted to T at position (column) name using + the given . + + The of the field. + The named index of the field. + The used to convert the field to T. + The field converted to T. + + + + Gets the field converted to T at position + (column) name and the index instance of that field. The index + is used when there are multiple columns with the same header name. + + + The named index of the field. + The zero based index of the instance of the field. + The used to convert the field to T. + The field converted to T. + + + + Gets the field converted to T at position (column) index using + the given . + + The of the field. + The used to convert the field to T. + The zero based index of the field. + The field converted to T. + + + + Gets the field converted to T at position (column) name using + the given . + + The of the field. + The used to convert the field to T. + The named index of the field. + The field converted to T. + + + + Gets the field converted to T at position + (column) name and the index instance of that field. The index + is used when there are multiple columns with the same header name. + + The of the field. + The used to convert the field to T. + The named index of the field. + The zero based index of the instance of the field. + The field converted to T. + + + + Gets the field converted to T at position (column) index. + + The of the field. + The zero based index of the field. + The field converted to type T. + A value indicating if the get was successful. + + + + Gets the field converted to T at position (column) name. + + The of the field. + The named index of the field. + The field converted to T. + A value indicating if the get was successful. + + + + Gets the field converted to T at position + (column) name and the index instance of that field. The index + is used when there are multiple columns with the same header name. + + The of the field. + The named index of the field. + The zero based index of the instance of the field. + The field converted to T. + A value indicating if the get was successful. + + + + Gets the field converted to T at position (column) index + using the specified . + + The of the field. + The zero based index of the field. + The used to convert the field to T. + The field converted to T. + A value indicating if the get was successful. + + + + Gets the field converted to T at position (column) name + using the specified . + + The of the field. + The named index of the field. + The used to convert the field to T. + The field converted to T. + A value indicating if the get was successful. + + + + Gets the field converted to T at position (column) name + using the specified . + + The of the field. + The named index of the field. + The zero based index of the instance of the field. + The used to convert the field to T. + The field converted to T. + A value indicating if the get was successful. + + + + Gets the field converted to T at position (column) index. + + The of the field. + The zero based index of the field. + The field converted to type T. + A value indicating if the get was successful. + + + + Gets the field converted to T at position (column) name. + + The of the field. + The named index of the field. + The field converted to T. + A value indicating if the get was successful. + + + + Gets the field converted to T at position + (column) name and the index instance of that field. The index + is used when there are multiple columns with the same header name. + + + The named index of the field. + The zero based index of the instance of the field. + The field converted to T. + A value indicating if the get was successful. + + + + Gets the field converted to T at position (column) index + using the specified . + + The of the field. + The zero based index of the field. + The used to convert the field to T. + The field converted to T. + A value indicating if the get was successful. + + + + Gets the field converted to T at position (column) name + using the specified . + + The of the field. + The named index of the field. + The used to convert the field to T. + The field converted to T. + A value indicating if the get was successful. + + + + Gets the field converted to T at position (column) name + using the specified . + + The of the field. + The named index of the field. + The zero based index of the instance of the field. + The used to convert the field to T. + The field converted to T. + A value indicating if the get was successful. + + + + Gets the field converted to T at position (column) index + using the specified . + + The of the field. + The used to convert the field to T. + The zero based index of the field. + The field converted to T. + A value indicating if the get was successful. + + + + Gets the field converted to T at position (column) name + using the specified . + + The of the field. + The used to convert the field to T. + The named index of the field. + The field converted to T. + A value indicating if the get was successful. + + + + Gets the field converted to T at position (column) name + using the specified . + + The of the field. + The used to convert the field to T. + The named index of the field. + The zero based index of the instance of the field. + The field converted to T. + A value indicating if the get was successful. + + + + Gets the record converted into T. + + The of the record. + The record converted to T. + + + + Get the record converted into T. + + The of the record. + The anonymous type definition to use for the record. + The record converted to T. + + + + Gets the record. + + The of the record. + The record. + + + + Gets all the records in the CSV file and + converts each to T. The Read method + should not be used when using this. + + The of the record. + An of records. + + + + Gets all the records in the CSV file and converts + each to T. The read method + should not be used when using this. + + The of the record. + The anonymous type definition to use for the records. + An of records. + + + + Gets all the records in the CSV file and + converts each to T. The Read method + should not be used when using this. + + The of the record. + An of records. + + + + Enumerates the records hydrating the given record instance with row data. + The record instance is re-used and not cleared on each enumeration. + This only works for streaming rows. If any methods are called on the projection + that force the evaluation of the IEnumerable, such as ToList(), the entire list + will contain the same instance of the record, which is the last row. + + The type of the record. + The record to fill each enumeration. + An of records. + + + + Gets all the records in the CSV file and + converts each to T. The Read method + should not be used when using this. + + The of the record. + An of records. + + + + Gets all the records in the CSV file and converts + each to T. The read method + should not be used when using this. + + The of the record. + The anonymous type definition to use for the records. + An of records. + + + + Gets all the records in the CSV file and + converts each to T. The Read method + should not be used when using this. + + The of the record. + An of records. + + + + Enumerates the records hydrating the given record instance with row data. + The record instance is re-used and not cleared on each enumeration. + This only works for streaming rows. If any methods are called on the projection + that force the evaluation of the IEnumerable, such as ToList(), the entire list + will contain the same instance of the record, which is the last row. + + The type of the record. + The record to fill each enumeration. + An of records. + + + + Gets the index of the field at name if found. + + The name of the field to get the index for. + The index of the field if there are multiple fields with the same name. + A value indicating if the call was initiated from a TryGet. + The index of the field if found, otherwise -1. + Thrown if there is no header record. + Thrown if there isn't a field with name. + + + + Gets the index of the field at name if found. + + The possible names of the field to get the index for. + The index of the field if there are multiple fields with the same name. + A value indicating if the call was initiated from a TryGet. + A value indicating if the call was initiated for an optional field. + The index of the field if found, otherwise -1. + Thrown if there is no header record. + Thrown if there isn't a field with name. + + + + Determines if the member for the + can be read. + + The member map. + A value indicating of the member can be read. True if it can, otherwise false. + + + + Determines if the member for the + can be read. + + The reference map. + A value indicating of the member can be read. True if it can, otherwise false. + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + 2 + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + True if the instance needs to be disposed of. + + + + Checks if the reader has been read yet. + + + + + + Parses the named indexes from the header record. + + + + + Defines methods used to serialize data into a CSV file. + + + + + Gets the writing context. + + + + + Gets the configuration. + + + + + Creates a new serializer using the given . + + The to write the CSV file data to. + The culture information. + + + + Creates a new serializer using the given . + + The to write the CSV file data to. + The culture information. + true to leave the reader open after the CsvReader object is disposed, otherwise false. + + + + Creates a new serializer using the given + and . + + The to write the CSV file data to. + The configuration. + + + + Creates a new serializer using the given + and . + + The to write the CSV file data to. + The configuration. + true to leave the reader open after the CsvReader object is disposed, otherwise false. + + + + Writes a record to the CSV file. + + The record to write. + + + + Writes a record to the CSV file. + + The record to write. + + + + Writes a new line to the CSV file. + + + + + Writes a new line to the CSV file. + + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + 2 + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + True if the instance needs to be disposed of. + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + 2 + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + True if the instance needs to be disposed of. + + + + Sanitizes the field to prevent injection. + + The field to sanitize. + + + + Used to write CSV files. + + + + + Gets the writing context. + + + + + Gets the configuration. + + + + + Creates a new CSV writer using the given . + + The writer used to write the CSV file. + The culture information. + + + + Creates a new CSV writer using the given . + + The writer used to write the CSV file. + The culture information. + true to leave the writer open after the CsvWriter object is disposed, otherwise false. + + + + Creates a new CSV writer using the given . + + The use to write the CSV file. + The configuration. + + + + Creates a new CSV writer using the given . + + The use to write the CSV file. + The configuration. + true to leave the writer open after the CsvWriter object is disposed, otherwise false. + + + + Creates a new CSV writer using the given . + + The serializer. + + + + Writes a field that has already been converted to a + from an . + If the field is null, it won't get written. A type converter + will always return a string, even if field is null. If the + converter returns a null, it means that the converter has already + written data, and the returned value should not be written. + + The converted field to write. + + + + Writes the field to the CSV file. The field + may get quotes added to it. + When all fields are written for a record, + must be called + to complete writing of the current record. + + The field to write. + + + + Writes the field to the CSV file. This will + ignore any need to quote and ignore + + and just quote based on the shouldQuote + parameter. + When all fields are written for a record, + must be called + to complete writing of the current record. + + The field to write. + True to quote the field, otherwise false. + + + + Writes the field to the CSV file. + When all fields are written for a record, + must be called + to complete writing of the current record. + + The type of the field. + The field to write. + + + + Writes the field to the CSV file. + When all fields are written for a record, + must be called + to complete writing of the current record. + + The type of the field. + The field to write. + The converter used to convert the field into a string. + + + + Writes the field to the CSV file + using the given . + When all fields are written for a record, + must be called + to complete writing of the current record. + + The type of the field. + The type of the converter. + The field to write. + + + + Serializes the row to the . + + + + + Serializes the row to the . + + + + + Ends writing of the current record and starts a new record. + This automatically flushes the writer. + + + + + Ends writing of the current record and starts a new record. + This automatically flushes the writer. + + + + + Writes a comment. + + The comment to write. + + + + Writes the header record from the given members. + + The type of the record. + + + + Writes the header record from the given members. + + The type of the record. + + + + Writes the header record for the given dynamic object. + + The dynamic record to write. + + + + Writes the record to the CSV file. + + The type of the record. + The record to write. + + + + Writes the list of records to the CSV file. + + The records to write. + + + + Writes the list of records to the CSV file. + + Record type. + The records to write. + + + + Writes the list of records to the CSV file. + + The records to write. + + + + Writes the list of records to the CSV file. + + Record type. + The records to write. + + + + Checks if the member can be written. + + The member map that we are checking. + A value indicating if the member can be written. + True if the member can be written, otherwise false. + + + + Gets the type for the record. If the generic type + is an object due to boxing, it will call GetType() + on the record itself. + + The record type. + The record. + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + 2 + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + True if the instance needs to be disposed of. + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + 2 + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + True if the instance needs to be disposed of. + + + + Creates dynamic records. + + + + + Initializes a new instance. + + The reader. + + + + Creates a of type + that will create a record of the given type using the current + reader row. + + The record type. + + + + Creates a dynamic record of the current reader row. + + + + + Write dynamic records. + + + + + Initializes a new instance using the given writer. + + The writer. + + + + Creates a of type + that will write the given record using the current writer row. + + The record type. + The record. + + + + Writes expando objects. + + + + + Initializes a new instance using the given writer. + + The writer. + + + + Creates a of type + that will write the given record using the current writer row. + + The record type. + The record. + + + + Manages expression creation. + + + + + Initializes a new instance using the given reader. + + The reader. + + + + Initializes a new instance using the given writer. + + The writer. + + + + Creates the constructor arguments used to create a type. + + The mapping to create the arguments for. + The arguments that will be added to the mapping. + + + + Creates the member assignments for the given . + + The mapping to create the assignments for. + The assignments that will be added to from the mapping. + + + + Creates an expression the represents getting the field for the given + member and converting it to the member's type. + + The mapping for the member. + + + + Creates a member expression for the given member on the record. + This will recursively traverse the mapping to find the member + and create a safe member accessor for each level as it goes. + + The current member expression. + The mapping to look for the member to map on. + The member map to look for on the mapping. + An Expression to access the given member. + + + + Creates an instance of the given type using (in turn using the ObjectResolver), then assigns + the given member assignments to that instance. + + The type of the record we're creating. + The member assignments that will be assigned to the created instance. + A representing the instance creation and assignments. + + + + Creates an expression that converts the field expression using a type converter. + + The mapping for the member. + The field expression. + + + + Creates an default expression if field expression is empty. + + The mapping for the member. + The field expression. + + + + Creates objects. + + + + + Initializes a new instance using the given reader. + + + + + + Creates a of type + that will create a record of the given type using the current + reader row. + + The record type. + + + + Writes objects. + + + + + Initializes a new instance using the given writer. + + The writer. + + + + Creates a of type + that will write the given record using the current writer row. + + The record type. + The record. + + + + Creates primitive records. + + + + + Initializes a new instance using the given reader. + + The reader. + + + + Creates a of type + that will create a record of the given type using the current + reader row. + + The record type. + + + + Writes primitives. + + + + + Initializes a new instance using the given writer. + + The writer. + + + + Creates a of type + that will write the given record using the current writer row. + + The record type. + The record. + + + + Base implementation for classes that create records. + + + + + The reader. + + + + + The expression manager. + + + + + Initializes a new instance using the given reader. + + The reader. + + + + Create a record of the given type using the current row. + + The record type. + + + + Create a record of the given type using the current row. + + The record type. + + + + Gets the delegate to create a record for the given record type. + If the delegate doesn't exist, one will be created and cached. + + The record type. + + + + Creates a of type + that will create a record of the given type using the current + reader row. + + The record type. + + + + Factory to create record creators. + + + + + Initializes a new instance using the given reader. + + The reader. + + + + Creates a record creator for the given record type. + + The record type. + + + + Hydrates members of an existing record. + + + + + Creates a new instance using the given reader. + + The reader. + + + + Hydrates members of the given record using the current reader row. + + The record type. + The record. + + + + Gets the action delegate used to hydrate a custom class object's members with data from the reader. + + The record type. + + + + Creates the action delegate used to hydrate a record's members with data from the reader. + + The record type. + + + + Manages record manipulation. + + + + + Initializes a new instance using the given reader. + + + + + + Initializes a new instance using the given writer. + + The writer. + + + + Creates a record of the given type using the current reader row. + + The type of record to create. + + + + Creates a record of the given type using the current reader row. + + The type of record to create. + + + + Hydrates the given record using the current reader row. + + The type of the record. + The record to hydrate. + + + + Writes the given record to the current writer row. + + The type of the record. + The record. + + + + Base implementation for classes that write records. + + + + + Gets the writer. + + + + + The expression manager. + + + + + Initializes a new instance using the given writer. + + The writer. + + + + Writes the record to the current row. + + Type of the record. + The record. + + + + Gets the delegate to write the given record. + If the delegate doesn't exist, one will be created and cached. + + The record type. + The record. + + + + Creates a of type + that will write the given record using the current writer row. + + The record type. + The record. + + + + Combines the delegates into a single multicast delegate. + This is needed because Silverlight doesn't have the + Delegate.Combine( params Delegate[] ) overload. + + The delegates to combine. + A multicast delegate combined from the given delegates. + + + + Factory to create record writers. + + + + + Initializes a new instance using the given writer. + + The writer. + + + + Creates a new record writer for the given record. + + The type of the record. + The record. + + + + Creates CsvHelper classes. + + + + + Creates an . + + The text reader to use for the csv parser. + The configuration to use for the csv parser. + The created parser. + + + + Creates an . + + The text reader to use for the csv parser. + The culture information. + + The created parser. + + + + + Creates an . + + The text reader to use for the csv reader. + The configuration to use for the reader. + The created reader. + + + + Creates an . + + The text reader to use for the csv reader. + The culture information. + + The created reader. + + + + + Creates an . + + The parser used to create the reader. + The created reader. + + + + Creates an . + + The text writer to use for the csv writer. + The configuration to use for the writer. + The created writer. + + + + Creates an . + + The text writer to use for the csv writer. + The culture information. + + The created writer. + + + + + Access point for fluent interface to dynamically build a + + Type you will be making a class map for + Options to further configure the + + + + Represents a user supplied field validation failure. + + + + + Gets the field that failed validation. + + + + + Initializes a new instance of the class. + + The reading context. + The field that failed validation. + + + + Initializes a new instance of the class + with a specified error message. + + The reading context. + The field that failed validation. + The message that describes the error. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that + is the cause of this exception. + + The reading context. + The field that failed validation. + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Represents a header validation failure. + + + + + Gets the header names that are mapped to a CSV field that couldn't be found. + + + + + Gets the header name index that is mapped to a CSV field that couldn't be found. + The index is used when a CSV header has multiple header names with the same value. + + + + + Initializes a new instance of the class. + + The reading context. + The header names that are mapped to a CSV field that couldn't be found. + The header name index that is mapped to a CSV field that couldn't be found. + + + + Initializes a new instance of the class + with a specified error message. + + The reading context. + The header names that are mapped to a CSV field that couldn't be found. + The header name index that is mapped to a CSV field that couldn't be found. + The message that describes the error. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that + is the cause of this exception. + + The reading context. + The header names that are mapped to a CSV field that couldn't be found. + The header name index that is mapped to a CSV field that couldn't be found. + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Defines methods used to create + CsvHelper classes. + + + + + Creates an . + + The text reader to use for the csv parser. + The configuration to use for the csv parser. + The created parser. + + + + Creates an . + + The text reader to use for the csv parser. + The culture information. + + The created parser. + + + + + Creates an . + + The text reader to use for the csv reader. + The configuration to use for the reader. + The created reader. + + + + Creates an . + + The text reader to use for the csv reader. + The culture information. + + The created reader. + + + + + Creates an . + + The parser used to create the reader. + The created reader. + + + + Creates an . + + The text writer to use for the csv writer. + The configuration to use for the writer. + The created writer. + + + + Creates an . + + The text writer to use for the csv writer. + The culture information. + + The created writer. + + + + + Provides a fluent interface for dynamically creating s + + Type of class to map + Next available options + + + + Defines methods used to read a field in a CSV file. + + + + + Gets the reading context. + + + + + Gets a value indicating if the buffer is empty. + True if the buffer is empty, otherwise false. + + + + + Fills the buffer. + + True if there is more data left. + False if all the data has been read. + + + + Fills the buffer asynchronously. + + True if there is more data left. + False if all the data has been read. + + + + Gets the next char as an . + + + + + Gets the field. This will append any reading progress. + + The current field. + + + + Appends the current reading progress. + + + + + Move's the buffer position according to the given offset. + + The offset to move the buffer. + + + + Sets the start of the field to the current buffer position. + + An offset for the field start. + The offset should be less than 1. + + + + Sets the end of the field to the current buffer position. + + An offset for the field start. + The offset should be less than 1. + + + + Sets the raw record start to the current buffer position; + + An offset for the raw record start. + The offset should be less than 1. + + + + Sets the raw record end to the current buffer position. + + An offset for the raw record end. + The offset should be less than 1. + + + + Defines the functionality of a class that creates objects + from a given type. + + + + + A value indicating if the resolver's + returns false that an object will still be created using + CsvHelper's object creation. True to fallback, otherwise false. + Default value is true. + + + + + A value indicating if the resolver is able to resolve + the given type. True if the type can be resolved, + otherwise false. + + + + + The function that creates an object from a given type. + + + + + Creates an object from the given type using the + function. If is false, the object will be + created using CsvHelper's default object creation. If + is false, an exception is thrown. + + The type to create an instance from. The created object + may not be the same type as the given type. + Constructor arguments used to create the type. + + + + Creates an object from the given type using the + function. If is false, the object will be + created using CsvHelper's default object creation. If + is false, an exception is thrown. + + The type to create an instance from. The created object + may not be the same type as the given type. + Constructor arguments used to create the type. + + + + Defines methods used the parse a CSV file. + + + + + Gets the reading context. + + + + + Gets the configuration. + + + + + Gets the . + + + + + Reads a record from the CSV file. + + A of fields for the record read. + + + + Reads a record from the CSV file asynchronously. + + A of fields for the record read. + + + + Defines methods used to read parsed data + from a CSV file. + + + + + Gets the parser. + + + + + Reads the header record without reading the first row. + + True if there are more records, otherwise false. + + + + Advances the reader to the next record. This will not read headers. + You need to call then + for the headers to be read. + + True if there are more records, otherwise false. + + + + Advances the reader to the next record. This will not read headers. + You need to call then + for the headers to be read. + + True if there are more records, otherwise false. + + + + Gets all the records in the CSV file and + converts each to T. The Read method + should not be used when using this. + + The of the record. + An of records. + + + + Gets all the records in the CSV file and converts + each to T. The read method + should not be used when using this. + + The of the record. + The anonymous type definition to use for the records. + An of records. + + + + Gets all the records in the CSV file and + converts each to T. The Read method + should not be used when using this. + + The of the record. + An of records. + + + + Enumerates the records hydrating the given record instance with row data. + The record instance is re-used and not cleared on each enumeration. + This only works for streaming rows. If any methods are called on the projection + that force the evaluation of the IEnumerable, such as ToList(), the entire list + will contain the same instance of the record, which is the last row. + + The type of the record. + The record to fill each enumeration. + An of records. + + + + Gets all the records in the CSV file and + converts each to T. The Read method + should not be used when using this. + + The of the record. + An of records. + + + + Gets all the records in the CSV file and converts + each to T. The read method + should not be used when using this. + + The of the record. + The anonymous type definition to use for the records. + An of records. + + + + Gets all the records in the CSV file and + converts each to T. The Read method + should not be used when using this. + + The of the record. + An of records. + + + + Enumerates the records hydrating the given record instance with row data. + The record instance is re-used and not cleared on each enumeration. + This only works for streaming rows. If any methods are called on the projection + that force the evaluation of the IEnumerable, such as ToList(), the entire list + will contain the same instance of the record, which is the last row. + + The type of the record. + The record to fill each enumeration. + An of records. + + + + Defines methods used to read parsed data + from a CSV file row. + + + + + Gets the reading context. + + + + + Gets or sets the configuration. + + + + + Gets the raw field at position (column) index. + + The zero based index of the field. + The raw field. + + + + Gets the raw field at position (column) name. + + The named index of the field. + The raw field. + + + + Gets the raw field at position (column) name. + + The named index of the field. + The zero based index of the field. + The raw field. + + + + Gets the raw field at position (column) index. + + The zero based index of the field. + The raw field. + + + + Gets the raw field at position (column) name. + + The named index of the field. + The raw field. + + + + Gets the raw field at position (column) name and the index + instance of that field. The index is used when there are + multiple columns with the same header name. + + The named index of the field. + The zero based index of the instance of the field. + The raw field. + + + + Gets the field converted to using + the specified . + + The type of the field. + The index of the field. + The field converted to . + + + + Gets the field converted to using + the specified . + + The type of the field. + The named index of the field. + The field converted to . + + + + Gets the field converted to using + the specified . + + The type of the field. + The named index of the field. + The zero based index of the instance of the field. + The field converted to . + + + + Gets the field converted to using + the specified . + + The type of the field. + The index of the field. + The used to convert the field to . + The field converted to . + + + + Gets the field converted to using + the specified . + + The type of the field. + The named index of the field. + The used to convert the field to . + The field converted to . + + + + Gets the field converted to using + the specified . + + The type of the field. + The named index of the field. + The zero based index of the instance of the field. + The used to convert the field to . + The field converted to . + + + + Gets the field converted to T at position (column) index. + + The of the field. + The zero based index of the field. + The field converted to T. + + + + Gets the field converted to T at position (column) name. + + The of the field. + The named index of the field. + The field converted to T. + + + + Gets the field converted to T at position + (column) name and the index instance of that field. The index + is used when there are multiple columns with the same header name. + + + The named index of the field. + The zero based index of the instance of the field. + + + + + Gets the field converted to T at position (column) index using + the given . + + The of the field. + The zero based index of the field. + The used to convert the field to T. + The field converted to T. + + + + Gets the field converted to T at position (column) name using + the given . + + The of the field. + The named index of the field. + The used to convert the field to T. + The field converted to T. + + + + Gets the field converted to T at position + (column) name and the index instance of that field. The index + is used when there are multiple columns with the same header name. + + The of the field. + The named index of the field. + The zero based index of the instance of the field. + The used to convert the field to T. + The field converted to T. + + + + Gets the field converted to T at position (column) index using + the given . + + The of the field. + The used to convert the field to T. + The zero based index of the field. + The field converted to T. + + + + Gets the field converted to T at position (column) name using + the given . + + The of the field. + The used to convert the field to T. + The named index of the field. + The field converted to T. + + + + Gets the field converted to T at position + (column) name and the index instance of that field. The index + is used when there are multiple columns with the same header name. + + The of the field. + The used to convert the field to T. + The named index of the field. + The zero based index of the instance of the field. + The field converted to T. + + + + Gets the field converted to T at position (column) index. + + The of the field. + The zero based index of the field. + The field converted to type T. + A value indicating if the get was successful. + + + + Gets the field converted to T at position (column) name. + + The of the field. + The named index of the field. + The field converted to T. + A value indicating if the get was successful. + + + + Gets the field converted to T at position + (column) name and the index instance of that field. The index + is used when there are multiple columns with the same header name. + + The of the field. + The named index of the field. + The zero based index of the instance of the field. + The field converted to T. + A value indicating if the get was successful. + + + + Gets the field converted to T at position (column) index + using the specified . + + The of the field. + The zero based index of the field. + The used to convert the field to T. + The field converted to T. + A value indicating if the get was successful. + + + + Gets the field converted to T at position (column) name + using the specified . + + The of the field. + The named index of the field. + The used to convert the field to T. + The field converted to T. + A value indicating if the get was successful. + + + + Gets the field converted to T at position (column) name + using the specified . + + The of the field. + The named index of the field. + The zero based index of the instance of the field. + The used to convert the field to T. + The field converted to T. + A value indicating if the get was successful. + + + + Gets the field converted to T at position (column) index. + + The of the field. + The zero based index of the field. + The field converted to type T. + A value indicating if the get was successful. + + + + Gets the field converted to T at position (column) name. + + The of the field. + The named index of the field. + The field converted to T. + A value indicating if the get was successful. + + + + Gets the field converted to T at position + (column) name and the index instance of that field. The index + is used when there are multiple columns with the same header name. + + + The named index of the field. + The zero based index of the instance of the field. + The field converted to T. + A value indicating if the get was successful. + + + + Gets the field converted to T at position (column) index + using the specified . + + The of the field. + The zero based index of the field. + The used to convert the field to T. + The field converted to T. + A value indicating if the get was successful. + + + + Gets the field converted to T at position (column) name + using the specified . + + The of the field. + The named index of the field. + The used to convert the field to T. + The field converted to T. + A value indicating if the get was successful. + + + + Gets the field converted to T at position (column) name + using the specified . + + The of the field. + The named index of the field. + The zero based index of the instance of the field. + The used to convert the field to T. + The field converted to T. + A value indicating if the get was successful. + + + + Gets the field converted to T at position (column) index + using the specified . + + The of the field. + The used to convert the field to T. + The zero based index of the field. + The field converted to T. + A value indicating if the get was successful. + + + + Gets the field converted to T at position (column) name + using the specified . + + The of the field. + The used to convert the field to T. + The named index of the field. + The field converted to T. + A value indicating if the get was successful. + + + + Gets the field converted to T at position (column) name + using the specified . + + The of the field. + The used to convert the field to T. + The named index of the field. + The zero based index of the instance of the field. + The field converted to T. + A value indicating if the get was successful. + + + + Gets the record converted into T. + + The of the record. + The record converted to T. + + + + Get the record converted into T. + + The of the record. + The anonymous type definition to use for the record. + The record converted to T. + + + + Gets the record. + + The of the record. + The record. + + + + Defines methods used to serialize data into a CSV file. + + + + + Gets the writing context. + + + + + Gets the configuration. + + + + + Writes a record to the CSV file. + + The record to write. + + + + Writes a record to the CSV file. + + The record to write. + + + + Writes a new line to the CSV file. + + + + + Writes a new line to the CSV file. + + + + + Defines methods used to write to a CSV file. + + + + + Serializes the row to the . + + + + + Serializes the row to the . + + + + + Ends writing of the current record and starts a new record. + This automatically flushes the writer. + + + + + Ends writing of the current record and starts a new record. + This automatically flushes the writer. + + + + + Writes the list of records to the CSV file. + + The records to write. + + + + Writes the list of records to the CSV file. + + Record type. + The records to write. + + + + Writes the list of records to the CSV file. + + The records to write. + + + + Writes the list of records to the CSV file. + + Record type. + The records to write. + + + + Defines methods used to write a CSV row. + + + + + Gets the writing context. + + + + + Gets or sets the configuration. + + + + + Writes a field that has already been converted to a + from an . + If the field is null, it won't get written. A type converter + will always return a string, even if field is null. If the + converter returns a null, it means that the converter has already + written data, and the returned value should not be written. + + The converted field to write. + + + + Writes the field to the CSV file. The field + may get quotes added to it. + When all fields are written for a record, + must be called + to complete writing of the current record. + + The field to write. + + + + Writes the field to the CSV file. This will + ignore any need to quote and ignore + + and just quote based on the shouldQuote + parameter. + When all fields are written for a record, + must be called + to complete writing of the current record. + + The field to write. + True to quote the field, otherwise false. + + + + Writes the field to the CSV file. + When all fields are written for a record, + must be called + to complete writing of the current record. + + The type of the field. + The field to write. + + + + Writes the field to the CSV file. + When all fields are written for a record, + must be called + to complete writing of the current record. + + The type of the field. + The field to write. + The converter used to convert the field into a string. + + + + Writes the field to the CSV file + using the given . + When all fields are written for a record, + must be called + to complete writing of the current record. + + The type of the field. + The type of the converter. + The field to write. + + + + Writes a comment. + + The comment to write. + + + + Writes the header record from the given members. + + The type of the record. + + + + Writes the header record from the given members. + + The type of the record. + + + + Writes the record to the CSV file. + + The type of the record. + The record to write. + + + + Represents an error caused because a field is missing + in the header while reading a CSV file. + + + + + Initializes a new instance of the class. + + The reading context. + + + + Initializes a new instance of the class + with a specified error message. + + The reading context. + The message that describes the error. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that + is the cause of this exception. + + The reading context. + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Creates objects from a given type. + + + + + Gets or sets the current resolver. + + + + + A value indicating if the resolver's + returns false that an object will still be created using + CsvHelper's object creation. True to fallback, otherwise false. + Default value is true. + + + + + A function that returns a value indicating if the resolver + is able to resolve the given type. True if the type can be + resolved, otherwise false. + + + + + The function that creates an object from a given type. + + + + + Creates an instance of the object resolver using default values. + + + + + Creates an instance of the object resolver using the given can create function + and create function. + + A function that returns a value indicating if the resolver + is able to resolve the given type. True if the type can be + resolved, otherwise false. + The function that creates an object from a given type. + A value indicating if the resolver's + returns false that an object will still be created using + CsvHelper's object creation. True to fallback, otherwise false. + Default value is true. + + + + Creates an object from the given type using the + function. If is false, the object will be + created using CsvHelper's default object creation. If + is false, an exception is thrown. + + The type to create an instance from. The created object + may not be the same type as the given type. + Constructor arguments used to create the type. + + + + Creates an object from the given type using the + function. If is false, the object will be + created using CsvHelper's default object creation. If + is false, an exception is thrown. + + The type to create an instance from. The created object + may not be the same type as the given type. + Constructor arguments used to create the type. + + + + Represents errors that occur while parsing a CSV file. + + + + + Initializes a new instance of the class. + + The reading context. + + + + Initializes a new instance of the class + with a specified error message. + + The reading context. + The message that describes the error. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that + is the cause of this exception. + + The reading context. + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Represents errors that occur while reading a CSV file. + + + + + Initializes a new instance of the class. + + The reading context. + + + + Initializes a new instance of the class + with a specified error message. + + The reading context. + The message that describes the error. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that + is the cause of this exception. + + The reading context. + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + CSV reading state. + + + + + Gets the raw record builder. + + + + + Gets the field builder. + + + + + Gets the record builder. + + + + + Gets the named indexes. + + + + + Gets the named indexes cache. + + + + + Gets the type converter options cache. + + + + + Gets the create record functions. + + + + + Gets the hydrate record actions. + + + + + Gets the reusable member map data. + + + + + Gets the that is read from. + + + + + Gets a value indicating if the + should be left open when disposing. + + + + + Gets the buffer used to store data from the . + + + + + Gets the buffer position. + + + + + Gets the field start position. + + + + + Gets the field end position. + + + + + Gets the raw record start position. + + + + + Gets the raw record end position. + + + + + Gets the number of characters read from the . + + + + + Gets the character position. + + + + + Gets the byte position. + + + + + Gets a value indicating if the field is bad. + True if the field is bad, otherwise false. + A field is bad if a quote is found in a field + that isn't escaped. + + + + + Gets the record. + + + + + Gets the row of the CSV file that the parser is currently on. + + + + + Gets the row of the CSV file that the parser is currently on. + This is the actual file row. + + + + + Gets a value indicating if reading has begun. + + + + + Gets the header record. + + + + + Gets the current index. + + + + + Gets the column count. + + + + + Gets the configuration. + + + + + Gets the configuration. + + + + + Gets all the characters of the record including + quotes, delimiters, and line endings. + + + + + Gets the field. + + + + + Initializes a new instance. + + The reader. + The configuration. + A value indicating if the TextReader should be left open when disposing. + + + + Clears the specified caches. + + The caches to clear. + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + 2 + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + True if the instance needs to be disposed of. + + + + Builds CSV records. + + + + + The number of records. + + + + + The total record capacity. + + + + + Creates a new using defaults. + + + + + Creates a new using the given capacity. + + The initial capacity. + + + + Adds a new field to the . + + The field to add. + The current instance of the . + + + + Clears the records. + + The current instance of the . + + + + Returns the record as an . + + The record as an . + + + + Extensions to help with reflection. + + + + + Gets the type from the member. + + The member to get the type from. + The type. + + + + Gets a member expression for the member. + + The member to get the expression for. + The member expression. + The member expression. + + + + Gets a value indicating if the given type is anonymous. + True for anonymous, otherwise false. + + The type. + + + + Gets a value indicating if the given type has a parameterless constructor. + True if it has a parameterless constructor, otherwise false. + + The type. + + + + Gets a value indicating if the given type has any constructors. + + The type. + + + + Gets the constructor that contains the most parameters. + + The type. + + + + Gets a value indicating if the type is a user defined struct. + True if it is a user defined struct, otherwise false. + + The type. + + + + Common reflection tasks. + + + + + Creates an instance of type T using the current . + + The type of instance to create. + The constructor arguments. + A new instance of type T. + + + + Creates an instance of the specified type using the current . + + The type of instance to create. + The constructor arguments. + A new instance of the specified type. + + + + Creates an instance of the specified type without using the + current . + + The type of instance to create. + The constructor arguments. + A new instance of the specified type. + + + + Gets the from the type where the property was declared. + + The type the property belongs to. + The property to search. + Flags for how the property is retrieved. + + + + Walk up the inheritance tree collecting properties. This will get a unique set or properties in the + case where parents have the same property names as children. + + The to get properties for. + The flags for getting the properties. + If true, parent class properties that are hidden by `new` child properties will be overwritten. + + + + Gets the property from the expression. + + The type of the model. + The type of the property. + The expression. + The for the expression. + + + + Gets the member inheritance chain as a stack. + + The type of the model. + The type of the property. + The member expression. + The inheritance chain for the given member expression as a stack. + + + + Converts an to and from a . + + + + + Converts the string to an object. + + The string to convert to an object. + The for the current record. + The for the member being created. + The object created from the string. + + + + Converts a to and from a . + + + + + Converts the object to a string. + + The object to convert to a string. + The for the current record. + The for the member being written. + The string representation of the object. + + + + Converts the string to an object. + + The string to convert to an object. + The for the current record. + The for the member being created. + The object created from the string. + + + + Converts a to and from a . + + + + + Converts the string to an object. + + The string to convert to an object. + The for the current record. + The for the member being created. + The object created from the string. + + + + Converts a to and from a . + + + + + Creates a new ByteArrayConverter using the given . + + The options. + + + + Converts the object to a string. + + The object to convert to a string. + The for the current record. + The for the member being written. + The string representation of the object. + + + + Converts the string to an object. + + The string to convert to an object. + The for the current record. + The for the member being created. + The object created from the string. + + + + Options for converting byte arrays. + + + + + No options. + + + + + Hexadecimal encoding. + + + + + Base64 encoding. + + + + + Use dashes in between hex values. + + + + + Prefix hex number with 0x. + + + + + Converts a to and from a . + + + + + Converts the string to an object. + + The string to convert to an object. + The for the current record. + The for the member being created. + The object created from the string. + + + + Converts a to and from a . + + + + + Converts the string to an object. + + The string to convert to an object. + The for the current record. + The for the member being created. + The object created from the string. + + + + Converts a to and from a . + + + + + Converts the string to an object. + + The string to convert to an object. + The for the current record. + The for the member being created. + The object created from the string. + + + + Converts a to and from a . + + + + + Converts the string to an object. + + The string to convert to an object. + The for the current record. + The for the member being created. + The object created from the string. + + + + Converts a to and from a . + + + + + Converts the string to an object. + + The string to convert to an object. + The for the current record. + The for the member being created. + The object created from the string. + + + + Converts a to and from a . + + + + + Converts the string to an object. + + The string to convert to an object. + The for the current record. + The for the member being created. + The object created from the string. + + + + Converts an to and from a . + + + + + Converts the object to a string. + + The object to convert to a string. + The for the current record. + The for the member being written. + The string representation of the object. + + + + Converts the string to an object. + + The string to convert to an object. + The for the current record. + The for the member being created. + The object created from the string. + + + + Converts a to and from a . + + + + + Converts the object to a string. + + The object to convert to a string. + The for the current record. + The for the member being written. + The string representation of the object. + + + + Converts the string to an object. + + The string to convert to an object. + The for the current record. + The for the member being created. + The object created from the string. + + + + Converts an to and from a . + + + + + Creates a new for the given . + + The type of the Enum. + + + + Converts the string to an object. + + The string to convert to an object. + The for the current record. + The for the member being created. + The object created from the string. + + + + Throws an exception when used. This is here so that it's apparent + that there is no support for type conversion. A custom + converter will need to be created to have a field convert to and + from an IEnumerable. + + + + + Throws an exception. + + The string to convert to an object. + The for the current record. + The for the member being created. + The object created from the string. + + + + Throws an exception. + + The object to convert to a string. + The for the current record. + The for the member being written. + The string representation of the object. + + + + Converts a to and from a . + + + + + Converts the string to an object. + + The string to convert to an object. + The for the current record. + The for the member being created. + The object created from the string. + + + + Converts an to and from a . + + + + + Converts the object to a string. + + The object to convert to a string. + The for the current record. + The for the member being written. + The string representation of the object. + + + + Converts the string to an object. + + The string to convert to an object. + The for the current record. + The for the member being created. + The object created from the string. + + + + Converts an to and from a . + + + + + Converts the string to an object. + + The string to convert to an object. + The for the current record. + The for the member being created. + The object created from the string. + + + + Converts an to and from a . + + + + + Converts the object to a string. + + The object to convert to a string. + + + The string representation of the object. + + + + Converts the string to an object. + + The string to convert to an object. + The for the current record. + The for the member being created. + The object created from the string. + + + + Converts an to and from a . + + + + + Converts the string to an object. + + The string to convert to an object. + The for the current record. + The for the member being created. + The object created from the string. + + + + Converts a to and from a . + + + + + Converts the string to an object. + + The string to convert to an object. + The for the current record. + The for the member being created. + The object created from the string. + + + + Converts an to and from a . + + + + + Converts the string to an object. + + The string to convert to an object. + The for the current record. + The for the member being created. + The object created from the string. + + + + Converts an to and from a . + + + + + Converts the string to an object. + + The string to convert to an object. + The for the current record. + The for the member being created. + The object created from the string. + + + + Converts objects to and from strings. + + + + + Converts the object to a string. + + The object to convert to a string. + The for the current record. + The for the member being written. + The string representation of the object. + + + + Converts the string to an object. + + The string to convert to an object. + The for the current record. + The for the member being created. + The object created from the string. + + + + Converts a to and from a . + + + + + Gets the type of the nullable. + + + The type of the nullable. + + + + + Gets the underlying type of the nullable. + + + The underlying type. + + + + + Gets the type converter for the underlying type. + + + The type converter. + + + + + Creates a new for the given . + + The nullable type. + The type converter factory. + type is not a nullable type. + + + + Converts the string to an object. + + The string to convert to an object. + The for the current record. + The for the member being created. + The object created from the string. + + + + Converts the object to a string. + + The object to convert to a string. + + + The string representation of the object. + + + + Converts a to and from a . + + + + + Converts the string to an object. + + The string to convert to an object. + The for the current record. + The for the member being created. + The object created from the string. + + + + Converts a to and from a . + + + + + Converts the object to a string. + + The object to convert to a string. + The for the current record. + The for the member being written. + The string representation of the object. + + + + Converts the string to an object. + + The string to convert to an object. + The for the current record. + The for the member being created. + The object created from the string. + + + + Converts a to and from a . + + + + + Converts the string to an object. + + The string to convert to an object. + The for the current record. + The for the member being created. + The object created from the string. + + + + Converts a to and from a . + + + + + Converts the string to an object. + + The string to convert to an object. + The for the current record. + The for the member being created. + The object created from the string. + + + + Throws an exception when used. This is here so that it's apparent + that there is no support for type conversion. A custom + converter will need to be created to have a field convert to and + from . + + + + + Throws an exception. + + The string to convert to an object. + The for the current record. + The for the member being created. + The object created from the string. + + + + Throws an exception. + + The object to convert to a string. + The for the current record. + The for the member being written. + The string representation of the object. + + + + Caches s for a given type. + + + + + Initializes the class. + + + + + Adds the for the given . + + The type the converter converts. + The type converter that converts the type. + + + + Adds the for the given . + + The type the converter converts. + The type converter that converts the type. + + + + Removes the for the given . + + The type to remove the converter for. + + + + Removes the for the given . + + The type to remove the converter for. + + + + Gets the converter for the given . + + The type to get the converter for. + The for the given . + + + + Gets the converter for the given member. If an attribute is + found on the member, that will be used, otherwise the cache + will be used. + + The member to get the converter for. + + + + Gets the converter for the given . + + The type to get the converter for. + The for the given . + + + + Represents errors that occur while reading a CSV file. + + + + + The text used in ConvertFromString. + + + + + The value used in ConvertToString. + + + + + The type converter. + + + + + The member map data used in ConvertFromString and ConvertToString. + + + + + Initializes a new instance of the class. + + The type converter. + The member map data. + The text. + The reading context. + + + + Initializes a new instance of the class. + + The type converter. + The member map data. + The value. + The writing context. + + + + Initializes a new instance of the class + with a specified error message. + + The type converter. + The member map data. + The text. + The reading context. + The message that describes the error. + + + + Initializes a new instance of the class + with a specified error message. + + The type converter. + The member map data. + The value. + The writing context. + The message that describes the error. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that + is the cause of this exception. + + The type converter. + The member map data. + The text. + The reading context. + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that + is the cause of this exception. + + The type converter. + The member map data. + The value. + The writing context. + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Options used when doing type conversion. + + + + + Gets or sets the culture info. + + + + + Gets or sets the date time style. + + + + + Gets or sets the time span style. + + + + + Gets or sets the number style. + + + + + Gets or sets the string format. + + + + + Gets or sets the . + + + + + Gets the list of values that can be + used to represent a boolean of true. + + + + + Gets the list of values that can be + used to represent a boolean of false. + + + + + Gets the list of values that can be used to represent a null value. + + + + + Merges TypeConverterOptions by applying the values of sources in order on to each other. + The first object is the source object. + + The sources that will be applied. + The updated source object. + + + + Caches for a given type. + + + + + Adds the for the given . + + The type the options are for. + The options. + + + + Adds the for the given . + + The type the options are for. + The options. + + + + Removes the for the given type. + + The type to remove the options for. + + + + Removes the for the given type. + + The type to remove the options for. + + + + Get the for the given . + + The type the options are for. + The options for the given type. + + + + Get the for the given . + + The type the options are for. + The options for the given type. + + + + Converts a to and from a . + + + + + Converts the string to an object. + + The string to convert to an object. + The for the current record. + The for the member being created. + The object created from the string. + + + + Converts a to and from a . + + + + + Converts the string to an object. + + The string to convert to an object. + The for the current record. + The for the member being created. + The object created from the string. + + + + Converts a to and from a . + + + + + Converts the string to an object. + + The string to convert to an object. + The for the current record. + The for the member being created. + The object created from the string. + + + + Converts a to and from a . + + + + + Converts the to a . + + The string to convert to an object. + The for the current record. + The for the member being created. + + The created from the string. + + + + + Represents a user supplied validation failure. + + + + + Initializes a new instance of the class. + + The reading context. + + + + Initializes a new instance of the class + with a specified error message. + + The reading context. + The message that describes the error. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that + is the cause of this exception. + + The reading context. + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Represents errors that occur while writing a CSV file. + + + + + Initializes a new instance of the class. + + The writing context. + + + + Initializes a new instance of the class + with a specified error message. + + The writing context. + The message that describes the error. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that + is the cause of this exception. + + The writing context. + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + CSV writing state. + + + + + Gets the type actions. + + + + + Gets the type converter options. + + + + + Gets or sets the reusable member map data. + + + + + Gets the writer configuration. + + + + + Gets the serializer configuration. + + + + + Gets the . + + + + + Gets a value indicating if the + should be left open when disposing. + + + + + Gets the current row. + + + + + Get the current record; + + + + + Gets a value indicating if the header has been written. + + + + + Gets a value indicating if a record has been written. + + + + + Initializes a new instance. + + The writer. + The configuration. + A value indicating if the TextWriter should be left open. + + + + Clears the specified caches. + + The caches to clear. + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + 2 + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + True if the instance needs to be disposed of. + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + 2 + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + True if the instance needs to be disposed of. + + + diff --git a/packages/Dapper.2.0.35/.signature.p7s b/packages/Dapper.2.0.35/.signature.p7s new file mode 100644 index 0000000..a2349dc Binary files /dev/null and b/packages/Dapper.2.0.35/.signature.p7s differ diff --git a/packages/Dapper.2.0.35/Dapper.2.0.35.nupkg b/packages/Dapper.2.0.35/Dapper.2.0.35.nupkg new file mode 100644 index 0000000..b7b46bd Binary files /dev/null and b/packages/Dapper.2.0.35/Dapper.2.0.35.nupkg differ diff --git a/packages/Dapper.2.0.35/lib/net461/Dapper.dll b/packages/Dapper.2.0.35/lib/net461/Dapper.dll new file mode 100644 index 0000000..716560a Binary files /dev/null and b/packages/Dapper.2.0.35/lib/net461/Dapper.dll differ diff --git a/packages/Dapper.2.0.35/lib/net461/Dapper.xml b/packages/Dapper.2.0.35/lib/net461/Dapper.xml new file mode 100644 index 0000000..6d6e1c9 --- /dev/null +++ b/packages/Dapper.2.0.35/lib/net461/Dapper.xml @@ -0,0 +1,2727 @@ + + + + Dapper + + + + + Represents the key aspects of a sql operation + + + + + The command (sql or a stored-procedure name) to execute + + + + + The parameters associated with the command + + + + + The active transaction for the command + + + + + The effective timeout for the command + + + + + The type of command that the command-text represents + + + + + Should data be buffered before returning? + + + + + Should the plan for this query be cached? + + + + + Additional state flags against this command + + + + + Can async queries be pipelined? + + + + + Initialize the command definition + + The text for this command. + The parameters for this command. + The transaction for this command to participate in. + The timeout (in seconds) for this command. + The for this command. + The behavior flags for this command. + The cancellation token for this command. + + + + For asynchronous operations, the cancellation-token + + + + + Additional state flags that control command behaviour + + + + + No additional flags + + + + + Should data be buffered before returning? + + + + + Can async queries be pipelined? + + + + + Should the plan cache be bypassed? + + + + + Implements custom property mapping by user provided criteria (usually presence of some custom attribute with column to member mapping) + + + + + Creates custom property mapping + + Target entity type + Property selector based on target type and DataReader column name + + + + Always returns default constructor + + DataReader column names + DataReader column types + Default constructor + + + + Always returns null + + + + + + Not implemented as far as default constructor used for all cases + + + + + + + + Returns property based on selector strategy + + DataReader column name + Poperty member map + + + + This class represents a SQL string, it can be used if you need to denote your parameter is a Char vs VarChar vs nVarChar vs nChar + + + + + Default value for IsAnsi. + + + + + A value to set the default value of strings + going through Dapper. Default is 4000, any value larger than this + field will not have the default value applied. + + + + + Create a new DbString + + + + + Ansi vs Unicode + + + + + Fixed length + + + + + Length of the string -1 for max + + + + + The value of the string + + + + + Add the parameter to the command... internal use only + + + + + + + Represents default type mapping strategy used by Dapper + + + + + Creates default type map + + Entity type + + + + Finds best constructor + + DataReader column names + DataReader column types + Matching constructor or default one + + + + Returns the constructor, if any, that has the ExplicitConstructorAttribute on it. + + + + + Gets mapping for constructor parameter + + Constructor to resolve + DataReader column name + Mapping implementation + + + + Gets member mapping for column + + DataReader column name + Mapping implementation + + + + Should column names like User_Id be allowed to match properties/fields like UserId ? + + + + + The settable properties for this typemap + + + + + A bag of parameters that can be passed to the Dapper Query and Execute methods + + + + + construct a dynamic parameter bag + + + + + construct a dynamic parameter bag + + can be an anonymous type or a DynamicParameters bag + + + + Append a whole object full of params to the dynamic + EG: AddDynamicParams(new {A = 1, B = 2}) // will add property A and B to the dynamic + + + + + + Add a parameter to this dynamic parameter list. + + The name of the parameter. + The value of the parameter. + The type of the parameter. + The in or out direction of the parameter. + The size of the parameter. + + + + Add a parameter to this dynamic parameter list. + + The name of the parameter. + The value of the parameter. + The type of the parameter. + The in or out direction of the parameter. + The size of the parameter. + The precision of the parameter. + The scale of the parameter. + + + + If true, the command-text is inspected and only values that are clearly used are included on the connection + + + + + Add all the parameters needed to the command just before it executes + + The raw command prior to execution + Information about the query + + + + All the names of the param in the bag, use Get to yank them out + + + + + Get the value of a parameter + + + + The value, note DBNull.Value is not returned, instead the value is returned as null + + + + Allows you to automatically populate a target property/field from output parameters. It actually + creates an InputOutput parameter, so you can still pass data in. + + + The object whose property/field you wish to populate. + A MemberExpression targeting a property/field of the target (or descendant thereof.) + + The size to set on the parameter. Defaults to 0, or DbString.DefaultLength in case of strings. + The DynamicParameters instance + + + + Tell Dapper to use an explicit constructor, passing nulls or 0s for all parameters + + + + + Creates a with a less specific generic parameter that perfectly mirrors the + state of the specified . + + + + + Handles variances in features per DBMS + + + + + Gets the feature set based on the passed connection + + The connection to get supported features for. + + + + True if the db supports array columns e.g. Postgresql + + + + + Represents simple member map for one of target parameter or property or field to source DataReader column + + + + + Creates instance for simple property mapping + + DataReader column name + Target property + + + + Creates instance for simple field mapping + + DataReader column name + Target property + + + + Creates instance for simple constructor parameter mapping + + DataReader column name + Target constructor parameter + + + + DataReader column name + + + + + Target member type + + + + + Target property + + + + + Target field + + + + + Target constructor parameter + + + + + Used to pass a IEnumerable<SqlDataRecord> as a SqlDataRecordListTVPParameter + + + + + Create a new instance of . + + The data records to convert into TVPs. + The parameter type name. + + + + Dapper, a light weight object mapper for ADO.NET + + + + + Execute a query asynchronously using Task. + + The connection to query on. + The SQL to execute for the query. + The parameters to pass, if any. + The transaction to use, if any. + The command timeout (in seconds). + The type of command to execute. + Note: each row can be accessed via "dynamic", or by casting to an IDictionary<string,object> + + + + Execute a query asynchronously using Task. + + The connection to query on. + The command used to query on this connection. + Note: each row can be accessed via "dynamic", or by casting to an IDictionary<string,object> + + + + Execute a single-row query asynchronously using Task. + + The connection to query on. + The command used to query on this connection. + Note: the row can be accessed via "dynamic", or by casting to an IDictionary<string,object> + + + + Execute a single-row query asynchronously using Task. + + The connection to query on. + The command used to query on this connection. + Note: the row can be accessed via "dynamic", or by casting to an IDictionary<string,object> + + + + Execute a single-row query asynchronously using Task. + + The connection to query on. + The command used to query on this connection. + Note: the row can be accessed via "dynamic", or by casting to an IDictionary<string,object> + + + + Execute a single-row query asynchronously using Task. + + The connection to query on. + The command used to query on this connection. + Note: the row can be accessed via "dynamic", or by casting to an IDictionary<string,object> + + + + Execute a query asynchronously using Task. + + The type of results to return. + The connection to query on. + The SQL to execute for the query. + The parameters to pass, if any. + The transaction to use, if any. + The command timeout (in seconds). + The type of command to execute. + + A sequence of data of ; if a basic type (int, string, etc) is queried then the data from the first column in assumed, otherwise an instance is + created per row, and a direct column-name===member-name mapping is assumed (case insensitive). + + + + + Execute a single-row query asynchronously using Task. + + The type of result to return. + The connection to query on. + The SQL to execute for the query. + The parameters to pass, if any. + The transaction to use, if any. + The command timeout (in seconds). + The type of command to execute. + + + + Execute a single-row query asynchronously using Task. + + The type of result to return. + The connection to query on. + The SQL to execute for the query. + The parameters to pass, if any. + The transaction to use, if any. + The command timeout (in seconds). + The type of command to execute. + + + + Execute a single-row query asynchronously using Task. + + The type of result to return. + The connection to query on. + The SQL to execute for the query. + The parameters to pass, if any. + The transaction to use, if any. + The command timeout (in seconds). + The type of command to execute. + + + + Execute a single-row query asynchronously using Task. + + The type to return. + The connection to query on. + The SQL to execute for the query. + The parameters to pass, if any. + The transaction to use, if any. + The command timeout (in seconds). + The type of command to execute. + + + + Execute a single-row query asynchronously using Task. + + The connection to query on. + The SQL to execute for the query. + The parameters to pass, if any. + The transaction to use, if any. + The command timeout (in seconds). + The type of command to execute. + + + + Execute a single-row query asynchronously using Task. + + The connection to query on. + The SQL to execute for the query. + The parameters to pass, if any. + The transaction to use, if any. + The command timeout (in seconds). + The type of command to execute. + + + + Execute a single-row query asynchronously using Task. + + The connection to query on. + The SQL to execute for the query. + The parameters to pass, if any. + The transaction to use, if any. + The command timeout (in seconds). + The type of command to execute. + + + + Execute a single-row query asynchronously using Task. + + The connection to query on. + The SQL to execute for the query. + The parameters to pass, if any. + The transaction to use, if any. + The command timeout (in seconds). + The type of command to execute. + + + + Execute a query asynchronously using Task. + + The connection to query on. + The type to return. + The SQL to execute for the query. + The parameters to pass, if any. + The transaction to use, if any. + The command timeout (in seconds). + The type of command to execute. + is null. + + + + Execute a single-row query asynchronously using Task. + + The connection to query on. + The type to return. + The SQL to execute for the query. + The parameters to pass, if any. + The transaction to use, if any. + The command timeout (in seconds). + The type of command to execute. + is null. + + + + Execute a single-row query asynchronously using Task. + + The connection to query on. + The type to return. + The SQL to execute for the query. + The parameters to pass, if any. + The transaction to use, if any. + The command timeout (in seconds). + The type of command to execute. + is null. + + + + Execute a single-row query asynchronously using Task. + + The connection to query on. + The type to return. + The SQL to execute for the query. + The parameters to pass, if any. + The transaction to use, if any. + The command timeout (in seconds). + The type of command to execute. + is null. + + + + Execute a single-row query asynchronously using Task. + + The connection to query on. + The type to return. + The SQL to execute for the query. + The parameters to pass, if any. + The transaction to use, if any. + The command timeout (in seconds). + The type of command to execute. + is null. + + + + Execute a query asynchronously using Task. + + The type to return. + The connection to query on. + The command used to query on this connection. + + A sequence of data of ; if a basic type (int, string, etc) is queried then the data from the first column in assumed, otherwise an instance is + created per row, and a direct column-name===member-name mapping is assumed (case insensitive). + + + + + Execute a query asynchronously using Task. + + The connection to query on. + The type to return. + The command used to query on this connection. + + + + Execute a single-row query asynchronously using Task. + + The connection to query on. + The type to return. + The command used to query on this connection. + + + + Execute a single-row query asynchronously using Task. + + The type to return. + The connection to query on. + The command used to query on this connection. + + + + Execute a single-row query asynchronously using Task. + + The connection to query on. + The type to return. + The command used to query on this connection. + + + + Execute a single-row query asynchronously using Task. + + The type to return. + The connection to query on. + The command used to query on this connection. + + + + Execute a single-row query asynchronously using Task. + + The connection to query on. + The type to return. + The command used to query on this connection. + + + + Execute a single-row query asynchronously using Task. + + The type to return. + The connection to query on. + The command used to query on this connection. + + + + Execute a single-row query asynchronously using Task. + + The connection to query on. + The type to return. + The command used to query on this connection. + + + + Execute a single-row query asynchronously using Task. + + The type to return. + The connection to query on. + The command used to query on this connection. + + + + Attempts to open a connection asynchronously, with a better error message for unsupported usages. + + + + + Attempts setup a on a , with a better error message for unsupported usages. + + + + + Execute a command asynchronously using Task. + + The connection to query on. + The SQL to execute for this query. + The parameters to use for this query. + The transaction to use for this query. + Number of seconds before command execution timeout. + Is it a stored proc or a batch? + The number of rows affected. + + + + Execute a command asynchronously using Task. + + The connection to execute on. + The command to execute on this connection. + The number of rows affected. + + + + Perform a asynchronous multi-mapping query with 2 input types. + This returns a single type, combined from the raw types via . + + The first type in the recordset. + The second type in the recordset. + The combined type to return. + The connection to query on. + The SQL to execute for this query. + The function to map row types to the return type. + The parameters to use for this query. + The transaction to use for this query. + Whether to buffer the results in memory. + The field we should split and read the second object from (default: "Id"). + Number of seconds before command execution timeout. + Is it a stored proc or a batch? + An enumerable of . + + + + Perform a asynchronous multi-mapping query with 2 input types. + This returns a single type, combined from the raw types via . + + The first type in the recordset. + The second type in the recordset. + The combined type to return. + The connection to query on. + The field we should split and read the second object from (default: "Id"). + The command to execute. + The function to map row types to the return type. + An enumerable of . + + + + Perform a asynchronous multi-mapping query with 3 input types. + This returns a single type, combined from the raw types via . + + The first type in the recordset. + The second type in the recordset. + The third type in the recordset. + The combined type to return. + The connection to query on. + The SQL to execute for this query. + The function to map row types to the return type. + The parameters to use for this query. + The transaction to use for this query. + Whether to buffer the results in memory. + The field we should split and read the second object from (default: "Id"). + Number of seconds before command execution timeout. + Is it a stored proc or a batch? + An enumerable of . + + + + Perform a asynchronous multi-mapping query with 3 input types. + This returns a single type, combined from the raw types via . + + The first type in the recordset. + The second type in the recordset. + The third type in the recordset. + The combined type to return. + The connection to query on. + The field we should split and read the second object from (default: "Id"). + The command to execute. + The function to map row types to the return type. + An enumerable of . + + + + Perform a asynchronous multi-mapping query with 4 input types. + This returns a single type, combined from the raw types via . + + The first type in the recordset. + The second type in the recordset. + The third type in the recordset. + The fourth type in the recordset. + The combined type to return. + The connection to query on. + The SQL to execute for this query. + The function to map row types to the return type. + The parameters to use for this query. + The transaction to use for this query. + Whether to buffer the results in memory. + The field we should split and read the second object from (default: "Id"). + Number of seconds before command execution timeout. + Is it a stored proc or a batch? + An enumerable of . + + + + Perform a asynchronous multi-mapping query with 4 input types. + This returns a single type, combined from the raw types via . + + The first type in the recordset. + The second type in the recordset. + The third type in the recordset. + The fourth type in the recordset. + The combined type to return. + The connection to query on. + The field we should split and read the second object from (default: "Id"). + The command to execute. + The function to map row types to the return type. + An enumerable of . + + + + Perform a asynchronous multi-mapping query with 5 input types. + This returns a single type, combined from the raw types via . + + The first type in the recordset. + The second type in the recordset. + The third type in the recordset. + The fourth type in the recordset. + The fifth type in the recordset. + The combined type to return. + The connection to query on. + The SQL to execute for this query. + The function to map row types to the return type. + The parameters to use for this query. + The transaction to use for this query. + Whether to buffer the results in memory. + The field we should split and read the second object from (default: "Id"). + Number of seconds before command execution timeout. + Is it a stored proc or a batch? + An enumerable of . + + + + Perform a asynchronous multi-mapping query with 5 input types. + This returns a single type, combined from the raw types via . + + The first type in the recordset. + The second type in the recordset. + The third type in the recordset. + The fourth type in the recordset. + The fifth type in the recordset. + The combined type to return. + The connection to query on. + The field we should split and read the second object from (default: "Id"). + The command to execute. + The function to map row types to the return type. + An enumerable of . + + + + Perform a asynchronous multi-mapping query with 6 input types. + This returns a single type, combined from the raw types via . + + The first type in the recordset. + The second type in the recordset. + The third type in the recordset. + The fourth type in the recordset. + The fifth type in the recordset. + The sixth type in the recordset. + The combined type to return. + The connection to query on. + The SQL to execute for this query. + The function to map row types to the return type. + The parameters to use for this query. + The transaction to use for this query. + Whether to buffer the results in memory. + The field we should split and read the second object from (default: "Id"). + Number of seconds before command execution timeout. + Is it a stored proc or a batch? + An enumerable of . + + + + Perform a asynchronous multi-mapping query with 6 input types. + This returns a single type, combined from the raw types via . + + The first type in the recordset. + The second type in the recordset. + The third type in the recordset. + The fourth type in the recordset. + The fifth type in the recordset. + The sixth type in the recordset. + The combined type to return. + The connection to query on. + The field we should split and read the second object from (default: "Id"). + The command to execute. + The function to map row types to the return type. + An enumerable of . + + + + Perform a asynchronous multi-mapping query with 7 input types. + This returns a single type, combined from the raw types via . + + The first type in the recordset. + The second type in the recordset. + The third type in the recordset. + The fourth type in the recordset. + The fifth type in the recordset. + The sixth type in the recordset. + The seventh type in the recordset. + The combined type to return. + The connection to query on. + The SQL to execute for this query. + The function to map row types to the return type. + The parameters to use for this query. + The transaction to use for this query. + Whether to buffer the results in memory. + The field we should split and read the second object from (default: "Id"). + Number of seconds before command execution timeout. + Is it a stored proc or a batch? + An enumerable of . + + + + Perform an asynchronous multi-mapping query with 7 input types. + This returns a single type, combined from the raw types via . + + The first type in the recordset. + The second type in the recordset. + The third type in the recordset. + The fourth type in the recordset. + The fifth type in the recordset. + The sixth type in the recordset. + The seventh type in the recordset. + The combined type to return. + The connection to query on. + The field we should split and read the second object from (default: "Id"). + The command to execute. + The function to map row types to the return type. + An enumerable of . + + + + Perform a asynchronous multi-mapping query with an arbitrary number of input types. + This returns a single type, combined from the raw types via . + + The combined type to return. + The connection to query on. + The SQL to execute for this query. + Array of types in the recordset. + The function to map row types to the return type. + The parameters to use for this query. + The transaction to use for this query. + Whether to buffer the results in memory. + The field we should split and read the second object from (default: "Id"). + Number of seconds before command execution timeout. + Is it a stored proc or a batch? + An enumerable of . + + + + Execute a command that returns multiple result sets, and access each in turn. + + The connection to query on. + The SQL to execute for this query. + The parameters to use for this query. + The transaction to use for this query. + Number of seconds before command execution timeout. + Is it a stored proc or a batch? + + + + Execute a command that returns multiple result sets, and access each in turn. + + The connection to query on. + The command to execute for this query. + + + + Execute parameterized SQL and return an . + + The connection to execute on. + The SQL to execute. + The parameters to use for this command. + The transaction to use for this command. + Number of seconds before command execution timeout. + Is it a stored proc or a batch? + An that can be used to iterate over the results of the SQL query. + + This is typically used when the results of a query are not processed by Dapper, for example, used to fill a + or . + + + + + + + + + + Execute parameterized SQL and return a . + + The connection to execute on. + The SQL to execute. + The parameters to use for this command. + The transaction to use for this command. + Number of seconds before command execution timeout. + Is it a stored proc or a batch? + + + + Execute parameterized SQL and return an . + + The connection to execute on. + The command to execute. + An that can be used to iterate over the results of the SQL query. + + This is typically used when the results of a query are not processed by Dapper, for example, used to fill a + or . + + + + + Execute parameterized SQL and return a . + + The connection to execute on. + The command to execute. + + + + Execute parameterized SQL and return an . + + The connection to execute on. + The command to execute. + The flags for this reader. + An that can be used to iterate over the results of the SQL query. + + This is typically used when the results of a query are not processed by Dapper, for example, used to fill a + or . + + + + + Execute parameterized SQL and return a . + + The connection to execute on. + The command to execute. + The flags for this reader. + + + + Execute parameterized SQL that selects a single value. + + The connection to execute on. + The SQL to execute. + The parameters to use for this command. + The transaction to use for this command. + Number of seconds before command execution timeout. + Is it a stored proc or a batch? + The first cell returned, as . + + + + Execute parameterized SQL that selects a single value. + + The type to return. + The connection to execute on. + The SQL to execute. + The parameters to use for this command. + The transaction to use for this command. + Number of seconds before command execution timeout. + Is it a stored proc or a batch? + The first cell returned, as . + + + + Execute parameterized SQL that selects a single value. + + The connection to execute on. + The command to execute. + The first cell selected as . + + + + Execute parameterized SQL that selects a single value. + + The type to return. + The connection to execute on. + The command to execute. + The first cell selected as . + + + + Called if the query cache is purged via PurgeQueryCache + + + + + Purge the query cache + + + + + Return a count of all the cached queries by Dapper + + + + + + Return a list of all the queries cached by Dapper + + + + + + + Deep diagnostics only: find any hash collisions in the cache + + + + + + Clear the registered type handlers. + + + + + Configure the specified type to be mapped to a given db-type. + + The type to map from. + The database type to map to. + + + + Removes the specified type from the Type/DbType mapping table. + + The type to remove from the current map. + + + + Configure the specified type to be processed by a custom handler. + + The type to handle. + The handler to process the . + + + + Configure the specified type to be processed by a custom handler. + + The type to handle. + The handler to process the . + Whether to clone the current type handler map. + + + + Configure the specified type to be processed by a custom handler. + + The type to handle. + The handler for the type . + + + + Get the DbType that maps to a given value. + + The object to get a corresponding database type for. + + + + OBSOLETE: For internal usage only. Lookup the DbType and handler for a given Type and member + + The type to lookup. + The name (for error messages). + Whether to demand a value (throw if missing). + The handler for . + + + + Obtains the data as a list; if it is *already* a list, the original object is returned without + any duplication; otherwise, ToList() is invoked. + + The type of element in the list. + The enumerable to return as a list. + + + + Execute parameterized SQL. + + The connection to query on. + The SQL to execute for this query. + The parameters to use for this query. + The transaction to use for this query. + Number of seconds before command execution timeout. + Is it a stored proc or a batch? + The number of rows affected. + + + + Execute parameterized SQL. + + The connection to execute on. + The command to execute on this connection. + The number of rows affected. + + + + Execute parameterized SQL that selects a single value. + + The connection to execute on. + The SQL to execute. + The parameters to use for this command. + The transaction to use for this command. + Number of seconds before command execution timeout. + Is it a stored proc or a batch? + The first cell selected as . + + + + Execute parameterized SQL that selects a single value. + + The type to return. + The connection to execute on. + The SQL to execute. + The parameters to use for this command. + The transaction to use for this command. + Number of seconds before command execution timeout. + Is it a stored proc or a batch? + The first cell returned, as . + + + + Execute parameterized SQL that selects a single value. + + The connection to execute on. + The command to execute. + The first cell selected as . + + + + Execute parameterized SQL that selects a single value. + + The type to return. + The connection to execute on. + The command to execute. + The first cell selected as . + + + + Execute parameterized SQL and return an . + + The connection to execute on. + The SQL to execute. + The parameters to use for this command. + The transaction to use for this command. + Number of seconds before command execution timeout. + Is it a stored proc or a batch? + An that can be used to iterate over the results of the SQL query. + + This is typically used when the results of a query are not processed by Dapper, for example, used to fill a + or . + + + + + + + + + + Execute parameterized SQL and return an . + + The connection to execute on. + The command to execute. + An that can be used to iterate over the results of the SQL query. + + This is typically used when the results of a query are not processed by Dapper, for example, used to fill a + or . + + + + + Execute parameterized SQL and return an . + + The connection to execute on. + The command to execute. + The flags for this reader. + An that can be used to iterate over the results of the SQL query. + + This is typically used when the results of a query are not processed by Dapper, for example, used to fill a + or . + + + + + Return a sequence of dynamic objects with properties matching the columns. + + The connection to query on. + The SQL to execute for the query. + The parameters to pass, if any. + The transaction to use, if any. + Whether to buffer the results in memory. + The command timeout (in seconds). + The type of command to execute. + Note: each row can be accessed via "dynamic", or by casting to an IDictionary<string,object> + + + + Return a dynamic object with properties matching the columns. + + The connection to query on. + The SQL to execute for the query. + The parameters to pass, if any. + The transaction to use, if any. + The command timeout (in seconds). + The type of command to execute. + Note: the row can be accessed via "dynamic", or by casting to an IDictionary<string,object> + + + + Return a dynamic object with properties matching the columns. + + The connection to query on. + The SQL to execute for the query. + The parameters to pass, if any. + The transaction to use, if any. + The command timeout (in seconds). + The type of command to execute. + Note: the row can be accessed via "dynamic", or by casting to an IDictionary<string,object> + + + + Return a dynamic object with properties matching the columns. + + The connection to query on. + The SQL to execute for the query. + The parameters to pass, if any. + The transaction to use, if any. + The command timeout (in seconds). + The type of command to execute. + Note: the row can be accessed via "dynamic", or by casting to an IDictionary<string,object> + + + + Return a dynamic object with properties matching the columns. + + The connection to query on. + The SQL to execute for the query. + The parameters to pass, if any. + The transaction to use, if any. + The command timeout (in seconds). + The type of command to execute. + Note: the row can be accessed via "dynamic", or by casting to an IDictionary<string,object> + + + + Executes a query, returning the data typed as . + + The type of results to return. + The connection to query on. + The SQL to execute for the query. + The parameters to pass, if any. + The transaction to use, if any. + Whether to buffer results in memory. + The command timeout (in seconds). + The type of command to execute. + + A sequence of data of the supplied type; if a basic type (int, string, etc) is queried then the data from the first column in assumed, otherwise an instance is + created per row, and a direct column-name===member-name mapping is assumed (case insensitive). + + + + + Executes a single-row query, returning the data typed as . + + The type of result to return. + The connection to query on. + The SQL to execute for the query. + The parameters to pass, if any. + The transaction to use, if any. + The command timeout (in seconds). + The type of command to execute. + + A sequence of data of the supplied type; if a basic type (int, string, etc) is queried then the data from the first column in assumed, otherwise an instance is + created per row, and a direct column-name===member-name mapping is assumed (case insensitive). + + + + + Executes a single-row query, returning the data typed as . + + The type of result to return. + The connection to query on. + The SQL to execute for the query. + The parameters to pass, if any. + The transaction to use, if any. + The command timeout (in seconds). + The type of command to execute. + + A sequence of data of the supplied type; if a basic type (int, string, etc) is queried then the data from the first column in assumed, otherwise an instance is + created per row, and a direct column-name===member-name mapping is assumed (case insensitive). + + + + + Executes a single-row query, returning the data typed as . + + The type of result to return. + The connection to query on. + The SQL to execute for the query. + The parameters to pass, if any. + The transaction to use, if any. + The command timeout (in seconds). + The type of command to execute. + + A sequence of data of the supplied type; if a basic type (int, string, etc) is queried then the data from the first column in assumed, otherwise an instance is + created per row, and a direct column-name===member-name mapping is assumed (case insensitive). + + + + + Executes a single-row query, returning the data typed as . + + The type of result to return. + The connection to query on. + The SQL to execute for the query. + The parameters to pass, if any. + The transaction to use, if any. + The command timeout (in seconds). + The type of command to execute. + + A sequence of data of the supplied type; if a basic type (int, string, etc) is queried then the data from the first column in assumed, otherwise an instance is + created per row, and a direct column-name===member-name mapping is assumed (case insensitive). + + + + + Executes a single-row query, returning the data typed as . + + The connection to query on. + The type to return. + The SQL to execute for the query. + The parameters to pass, if any. + The transaction to use, if any. + Whether to buffer results in memory. + The command timeout (in seconds). + The type of command to execute. + is null. + + A sequence of data of the supplied type; if a basic type (int, string, etc) is queried then the data from the first column in assumed, otherwise an instance is + created per row, and a direct column-name===member-name mapping is assumed (case insensitive). + + + + + Executes a single-row query, returning the data typed as . + + The connection to query on. + The type to return. + The SQL to execute for the query. + The parameters to pass, if any. + The transaction to use, if any. + The command timeout (in seconds). + The type of command to execute. + is null. + + A sequence of data of the supplied type; if a basic type (int, string, etc) is queried then the data from the first column in assumed, otherwise an instance is + created per row, and a direct column-name===member-name mapping is assumed (case insensitive). + + + + + Executes a single-row query, returning the data typed as . + + The connection to query on. + The type to return. + The SQL to execute for the query. + The parameters to pass, if any. + The transaction to use, if any. + The command timeout (in seconds). + The type of command to execute. + is null. + + A sequence of data of the supplied type; if a basic type (int, string, etc) is queried then the data from the first column in assumed, otherwise an instance is + created per row, and a direct column-name===member-name mapping is assumed (case insensitive). + + + + + Executes a single-row query, returning the data typed as . + + The connection to query on. + The type to return. + The SQL to execute for the query. + The parameters to pass, if any. + The transaction to use, if any. + The command timeout (in seconds). + The type of command to execute. + is null. + + A sequence of data of the supplied type; if a basic type (int, string, etc) is queried then the data from the first column in assumed, otherwise an instance is + created per row, and a direct column-name===member-name mapping is assumed (case insensitive). + + + + + Executes a single-row query, returning the data typed as . + + The connection to query on. + The type to return. + The SQL to execute for the query. + The parameters to pass, if any. + The transaction to use, if any. + The command timeout (in seconds). + The type of command to execute. + is null. + + A sequence of data of the supplied type; if a basic type (int, string, etc) is queried then the data from the first column in assumed, otherwise an instance is + created per row, and a direct column-name===member-name mapping is assumed (case insensitive). + + + + + Executes a query, returning the data typed as . + + The type of results to return. + The connection to query on. + The command used to query on this connection. + + A sequence of data of ; if a basic type (int, string, etc) is queried then the data from the first column in assumed, otherwise an instance is + created per row, and a direct column-name===member-name mapping is assumed (case insensitive). + + + + + Executes a query, returning the data typed as . + + The type of results to return. + The connection to query on. + The command used to query on this connection. + + A single instance or null of the supplied type; if a basic type (int, string, etc) is queried then the data from the first column in assumed, otherwise an instance is + created per row, and a direct column-name===member-name mapping is assumed (case insensitive). + + + + + Executes a query, returning the data typed as . + + The type of results to return. + The connection to query on. + The command used to query on this connection. + + A single or null instance of the supplied type; if a basic type (int, string, etc) is queried then the data from the first column in assumed, otherwise an instance is + created per row, and a direct column-name===member-name mapping is assumed (case insensitive). + + + + + Executes a query, returning the data typed as . + + The type of results to return. + The connection to query on. + The command used to query on this connection. + + A single instance of the supplied type; if a basic type (int, string, etc) is queried then the data from the first column in assumed, otherwise an instance is + created per row, and a direct column-name===member-name mapping is assumed (case insensitive). + + + + + Executes a query, returning the data typed as . + + The type of results to return. + The connection to query on. + The command used to query on this connection. + + A single instance of the supplied type; if a basic type (int, string, etc) is queried then the data from the first column in assumed, otherwise an instance is + created per row, and a direct column-name===member-name mapping is assumed (case insensitive). + + + + + Execute a command that returns multiple result sets, and access each in turn. + + The connection to query on. + The SQL to execute for this query. + The parameters to use for this query. + The transaction to use for this query. + Number of seconds before command execution timeout. + Is it a stored proc or a batch? + + + + Execute a command that returns multiple result sets, and access each in turn. + + The connection to query on. + The command to execute for this query. + + + + Perform a multi-mapping query with 2 input types. + This returns a single type, combined from the raw types via . + + The first type in the recordset. + The second type in the recordset. + The combined type to return. + The connection to query on. + The SQL to execute for this query. + The function to map row types to the return type. + The parameters to use for this query. + The transaction to use for this query. + Whether to buffer the results in memory. + The field we should split and read the second object from (default: "Id"). + Number of seconds before command execution timeout. + Is it a stored proc or a batch? + An enumerable of . + + + + Perform a multi-mapping query with 3 input types. + This returns a single type, combined from the raw types via . + + The first type in the recordset. + The second type in the recordset. + The third type in the recordset. + The combined type to return. + The connection to query on. + The SQL to execute for this query. + The function to map row types to the return type. + The parameters to use for this query. + The transaction to use for this query. + Whether to buffer the results in memory. + The field we should split and read the second object from (default: "Id"). + Number of seconds before command execution timeout. + Is it a stored proc or a batch? + An enumerable of . + + + + Perform a multi-mapping query with 4 input types. + This returns a single type, combined from the raw types via . + + The first type in the recordset. + The second type in the recordset. + The third type in the recordset. + The fourth type in the recordset. + The combined type to return. + The connection to query on. + The SQL to execute for this query. + The function to map row types to the return type. + The parameters to use for this query. + The transaction to use for this query. + Whether to buffer the results in memory. + The field we should split and read the second object from (default: "Id"). + Number of seconds before command execution timeout. + Is it a stored proc or a batch? + An enumerable of . + + + + Perform a multi-mapping query with 5 input types. + This returns a single type, combined from the raw types via . + + The first type in the recordset. + The second type in the recordset. + The third type in the recordset. + The fourth type in the recordset. + The fifth type in the recordset. + The combined type to return. + The connection to query on. + The SQL to execute for this query. + The function to map row types to the return type. + The parameters to use for this query. + The transaction to use for this query. + Whether to buffer the results in memory. + The field we should split and read the second object from (default: "Id"). + Number of seconds before command execution timeout. + Is it a stored proc or a batch? + An enumerable of . + + + + Perform a multi-mapping query with 6 input types. + This returns a single type, combined from the raw types via . + + The first type in the recordset. + The second type in the recordset. + The third type in the recordset. + The fourth type in the recordset. + The fifth type in the recordset. + The sixth type in the recordset. + The combined type to return. + The connection to query on. + The SQL to execute for this query. + The function to map row types to the return type. + The parameters to use for this query. + The transaction to use for this query. + Whether to buffer the results in memory. + The field we should split and read the second object from (default: "Id"). + Number of seconds before command execution timeout. + Is it a stored proc or a batch? + An enumerable of . + + + + Perform a multi-mapping query with 7 input types. If you need more types -> use Query with Type[] parameter. + This returns a single type, combined from the raw types via . + + The first type in the recordset. + The second type in the recordset. + The third type in the recordset. + The fourth type in the recordset. + The fifth type in the recordset. + The sixth type in the recordset. + The seventh type in the recordset. + The combined type to return. + The connection to query on. + The SQL to execute for this query. + The function to map row types to the return type. + The parameters to use for this query. + The transaction to use for this query. + Whether to buffer the results in memory. + The field we should split and read the second object from (default: "Id"). + Number of seconds before command execution timeout. + Is it a stored proc or a batch? + An enumerable of . + + + + Perform a multi-mapping query with an arbitrary number of input types. + This returns a single type, combined from the raw types via . + + The combined type to return. + The connection to query on. + The SQL to execute for this query. + Array of types in the recordset. + The function to map row types to the return type. + The parameters to use for this query. + The transaction to use for this query. + Whether to buffer the results in memory. + The field we should split and read the second object from (default: "Id"). + Number of seconds before command execution timeout. + Is it a stored proc or a batch? + An enumerable of . + + + + Internal use only. + + The object to convert to a character. + + + + Internal use only. + + The object to convert to a character. + + + + Internal use only. + + The parameter collection to search in. + The command for this fetch. + The name of the parameter to get. + + + + Internal use only. + + The command to pack parameters for. + The name prefix for these parameters. + The parameter value can be an + + + + OBSOLETE: For internal usage only. Sanitizes the paramter value with proper type casting. + + The value to sanitize. + + + + Replace all literal tokens with their text form. + + The parameter lookup to do replacements with. + The command to repalce parameters in. + + + + Convert numeric values to their string form for SQL literal purposes. + + The value to get a string for. + + + + Internal use only. + + The identity of the generator. + Whether to check for duplicates. + Whether to remove unused parameters. + + + + Gets type-map for the given type + + Type map instance, default is to create new instance of DefaultTypeMap + + + + Gets type-map for the given . + + The type to get a map for. + Type map implementation, DefaultTypeMap instance if no override present + + + + Set custom mapping for type deserializers + + Entity type to override + Mapping rules impementation, null to remove custom map + + + + Internal use only + + + + + + + + + + + Throws a data exception, only used internally + + The exception to throw. + The index the exception occured at. + The reader the exception occured in. + The value that caused the exception. + + + + How should connection strings be compared for equivalence? Defaults to StringComparer.Ordinal. + Providing a custom implementation can be useful for allowing multi-tenancy databases with identical + schema to share strategies. Note that usual equivalence rules apply: any equivalent connection strings + MUST yield the same hash-code. + + + + + Key used to indicate the type name associated with a DataTable. + + + + + Used to pass a DataTable as a . + + The to create this parameter for. + The name of the type this parameter is for. + + + + Associate a DataTable with a type name. + + The that does with the . + The name of the type this table is for. + + + + Fetch the type name associated with a . + + The that has a type name associated with it. + + + + Used to pass a IEnumerable<SqlDataRecord> as a TableValuedParameter. + + The list of records to convert to TVPs. + The sql parameter type name. + + + + Dummy type for excluding from multi-map + + + + + The grid reader provides interfaces for reading multiple result sets from a Dapper query + + + + + Read the next grid of results, returned as a dynamic object + + Note: each row can be accessed via "dynamic", or by casting to an IDictionary<string,object> + Whether to buffer the results. + + + + Read an individual row of the next grid of results, returned as a dynamic object + + Note: the row can be accessed via "dynamic", or by casting to an IDictionary<string,object> + + + + Read an individual row of the next grid of results, returned as a dynamic object + + Note: the row can be accessed via "dynamic", or by casting to an IDictionary<string,object> + + + + Read an individual row of the next grid of results, returned as a dynamic object + + Note: the row can be accessed via "dynamic", or by casting to an IDictionary<string,object> + + + + Read an individual row of the next grid of results, returned as a dynamic object + + Note: the row can be accessed via "dynamic", or by casting to an IDictionary<string,object> + + + + Read the next grid of results + + The type to read. + Whether to buffer the results. + is null. + + + + Read an individual row of the next grid of results + + The type to read. + is null. + + + + Read an individual row of the next grid of results. + + The type to read. + is null. + + + + Read an individual row of the next grid of results. + + The type to read. + is null. + + + + Read an individual row of the next grid of results. + + The type to read. + is null. + + + + Read the next grid of results. + + The type to read. + Whether the results should be buffered in memory. + + + + Read an individual row of the next grid of results. + + The type to read. + + + + Read an individual row of the next grid of results. + + The type to read. + + + + Read an individual row of the next grid of results. + + The type to read. + + + + Read an individual row of the next grid of results. + + The type to read. + + + + Read the next grid of results, returned as a dynamic object. + + Whether the results should be buffered in memory. + Note: each row can be accessed via "dynamic", or by casting to an IDictionary<string,object> + + + + Read an individual row of the next grid of results, returned as a dynamic object. + + Note: the row can be accessed via "dynamic", or by casting to an IDictionary<string,object> + + + + Read an individual row of the next grid of results, returned as a dynamic object. + + Note: the row can be accessed via "dynamic", or by casting to an IDictionary<string,object> + + + + Read an individual row of the next grid of results, returned as a dynamic object. + + Note: the row can be accessed via "dynamic", or by casting to an IDictionary<string,object> + + + + Read an individual row of the next grid of results, returned as a dynamic object. + + Note: the row can be accessed via "dynamic", or by casting to an IDictionary<string,object> + + + + Read the next grid of results. + + The type to read. + Whether the results should be buffered in memory. + + + + Read an individual row of the next grid of results. + + The type to read. + + + + Read an individual row of the next grid of results. + + The type to read. + + + + Read an individual row of the next grid of results. + + The type to read. + + + + Read an individual row of the next grid of results. + + The type to read. + + + + Read the next grid of results. + + The type to read. + Whether to buffer the results. + is null. + + + + Read an individual row of the next grid of results. + + The type to read. + is null. + + + + Read an individual row of the next grid of results. + + The type to read. + is null. + + + + Read an individual row of the next grid of results. + + The type to read. + is null. + + + + Read an individual row of the next grid of results. + + The type to read. + is null. + + + + Read multiple objects from a single record set on the grid. + + The first type in the record set. + The second type in the record set. + The type to return from the record set. + The mapping function from the read types to the return type. + The field(s) we should split and read the second object from (defaults to "id") + Whether to buffer results in memory. + + + + Read multiple objects from a single record set on the grid. + + The first type in the record set. + The second type in the record set. + The third type in the record set. + The type to return from the record set. + The mapping function from the read types to the return type. + The field(s) we should split and read the second object from (defaults to "id") + Whether to buffer results in memory. + + + + Read multiple objects from a single record set on the grid + + The first type in the record set. + The second type in the record set. + The third type in the record set. + The fourth type in the record set. + The type to return from the record set. + The mapping function from the read types to the return type. + The field(s) we should split and read the second object from (defaults to "id") + Whether to buffer results in memory. + + + + Read multiple objects from a single record set on the grid + + The first type in the record set. + The second type in the record set. + The third type in the record set. + The fourth type in the record set. + The fifth type in the record set. + The type to return from the record set. + The mapping function from the read types to the return type. + The field(s) we should split and read the second object from (defaults to "id") + Whether to buffer results in memory. + + + + Read multiple objects from a single record set on the grid + + The first type in the record set. + The second type in the record set. + The third type in the record set. + The fourth type in the record set. + The fifth type in the record set. + The sixth type in the record set. + The type to return from the record set. + The mapping function from the read types to the return type. + The field(s) we should split and read the second object from (defaults to "id") + Whether to buffer results in memory. + + + + Read multiple objects from a single record set on the grid + + The first type in the record set. + The second type in the record set. + The third type in the record set. + The fourth type in the record set. + The fifth type in the record set. + The sixth type in the record set. + The seventh type in the record set. + The type to return from the record set. + The mapping function from the read types to the return type. + The field(s) we should split and read the second object from (defaults to "id") + Whether to buffer results in memory. + + + + Read multiple objects from a single record set on the grid + + The type to return from the record set. + The types to read from the result set. + The mapping function from the read types to the return type. + The field(s) we should split and read the second object from (defaults to "id") + Whether to buffer results in memory. + + + + Has the underlying reader been consumed? + + + + + The command associated with the reader + + + + + Dispose the grid, closing and disposing both the underlying reader and command. + + + + + Implement this interface to pass an arbitrary db specific parameter to Dapper + + + + + Add the parameter needed to the command before it executes + + The raw command prior to execution + Parameter name + + + + Parses a data reader to a sequence of data of the supplied type. Used for deserializing a reader without a connection, etc. + + The type to parse from the . + The data reader to parse results from. + + + + Parses a data reader to a sequence of data of the supplied type (as object). Used for deserializing a reader without a connection, etc. + + The data reader to parse results from. + The type to parse from the . + + + + Parses a data reader to a sequence of dynamic. Used for deserializing a reader without a connection, etc. + + The data reader to parse results from. + + + + Gets the row parser for a specific row on a data reader. This allows for type switching every row based on, for example, a TypeId column. + You could return a collection of the base type but have each more specific. + + The data reader to get the parser for the current row from + The type to get the parser for + The start column index of the object (default 0) + The length of columns to read (default -1 = all fields following startIndex) + Return null if we can't find the first column? (default false) + A parser for this specific object from this row. + + + + Gets the row parser for a specific row on a data reader. This allows for type switching every row based on, for example, a TypeId column. + You could return a collection of the base type but have each more specific. + + The type of results to return. + The data reader to get the parser for the current row from. + The type to get the parser for. + The start column index of the object (default: 0). + The length of columns to read (default: -1 = all fields following startIndex). + Return null if we can't find the first column? (default: false). + A parser for this specific object from this row. + + var result = new List<BaseType>(); + using (var reader = connection.ExecuteReader(@" + select 'abc' as Name, 1 as Type, 3.0 as Value + union all + select 'def' as Name, 2 as Type, 4.0 as Value")) + { + if (reader.Read()) + { + var toFoo = reader.GetRowParser<BaseType>(typeof(Foo)); + var toBar = reader.GetRowParser<BaseType>(typeof(Bar)); + var col = reader.GetOrdinal("Type"); + do + { + switch (reader.GetInt32(col)) + { + case 1: + result.Add(toFoo(reader)); + break; + case 2: + result.Add(toBar(reader)); + break; + } + } while (reader.Read()); + } + } + + abstract class BaseType + { + public abstract int Type { get; } + } + class Foo : BaseType + { + public string Name { get; set; } + public override int Type => 1; + } + class Bar : BaseType + { + public float Value { get; set; } + public override int Type => 2; + } + + + + + Identity of a cached query in Dapper, used for extensibility. + + + + + Create an identity for use with DynamicParameters, internal use only. + + The parameters type to create an for. + + + + + Whether this equals another. + + The other to compare to. + + + + The raw SQL command. + + + + + The SQL command type. + + + + + The hash code of this Identity. + + + + + The grid index (position in the reader) of this Identity. + + + + + This of this Identity. + + + + + The connection string for this Identity. + + + + + The type of the parameters object for this Identity. + + + + + Gets the hash code for this identity. + + + + + + See object.ToString() + + + + + Compare 2 Identity objects + + The other object to compare. + Whether the two are equal + + + + Implement this interface to pass an arbitrary db specific set of parameters to Dapper + + + + + Add all the parameters needed to the command just before it executes + + The raw command prior to execution + Information about the query + + + + Implements this interface to provide custom member mapping + + + + + Source DataReader column name + + + + + Target member type + + + + + Target property + + + + + Target field + + + + + Target constructor parameter + + + + + Extends IDynamicParameters with facilities for executing callbacks after commands have completed + + + + + Invoked when the command has executed + + + + + Extends IDynamicParameters providing by-name lookup of parameter values + + + + + Get the value of the specified parameter (return null if not found) + + The name of the parameter to get. + + + + Implement this interface to perform custom type-based parameter handling and value parsing + + + + + Assign the value of a parameter before a command executes + + The parameter to configure + Parameter value + + + + Parse a database value back to a typed value + + The value from the database + The type to parse to + The typed value + + + + Implement this interface to change default mapping of reader columns to type members + + + + + Finds best constructor + + DataReader column names + DataReader column types + Matching constructor or default one + + + + Returns a constructor which should *always* be used. + + Parameters will be default values, nulls for reference types and zero'd for value types. + + Use this class to force object creation away from parameterless constructors you don't control. + + + + + Gets mapping for constructor parameter + + Constructor to resolve + DataReader column name + Mapping implementation + + + + Gets member mapping for column + + DataReader column name + Mapping implementation + + + + This is a micro-cache; suitable when the number of terms is controllable (a few hundred, for example), + and strictly append-only; you cannot change existing values. All key matches are on **REFERENCE** + equality. The type is fully thread-safe. + + The type to cache. + The value type of the cache. + + + + Represents a placeholder for a value that should be replaced as a literal value in the resulting sql + + + + + The text in the original command that should be replaced + + + + + The name of the member referred to by the token + + + + + Permits specifying certain SqlMapper values globally. + + + + + Gets or sets whether Dapper should use the CommandBehavior.SingleResult optimization + + Note that a consequence of enabling this option is that errors that happen after the first select may not be reported + + + + Gets or sets whether Dapper should use the CommandBehavior.SingleRow optimization + + Note that on some DB providers this optimization can have adverse performance impact + + + + Resets all Settings to their default values + + + + + Specifies the default Command Timeout for all Queries + + + + + Indicates whether nulls in data are silently ignored (default) vs actively applied and assigned to members + + + + + Should list expansions be padded with null-valued parameters, to prevent query-plan saturation? For example, + an 'in @foo' expansion with 7, 8 or 9 values will be sent as a list of 10 values, with 3, 2 or 1 of them null. + The padding size is relative to the size of the list; "next 10" under 150, "next 50" under 500, + "next 100" under 1500, etc. + + + Caution: this should be treated with care if your DB provider (or the specific configuration) allows for null + equality (aka "ansi nulls off"), as this may change the intent of your query; as such, this is disabled by + default and must be enabled. + + + + + If set (non-negative), when performing in-list expansions of integer types ("where id in @ids", etc), switch to a string_split based + operation if there are more than this many elements. Note that this feautre requires SQL Server 2016 / compatibility level 130 (or above). + + + + + Base-class for simple type-handlers + + This this handler is for. + + + + Assign the value of a parameter before a command executes + + The parameter to configure + Parameter value + + + + Parse a database value back to a typed value + + The value from the database + The typed value + + + + Base-class for simple type-handlers that are based around strings + + This this handler is for. + + + + Parse a string into the expected type (the string will never be null) + + The string to parse. + + + + Format an instace into a string (the instance will never be null) + + The string to format. + + + + Assign the value of a parameter before a command executes + + The parameter to configure + Parameter value + + + + Parse a database value back to a typed value + + The value from the database + The typed value + + + + Not intended for direct usage + + The type to have a cache for. + + + + Not intended for direct usage. + + The object to parse. + + + + Not intended for direct usage. + + The parameter to set a value for. + The value to set. + + + + A type handler for data-types that are supported by the underlying provider, but which need + a well-known UdtTypeName to be specified + + + + + Creates a new instance of UdtTypeHandler with the specified . + + The user defined type name. + + + + Used to pass a DataTable as a TableValuedParameter + + + + + Create a new instance of . + + The to create this parameter for + + + + Create a new instance of . + + The to create this parameter for. + The name of the type this parameter is for. + + + + Describes a reader that controls the lifetime of both a command and a reader, + exposing the downstream command/reader as properties. + + + + + Obtain the underlying reader + + + + + Obtain the underlying command + + + + diff --git a/packages/Dapper.2.0.35/lib/netstandard2.0/Dapper.dll b/packages/Dapper.2.0.35/lib/netstandard2.0/Dapper.dll new file mode 100644 index 0000000..8714659 Binary files /dev/null and b/packages/Dapper.2.0.35/lib/netstandard2.0/Dapper.dll differ diff --git a/packages/Dapper.2.0.35/lib/netstandard2.0/Dapper.xml b/packages/Dapper.2.0.35/lib/netstandard2.0/Dapper.xml new file mode 100644 index 0000000..6d6e1c9 --- /dev/null +++ b/packages/Dapper.2.0.35/lib/netstandard2.0/Dapper.xml @@ -0,0 +1,2727 @@ + + + + Dapper + + + + + Represents the key aspects of a sql operation + + + + + The command (sql or a stored-procedure name) to execute + + + + + The parameters associated with the command + + + + + The active transaction for the command + + + + + The effective timeout for the command + + + + + The type of command that the command-text represents + + + + + Should data be buffered before returning? + + + + + Should the plan for this query be cached? + + + + + Additional state flags against this command + + + + + Can async queries be pipelined? + + + + + Initialize the command definition + + The text for this command. + The parameters for this command. + The transaction for this command to participate in. + The timeout (in seconds) for this command. + The for this command. + The behavior flags for this command. + The cancellation token for this command. + + + + For asynchronous operations, the cancellation-token + + + + + Additional state flags that control command behaviour + + + + + No additional flags + + + + + Should data be buffered before returning? + + + + + Can async queries be pipelined? + + + + + Should the plan cache be bypassed? + + + + + Implements custom property mapping by user provided criteria (usually presence of some custom attribute with column to member mapping) + + + + + Creates custom property mapping + + Target entity type + Property selector based on target type and DataReader column name + + + + Always returns default constructor + + DataReader column names + DataReader column types + Default constructor + + + + Always returns null + + + + + + Not implemented as far as default constructor used for all cases + + + + + + + + Returns property based on selector strategy + + DataReader column name + Poperty member map + + + + This class represents a SQL string, it can be used if you need to denote your parameter is a Char vs VarChar vs nVarChar vs nChar + + + + + Default value for IsAnsi. + + + + + A value to set the default value of strings + going through Dapper. Default is 4000, any value larger than this + field will not have the default value applied. + + + + + Create a new DbString + + + + + Ansi vs Unicode + + + + + Fixed length + + + + + Length of the string -1 for max + + + + + The value of the string + + + + + Add the parameter to the command... internal use only + + + + + + + Represents default type mapping strategy used by Dapper + + + + + Creates default type map + + Entity type + + + + Finds best constructor + + DataReader column names + DataReader column types + Matching constructor or default one + + + + Returns the constructor, if any, that has the ExplicitConstructorAttribute on it. + + + + + Gets mapping for constructor parameter + + Constructor to resolve + DataReader column name + Mapping implementation + + + + Gets member mapping for column + + DataReader column name + Mapping implementation + + + + Should column names like User_Id be allowed to match properties/fields like UserId ? + + + + + The settable properties for this typemap + + + + + A bag of parameters that can be passed to the Dapper Query and Execute methods + + + + + construct a dynamic parameter bag + + + + + construct a dynamic parameter bag + + can be an anonymous type or a DynamicParameters bag + + + + Append a whole object full of params to the dynamic + EG: AddDynamicParams(new {A = 1, B = 2}) // will add property A and B to the dynamic + + + + + + Add a parameter to this dynamic parameter list. + + The name of the parameter. + The value of the parameter. + The type of the parameter. + The in or out direction of the parameter. + The size of the parameter. + + + + Add a parameter to this dynamic parameter list. + + The name of the parameter. + The value of the parameter. + The type of the parameter. + The in or out direction of the parameter. + The size of the parameter. + The precision of the parameter. + The scale of the parameter. + + + + If true, the command-text is inspected and only values that are clearly used are included on the connection + + + + + Add all the parameters needed to the command just before it executes + + The raw command prior to execution + Information about the query + + + + All the names of the param in the bag, use Get to yank them out + + + + + Get the value of a parameter + + + + The value, note DBNull.Value is not returned, instead the value is returned as null + + + + Allows you to automatically populate a target property/field from output parameters. It actually + creates an InputOutput parameter, so you can still pass data in. + + + The object whose property/field you wish to populate. + A MemberExpression targeting a property/field of the target (or descendant thereof.) + + The size to set on the parameter. Defaults to 0, or DbString.DefaultLength in case of strings. + The DynamicParameters instance + + + + Tell Dapper to use an explicit constructor, passing nulls or 0s for all parameters + + + + + Creates a with a less specific generic parameter that perfectly mirrors the + state of the specified . + + + + + Handles variances in features per DBMS + + + + + Gets the feature set based on the passed connection + + The connection to get supported features for. + + + + True if the db supports array columns e.g. Postgresql + + + + + Represents simple member map for one of target parameter or property or field to source DataReader column + + + + + Creates instance for simple property mapping + + DataReader column name + Target property + + + + Creates instance for simple field mapping + + DataReader column name + Target property + + + + Creates instance for simple constructor parameter mapping + + DataReader column name + Target constructor parameter + + + + DataReader column name + + + + + Target member type + + + + + Target property + + + + + Target field + + + + + Target constructor parameter + + + + + Used to pass a IEnumerable<SqlDataRecord> as a SqlDataRecordListTVPParameter + + + + + Create a new instance of . + + The data records to convert into TVPs. + The parameter type name. + + + + Dapper, a light weight object mapper for ADO.NET + + + + + Execute a query asynchronously using Task. + + The connection to query on. + The SQL to execute for the query. + The parameters to pass, if any. + The transaction to use, if any. + The command timeout (in seconds). + The type of command to execute. + Note: each row can be accessed via "dynamic", or by casting to an IDictionary<string,object> + + + + Execute a query asynchronously using Task. + + The connection to query on. + The command used to query on this connection. + Note: each row can be accessed via "dynamic", or by casting to an IDictionary<string,object> + + + + Execute a single-row query asynchronously using Task. + + The connection to query on. + The command used to query on this connection. + Note: the row can be accessed via "dynamic", or by casting to an IDictionary<string,object> + + + + Execute a single-row query asynchronously using Task. + + The connection to query on. + The command used to query on this connection. + Note: the row can be accessed via "dynamic", or by casting to an IDictionary<string,object> + + + + Execute a single-row query asynchronously using Task. + + The connection to query on. + The command used to query on this connection. + Note: the row can be accessed via "dynamic", or by casting to an IDictionary<string,object> + + + + Execute a single-row query asynchronously using Task. + + The connection to query on. + The command used to query on this connection. + Note: the row can be accessed via "dynamic", or by casting to an IDictionary<string,object> + + + + Execute a query asynchronously using Task. + + The type of results to return. + The connection to query on. + The SQL to execute for the query. + The parameters to pass, if any. + The transaction to use, if any. + The command timeout (in seconds). + The type of command to execute. + + A sequence of data of ; if a basic type (int, string, etc) is queried then the data from the first column in assumed, otherwise an instance is + created per row, and a direct column-name===member-name mapping is assumed (case insensitive). + + + + + Execute a single-row query asynchronously using Task. + + The type of result to return. + The connection to query on. + The SQL to execute for the query. + The parameters to pass, if any. + The transaction to use, if any. + The command timeout (in seconds). + The type of command to execute. + + + + Execute a single-row query asynchronously using Task. + + The type of result to return. + The connection to query on. + The SQL to execute for the query. + The parameters to pass, if any. + The transaction to use, if any. + The command timeout (in seconds). + The type of command to execute. + + + + Execute a single-row query asynchronously using Task. + + The type of result to return. + The connection to query on. + The SQL to execute for the query. + The parameters to pass, if any. + The transaction to use, if any. + The command timeout (in seconds). + The type of command to execute. + + + + Execute a single-row query asynchronously using Task. + + The type to return. + The connection to query on. + The SQL to execute for the query. + The parameters to pass, if any. + The transaction to use, if any. + The command timeout (in seconds). + The type of command to execute. + + + + Execute a single-row query asynchronously using Task. + + The connection to query on. + The SQL to execute for the query. + The parameters to pass, if any. + The transaction to use, if any. + The command timeout (in seconds). + The type of command to execute. + + + + Execute a single-row query asynchronously using Task. + + The connection to query on. + The SQL to execute for the query. + The parameters to pass, if any. + The transaction to use, if any. + The command timeout (in seconds). + The type of command to execute. + + + + Execute a single-row query asynchronously using Task. + + The connection to query on. + The SQL to execute for the query. + The parameters to pass, if any. + The transaction to use, if any. + The command timeout (in seconds). + The type of command to execute. + + + + Execute a single-row query asynchronously using Task. + + The connection to query on. + The SQL to execute for the query. + The parameters to pass, if any. + The transaction to use, if any. + The command timeout (in seconds). + The type of command to execute. + + + + Execute a query asynchronously using Task. + + The connection to query on. + The type to return. + The SQL to execute for the query. + The parameters to pass, if any. + The transaction to use, if any. + The command timeout (in seconds). + The type of command to execute. + is null. + + + + Execute a single-row query asynchronously using Task. + + The connection to query on. + The type to return. + The SQL to execute for the query. + The parameters to pass, if any. + The transaction to use, if any. + The command timeout (in seconds). + The type of command to execute. + is null. + + + + Execute a single-row query asynchronously using Task. + + The connection to query on. + The type to return. + The SQL to execute for the query. + The parameters to pass, if any. + The transaction to use, if any. + The command timeout (in seconds). + The type of command to execute. + is null. + + + + Execute a single-row query asynchronously using Task. + + The connection to query on. + The type to return. + The SQL to execute for the query. + The parameters to pass, if any. + The transaction to use, if any. + The command timeout (in seconds). + The type of command to execute. + is null. + + + + Execute a single-row query asynchronously using Task. + + The connection to query on. + The type to return. + The SQL to execute for the query. + The parameters to pass, if any. + The transaction to use, if any. + The command timeout (in seconds). + The type of command to execute. + is null. + + + + Execute a query asynchronously using Task. + + The type to return. + The connection to query on. + The command used to query on this connection. + + A sequence of data of ; if a basic type (int, string, etc) is queried then the data from the first column in assumed, otherwise an instance is + created per row, and a direct column-name===member-name mapping is assumed (case insensitive). + + + + + Execute a query asynchronously using Task. + + The connection to query on. + The type to return. + The command used to query on this connection. + + + + Execute a single-row query asynchronously using Task. + + The connection to query on. + The type to return. + The command used to query on this connection. + + + + Execute a single-row query asynchronously using Task. + + The type to return. + The connection to query on. + The command used to query on this connection. + + + + Execute a single-row query asynchronously using Task. + + The connection to query on. + The type to return. + The command used to query on this connection. + + + + Execute a single-row query asynchronously using Task. + + The type to return. + The connection to query on. + The command used to query on this connection. + + + + Execute a single-row query asynchronously using Task. + + The connection to query on. + The type to return. + The command used to query on this connection. + + + + Execute a single-row query asynchronously using Task. + + The type to return. + The connection to query on. + The command used to query on this connection. + + + + Execute a single-row query asynchronously using Task. + + The connection to query on. + The type to return. + The command used to query on this connection. + + + + Execute a single-row query asynchronously using Task. + + The type to return. + The connection to query on. + The command used to query on this connection. + + + + Attempts to open a connection asynchronously, with a better error message for unsupported usages. + + + + + Attempts setup a on a , with a better error message for unsupported usages. + + + + + Execute a command asynchronously using Task. + + The connection to query on. + The SQL to execute for this query. + The parameters to use for this query. + The transaction to use for this query. + Number of seconds before command execution timeout. + Is it a stored proc or a batch? + The number of rows affected. + + + + Execute a command asynchronously using Task. + + The connection to execute on. + The command to execute on this connection. + The number of rows affected. + + + + Perform a asynchronous multi-mapping query with 2 input types. + This returns a single type, combined from the raw types via . + + The first type in the recordset. + The second type in the recordset. + The combined type to return. + The connection to query on. + The SQL to execute for this query. + The function to map row types to the return type. + The parameters to use for this query. + The transaction to use for this query. + Whether to buffer the results in memory. + The field we should split and read the second object from (default: "Id"). + Number of seconds before command execution timeout. + Is it a stored proc or a batch? + An enumerable of . + + + + Perform a asynchronous multi-mapping query with 2 input types. + This returns a single type, combined from the raw types via . + + The first type in the recordset. + The second type in the recordset. + The combined type to return. + The connection to query on. + The field we should split and read the second object from (default: "Id"). + The command to execute. + The function to map row types to the return type. + An enumerable of . + + + + Perform a asynchronous multi-mapping query with 3 input types. + This returns a single type, combined from the raw types via . + + The first type in the recordset. + The second type in the recordset. + The third type in the recordset. + The combined type to return. + The connection to query on. + The SQL to execute for this query. + The function to map row types to the return type. + The parameters to use for this query. + The transaction to use for this query. + Whether to buffer the results in memory. + The field we should split and read the second object from (default: "Id"). + Number of seconds before command execution timeout. + Is it a stored proc or a batch? + An enumerable of . + + + + Perform a asynchronous multi-mapping query with 3 input types. + This returns a single type, combined from the raw types via . + + The first type in the recordset. + The second type in the recordset. + The third type in the recordset. + The combined type to return. + The connection to query on. + The field we should split and read the second object from (default: "Id"). + The command to execute. + The function to map row types to the return type. + An enumerable of . + + + + Perform a asynchronous multi-mapping query with 4 input types. + This returns a single type, combined from the raw types via . + + The first type in the recordset. + The second type in the recordset. + The third type in the recordset. + The fourth type in the recordset. + The combined type to return. + The connection to query on. + The SQL to execute for this query. + The function to map row types to the return type. + The parameters to use for this query. + The transaction to use for this query. + Whether to buffer the results in memory. + The field we should split and read the second object from (default: "Id"). + Number of seconds before command execution timeout. + Is it a stored proc or a batch? + An enumerable of . + + + + Perform a asynchronous multi-mapping query with 4 input types. + This returns a single type, combined from the raw types via . + + The first type in the recordset. + The second type in the recordset. + The third type in the recordset. + The fourth type in the recordset. + The combined type to return. + The connection to query on. + The field we should split and read the second object from (default: "Id"). + The command to execute. + The function to map row types to the return type. + An enumerable of . + + + + Perform a asynchronous multi-mapping query with 5 input types. + This returns a single type, combined from the raw types via . + + The first type in the recordset. + The second type in the recordset. + The third type in the recordset. + The fourth type in the recordset. + The fifth type in the recordset. + The combined type to return. + The connection to query on. + The SQL to execute for this query. + The function to map row types to the return type. + The parameters to use for this query. + The transaction to use for this query. + Whether to buffer the results in memory. + The field we should split and read the second object from (default: "Id"). + Number of seconds before command execution timeout. + Is it a stored proc or a batch? + An enumerable of . + + + + Perform a asynchronous multi-mapping query with 5 input types. + This returns a single type, combined from the raw types via . + + The first type in the recordset. + The second type in the recordset. + The third type in the recordset. + The fourth type in the recordset. + The fifth type in the recordset. + The combined type to return. + The connection to query on. + The field we should split and read the second object from (default: "Id"). + The command to execute. + The function to map row types to the return type. + An enumerable of . + + + + Perform a asynchronous multi-mapping query with 6 input types. + This returns a single type, combined from the raw types via . + + The first type in the recordset. + The second type in the recordset. + The third type in the recordset. + The fourth type in the recordset. + The fifth type in the recordset. + The sixth type in the recordset. + The combined type to return. + The connection to query on. + The SQL to execute for this query. + The function to map row types to the return type. + The parameters to use for this query. + The transaction to use for this query. + Whether to buffer the results in memory. + The field we should split and read the second object from (default: "Id"). + Number of seconds before command execution timeout. + Is it a stored proc or a batch? + An enumerable of . + + + + Perform a asynchronous multi-mapping query with 6 input types. + This returns a single type, combined from the raw types via . + + The first type in the recordset. + The second type in the recordset. + The third type in the recordset. + The fourth type in the recordset. + The fifth type in the recordset. + The sixth type in the recordset. + The combined type to return. + The connection to query on. + The field we should split and read the second object from (default: "Id"). + The command to execute. + The function to map row types to the return type. + An enumerable of . + + + + Perform a asynchronous multi-mapping query with 7 input types. + This returns a single type, combined from the raw types via . + + The first type in the recordset. + The second type in the recordset. + The third type in the recordset. + The fourth type in the recordset. + The fifth type in the recordset. + The sixth type in the recordset. + The seventh type in the recordset. + The combined type to return. + The connection to query on. + The SQL to execute for this query. + The function to map row types to the return type. + The parameters to use for this query. + The transaction to use for this query. + Whether to buffer the results in memory. + The field we should split and read the second object from (default: "Id"). + Number of seconds before command execution timeout. + Is it a stored proc or a batch? + An enumerable of . + + + + Perform an asynchronous multi-mapping query with 7 input types. + This returns a single type, combined from the raw types via . + + The first type in the recordset. + The second type in the recordset. + The third type in the recordset. + The fourth type in the recordset. + The fifth type in the recordset. + The sixth type in the recordset. + The seventh type in the recordset. + The combined type to return. + The connection to query on. + The field we should split and read the second object from (default: "Id"). + The command to execute. + The function to map row types to the return type. + An enumerable of . + + + + Perform a asynchronous multi-mapping query with an arbitrary number of input types. + This returns a single type, combined from the raw types via . + + The combined type to return. + The connection to query on. + The SQL to execute for this query. + Array of types in the recordset. + The function to map row types to the return type. + The parameters to use for this query. + The transaction to use for this query. + Whether to buffer the results in memory. + The field we should split and read the second object from (default: "Id"). + Number of seconds before command execution timeout. + Is it a stored proc or a batch? + An enumerable of . + + + + Execute a command that returns multiple result sets, and access each in turn. + + The connection to query on. + The SQL to execute for this query. + The parameters to use for this query. + The transaction to use for this query. + Number of seconds before command execution timeout. + Is it a stored proc or a batch? + + + + Execute a command that returns multiple result sets, and access each in turn. + + The connection to query on. + The command to execute for this query. + + + + Execute parameterized SQL and return an . + + The connection to execute on. + The SQL to execute. + The parameters to use for this command. + The transaction to use for this command. + Number of seconds before command execution timeout. + Is it a stored proc or a batch? + An that can be used to iterate over the results of the SQL query. + + This is typically used when the results of a query are not processed by Dapper, for example, used to fill a + or . + + + + + + + + + + Execute parameterized SQL and return a . + + The connection to execute on. + The SQL to execute. + The parameters to use for this command. + The transaction to use for this command. + Number of seconds before command execution timeout. + Is it a stored proc or a batch? + + + + Execute parameterized SQL and return an . + + The connection to execute on. + The command to execute. + An that can be used to iterate over the results of the SQL query. + + This is typically used when the results of a query are not processed by Dapper, for example, used to fill a + or . + + + + + Execute parameterized SQL and return a . + + The connection to execute on. + The command to execute. + + + + Execute parameterized SQL and return an . + + The connection to execute on. + The command to execute. + The flags for this reader. + An that can be used to iterate over the results of the SQL query. + + This is typically used when the results of a query are not processed by Dapper, for example, used to fill a + or . + + + + + Execute parameterized SQL and return a . + + The connection to execute on. + The command to execute. + The flags for this reader. + + + + Execute parameterized SQL that selects a single value. + + The connection to execute on. + The SQL to execute. + The parameters to use for this command. + The transaction to use for this command. + Number of seconds before command execution timeout. + Is it a stored proc or a batch? + The first cell returned, as . + + + + Execute parameterized SQL that selects a single value. + + The type to return. + The connection to execute on. + The SQL to execute. + The parameters to use for this command. + The transaction to use for this command. + Number of seconds before command execution timeout. + Is it a stored proc or a batch? + The first cell returned, as . + + + + Execute parameterized SQL that selects a single value. + + The connection to execute on. + The command to execute. + The first cell selected as . + + + + Execute parameterized SQL that selects a single value. + + The type to return. + The connection to execute on. + The command to execute. + The first cell selected as . + + + + Called if the query cache is purged via PurgeQueryCache + + + + + Purge the query cache + + + + + Return a count of all the cached queries by Dapper + + + + + + Return a list of all the queries cached by Dapper + + + + + + + Deep diagnostics only: find any hash collisions in the cache + + + + + + Clear the registered type handlers. + + + + + Configure the specified type to be mapped to a given db-type. + + The type to map from. + The database type to map to. + + + + Removes the specified type from the Type/DbType mapping table. + + The type to remove from the current map. + + + + Configure the specified type to be processed by a custom handler. + + The type to handle. + The handler to process the . + + + + Configure the specified type to be processed by a custom handler. + + The type to handle. + The handler to process the . + Whether to clone the current type handler map. + + + + Configure the specified type to be processed by a custom handler. + + The type to handle. + The handler for the type . + + + + Get the DbType that maps to a given value. + + The object to get a corresponding database type for. + + + + OBSOLETE: For internal usage only. Lookup the DbType and handler for a given Type and member + + The type to lookup. + The name (for error messages). + Whether to demand a value (throw if missing). + The handler for . + + + + Obtains the data as a list; if it is *already* a list, the original object is returned without + any duplication; otherwise, ToList() is invoked. + + The type of element in the list. + The enumerable to return as a list. + + + + Execute parameterized SQL. + + The connection to query on. + The SQL to execute for this query. + The parameters to use for this query. + The transaction to use for this query. + Number of seconds before command execution timeout. + Is it a stored proc or a batch? + The number of rows affected. + + + + Execute parameterized SQL. + + The connection to execute on. + The command to execute on this connection. + The number of rows affected. + + + + Execute parameterized SQL that selects a single value. + + The connection to execute on. + The SQL to execute. + The parameters to use for this command. + The transaction to use for this command. + Number of seconds before command execution timeout. + Is it a stored proc or a batch? + The first cell selected as . + + + + Execute parameterized SQL that selects a single value. + + The type to return. + The connection to execute on. + The SQL to execute. + The parameters to use for this command. + The transaction to use for this command. + Number of seconds before command execution timeout. + Is it a stored proc or a batch? + The first cell returned, as . + + + + Execute parameterized SQL that selects a single value. + + The connection to execute on. + The command to execute. + The first cell selected as . + + + + Execute parameterized SQL that selects a single value. + + The type to return. + The connection to execute on. + The command to execute. + The first cell selected as . + + + + Execute parameterized SQL and return an . + + The connection to execute on. + The SQL to execute. + The parameters to use for this command. + The transaction to use for this command. + Number of seconds before command execution timeout. + Is it a stored proc or a batch? + An that can be used to iterate over the results of the SQL query. + + This is typically used when the results of a query are not processed by Dapper, for example, used to fill a + or . + + + + + + + + + + Execute parameterized SQL and return an . + + The connection to execute on. + The command to execute. + An that can be used to iterate over the results of the SQL query. + + This is typically used when the results of a query are not processed by Dapper, for example, used to fill a + or . + + + + + Execute parameterized SQL and return an . + + The connection to execute on. + The command to execute. + The flags for this reader. + An that can be used to iterate over the results of the SQL query. + + This is typically used when the results of a query are not processed by Dapper, for example, used to fill a + or . + + + + + Return a sequence of dynamic objects with properties matching the columns. + + The connection to query on. + The SQL to execute for the query. + The parameters to pass, if any. + The transaction to use, if any. + Whether to buffer the results in memory. + The command timeout (in seconds). + The type of command to execute. + Note: each row can be accessed via "dynamic", or by casting to an IDictionary<string,object> + + + + Return a dynamic object with properties matching the columns. + + The connection to query on. + The SQL to execute for the query. + The parameters to pass, if any. + The transaction to use, if any. + The command timeout (in seconds). + The type of command to execute. + Note: the row can be accessed via "dynamic", or by casting to an IDictionary<string,object> + + + + Return a dynamic object with properties matching the columns. + + The connection to query on. + The SQL to execute for the query. + The parameters to pass, if any. + The transaction to use, if any. + The command timeout (in seconds). + The type of command to execute. + Note: the row can be accessed via "dynamic", or by casting to an IDictionary<string,object> + + + + Return a dynamic object with properties matching the columns. + + The connection to query on. + The SQL to execute for the query. + The parameters to pass, if any. + The transaction to use, if any. + The command timeout (in seconds). + The type of command to execute. + Note: the row can be accessed via "dynamic", or by casting to an IDictionary<string,object> + + + + Return a dynamic object with properties matching the columns. + + The connection to query on. + The SQL to execute for the query. + The parameters to pass, if any. + The transaction to use, if any. + The command timeout (in seconds). + The type of command to execute. + Note: the row can be accessed via "dynamic", or by casting to an IDictionary<string,object> + + + + Executes a query, returning the data typed as . + + The type of results to return. + The connection to query on. + The SQL to execute for the query. + The parameters to pass, if any. + The transaction to use, if any. + Whether to buffer results in memory. + The command timeout (in seconds). + The type of command to execute. + + A sequence of data of the supplied type; if a basic type (int, string, etc) is queried then the data from the first column in assumed, otherwise an instance is + created per row, and a direct column-name===member-name mapping is assumed (case insensitive). + + + + + Executes a single-row query, returning the data typed as . + + The type of result to return. + The connection to query on. + The SQL to execute for the query. + The parameters to pass, if any. + The transaction to use, if any. + The command timeout (in seconds). + The type of command to execute. + + A sequence of data of the supplied type; if a basic type (int, string, etc) is queried then the data from the first column in assumed, otherwise an instance is + created per row, and a direct column-name===member-name mapping is assumed (case insensitive). + + + + + Executes a single-row query, returning the data typed as . + + The type of result to return. + The connection to query on. + The SQL to execute for the query. + The parameters to pass, if any. + The transaction to use, if any. + The command timeout (in seconds). + The type of command to execute. + + A sequence of data of the supplied type; if a basic type (int, string, etc) is queried then the data from the first column in assumed, otherwise an instance is + created per row, and a direct column-name===member-name mapping is assumed (case insensitive). + + + + + Executes a single-row query, returning the data typed as . + + The type of result to return. + The connection to query on. + The SQL to execute for the query. + The parameters to pass, if any. + The transaction to use, if any. + The command timeout (in seconds). + The type of command to execute. + + A sequence of data of the supplied type; if a basic type (int, string, etc) is queried then the data from the first column in assumed, otherwise an instance is + created per row, and a direct column-name===member-name mapping is assumed (case insensitive). + + + + + Executes a single-row query, returning the data typed as . + + The type of result to return. + The connection to query on. + The SQL to execute for the query. + The parameters to pass, if any. + The transaction to use, if any. + The command timeout (in seconds). + The type of command to execute. + + A sequence of data of the supplied type; if a basic type (int, string, etc) is queried then the data from the first column in assumed, otherwise an instance is + created per row, and a direct column-name===member-name mapping is assumed (case insensitive). + + + + + Executes a single-row query, returning the data typed as . + + The connection to query on. + The type to return. + The SQL to execute for the query. + The parameters to pass, if any. + The transaction to use, if any. + Whether to buffer results in memory. + The command timeout (in seconds). + The type of command to execute. + is null. + + A sequence of data of the supplied type; if a basic type (int, string, etc) is queried then the data from the first column in assumed, otherwise an instance is + created per row, and a direct column-name===member-name mapping is assumed (case insensitive). + + + + + Executes a single-row query, returning the data typed as . + + The connection to query on. + The type to return. + The SQL to execute for the query. + The parameters to pass, if any. + The transaction to use, if any. + The command timeout (in seconds). + The type of command to execute. + is null. + + A sequence of data of the supplied type; if a basic type (int, string, etc) is queried then the data from the first column in assumed, otherwise an instance is + created per row, and a direct column-name===member-name mapping is assumed (case insensitive). + + + + + Executes a single-row query, returning the data typed as . + + The connection to query on. + The type to return. + The SQL to execute for the query. + The parameters to pass, if any. + The transaction to use, if any. + The command timeout (in seconds). + The type of command to execute. + is null. + + A sequence of data of the supplied type; if a basic type (int, string, etc) is queried then the data from the first column in assumed, otherwise an instance is + created per row, and a direct column-name===member-name mapping is assumed (case insensitive). + + + + + Executes a single-row query, returning the data typed as . + + The connection to query on. + The type to return. + The SQL to execute for the query. + The parameters to pass, if any. + The transaction to use, if any. + The command timeout (in seconds). + The type of command to execute. + is null. + + A sequence of data of the supplied type; if a basic type (int, string, etc) is queried then the data from the first column in assumed, otherwise an instance is + created per row, and a direct column-name===member-name mapping is assumed (case insensitive). + + + + + Executes a single-row query, returning the data typed as . + + The connection to query on. + The type to return. + The SQL to execute for the query. + The parameters to pass, if any. + The transaction to use, if any. + The command timeout (in seconds). + The type of command to execute. + is null. + + A sequence of data of the supplied type; if a basic type (int, string, etc) is queried then the data from the first column in assumed, otherwise an instance is + created per row, and a direct column-name===member-name mapping is assumed (case insensitive). + + + + + Executes a query, returning the data typed as . + + The type of results to return. + The connection to query on. + The command used to query on this connection. + + A sequence of data of ; if a basic type (int, string, etc) is queried then the data from the first column in assumed, otherwise an instance is + created per row, and a direct column-name===member-name mapping is assumed (case insensitive). + + + + + Executes a query, returning the data typed as . + + The type of results to return. + The connection to query on. + The command used to query on this connection. + + A single instance or null of the supplied type; if a basic type (int, string, etc) is queried then the data from the first column in assumed, otherwise an instance is + created per row, and a direct column-name===member-name mapping is assumed (case insensitive). + + + + + Executes a query, returning the data typed as . + + The type of results to return. + The connection to query on. + The command used to query on this connection. + + A single or null instance of the supplied type; if a basic type (int, string, etc) is queried then the data from the first column in assumed, otherwise an instance is + created per row, and a direct column-name===member-name mapping is assumed (case insensitive). + + + + + Executes a query, returning the data typed as . + + The type of results to return. + The connection to query on. + The command used to query on this connection. + + A single instance of the supplied type; if a basic type (int, string, etc) is queried then the data from the first column in assumed, otherwise an instance is + created per row, and a direct column-name===member-name mapping is assumed (case insensitive). + + + + + Executes a query, returning the data typed as . + + The type of results to return. + The connection to query on. + The command used to query on this connection. + + A single instance of the supplied type; if a basic type (int, string, etc) is queried then the data from the first column in assumed, otherwise an instance is + created per row, and a direct column-name===member-name mapping is assumed (case insensitive). + + + + + Execute a command that returns multiple result sets, and access each in turn. + + The connection to query on. + The SQL to execute for this query. + The parameters to use for this query. + The transaction to use for this query. + Number of seconds before command execution timeout. + Is it a stored proc or a batch? + + + + Execute a command that returns multiple result sets, and access each in turn. + + The connection to query on. + The command to execute for this query. + + + + Perform a multi-mapping query with 2 input types. + This returns a single type, combined from the raw types via . + + The first type in the recordset. + The second type in the recordset. + The combined type to return. + The connection to query on. + The SQL to execute for this query. + The function to map row types to the return type. + The parameters to use for this query. + The transaction to use for this query. + Whether to buffer the results in memory. + The field we should split and read the second object from (default: "Id"). + Number of seconds before command execution timeout. + Is it a stored proc or a batch? + An enumerable of . + + + + Perform a multi-mapping query with 3 input types. + This returns a single type, combined from the raw types via . + + The first type in the recordset. + The second type in the recordset. + The third type in the recordset. + The combined type to return. + The connection to query on. + The SQL to execute for this query. + The function to map row types to the return type. + The parameters to use for this query. + The transaction to use for this query. + Whether to buffer the results in memory. + The field we should split and read the second object from (default: "Id"). + Number of seconds before command execution timeout. + Is it a stored proc or a batch? + An enumerable of . + + + + Perform a multi-mapping query with 4 input types. + This returns a single type, combined from the raw types via . + + The first type in the recordset. + The second type in the recordset. + The third type in the recordset. + The fourth type in the recordset. + The combined type to return. + The connection to query on. + The SQL to execute for this query. + The function to map row types to the return type. + The parameters to use for this query. + The transaction to use for this query. + Whether to buffer the results in memory. + The field we should split and read the second object from (default: "Id"). + Number of seconds before command execution timeout. + Is it a stored proc or a batch? + An enumerable of . + + + + Perform a multi-mapping query with 5 input types. + This returns a single type, combined from the raw types via . + + The first type in the recordset. + The second type in the recordset. + The third type in the recordset. + The fourth type in the recordset. + The fifth type in the recordset. + The combined type to return. + The connection to query on. + The SQL to execute for this query. + The function to map row types to the return type. + The parameters to use for this query. + The transaction to use for this query. + Whether to buffer the results in memory. + The field we should split and read the second object from (default: "Id"). + Number of seconds before command execution timeout. + Is it a stored proc or a batch? + An enumerable of . + + + + Perform a multi-mapping query with 6 input types. + This returns a single type, combined from the raw types via . + + The first type in the recordset. + The second type in the recordset. + The third type in the recordset. + The fourth type in the recordset. + The fifth type in the recordset. + The sixth type in the recordset. + The combined type to return. + The connection to query on. + The SQL to execute for this query. + The function to map row types to the return type. + The parameters to use for this query. + The transaction to use for this query. + Whether to buffer the results in memory. + The field we should split and read the second object from (default: "Id"). + Number of seconds before command execution timeout. + Is it a stored proc or a batch? + An enumerable of . + + + + Perform a multi-mapping query with 7 input types. If you need more types -> use Query with Type[] parameter. + This returns a single type, combined from the raw types via . + + The first type in the recordset. + The second type in the recordset. + The third type in the recordset. + The fourth type in the recordset. + The fifth type in the recordset. + The sixth type in the recordset. + The seventh type in the recordset. + The combined type to return. + The connection to query on. + The SQL to execute for this query. + The function to map row types to the return type. + The parameters to use for this query. + The transaction to use for this query. + Whether to buffer the results in memory. + The field we should split and read the second object from (default: "Id"). + Number of seconds before command execution timeout. + Is it a stored proc or a batch? + An enumerable of . + + + + Perform a multi-mapping query with an arbitrary number of input types. + This returns a single type, combined from the raw types via . + + The combined type to return. + The connection to query on. + The SQL to execute for this query. + Array of types in the recordset. + The function to map row types to the return type. + The parameters to use for this query. + The transaction to use for this query. + Whether to buffer the results in memory. + The field we should split and read the second object from (default: "Id"). + Number of seconds before command execution timeout. + Is it a stored proc or a batch? + An enumerable of . + + + + Internal use only. + + The object to convert to a character. + + + + Internal use only. + + The object to convert to a character. + + + + Internal use only. + + The parameter collection to search in. + The command for this fetch. + The name of the parameter to get. + + + + Internal use only. + + The command to pack parameters for. + The name prefix for these parameters. + The parameter value can be an + + + + OBSOLETE: For internal usage only. Sanitizes the paramter value with proper type casting. + + The value to sanitize. + + + + Replace all literal tokens with their text form. + + The parameter lookup to do replacements with. + The command to repalce parameters in. + + + + Convert numeric values to their string form for SQL literal purposes. + + The value to get a string for. + + + + Internal use only. + + The identity of the generator. + Whether to check for duplicates. + Whether to remove unused parameters. + + + + Gets type-map for the given type + + Type map instance, default is to create new instance of DefaultTypeMap + + + + Gets type-map for the given . + + The type to get a map for. + Type map implementation, DefaultTypeMap instance if no override present + + + + Set custom mapping for type deserializers + + Entity type to override + Mapping rules impementation, null to remove custom map + + + + Internal use only + + + + + + + + + + + Throws a data exception, only used internally + + The exception to throw. + The index the exception occured at. + The reader the exception occured in. + The value that caused the exception. + + + + How should connection strings be compared for equivalence? Defaults to StringComparer.Ordinal. + Providing a custom implementation can be useful for allowing multi-tenancy databases with identical + schema to share strategies. Note that usual equivalence rules apply: any equivalent connection strings + MUST yield the same hash-code. + + + + + Key used to indicate the type name associated with a DataTable. + + + + + Used to pass a DataTable as a . + + The to create this parameter for. + The name of the type this parameter is for. + + + + Associate a DataTable with a type name. + + The that does with the . + The name of the type this table is for. + + + + Fetch the type name associated with a . + + The that has a type name associated with it. + + + + Used to pass a IEnumerable<SqlDataRecord> as a TableValuedParameter. + + The list of records to convert to TVPs. + The sql parameter type name. + + + + Dummy type for excluding from multi-map + + + + + The grid reader provides interfaces for reading multiple result sets from a Dapper query + + + + + Read the next grid of results, returned as a dynamic object + + Note: each row can be accessed via "dynamic", or by casting to an IDictionary<string,object> + Whether to buffer the results. + + + + Read an individual row of the next grid of results, returned as a dynamic object + + Note: the row can be accessed via "dynamic", or by casting to an IDictionary<string,object> + + + + Read an individual row of the next grid of results, returned as a dynamic object + + Note: the row can be accessed via "dynamic", or by casting to an IDictionary<string,object> + + + + Read an individual row of the next grid of results, returned as a dynamic object + + Note: the row can be accessed via "dynamic", or by casting to an IDictionary<string,object> + + + + Read an individual row of the next grid of results, returned as a dynamic object + + Note: the row can be accessed via "dynamic", or by casting to an IDictionary<string,object> + + + + Read the next grid of results + + The type to read. + Whether to buffer the results. + is null. + + + + Read an individual row of the next grid of results + + The type to read. + is null. + + + + Read an individual row of the next grid of results. + + The type to read. + is null. + + + + Read an individual row of the next grid of results. + + The type to read. + is null. + + + + Read an individual row of the next grid of results. + + The type to read. + is null. + + + + Read the next grid of results. + + The type to read. + Whether the results should be buffered in memory. + + + + Read an individual row of the next grid of results. + + The type to read. + + + + Read an individual row of the next grid of results. + + The type to read. + + + + Read an individual row of the next grid of results. + + The type to read. + + + + Read an individual row of the next grid of results. + + The type to read. + + + + Read the next grid of results, returned as a dynamic object. + + Whether the results should be buffered in memory. + Note: each row can be accessed via "dynamic", or by casting to an IDictionary<string,object> + + + + Read an individual row of the next grid of results, returned as a dynamic object. + + Note: the row can be accessed via "dynamic", or by casting to an IDictionary<string,object> + + + + Read an individual row of the next grid of results, returned as a dynamic object. + + Note: the row can be accessed via "dynamic", or by casting to an IDictionary<string,object> + + + + Read an individual row of the next grid of results, returned as a dynamic object. + + Note: the row can be accessed via "dynamic", or by casting to an IDictionary<string,object> + + + + Read an individual row of the next grid of results, returned as a dynamic object. + + Note: the row can be accessed via "dynamic", or by casting to an IDictionary<string,object> + + + + Read the next grid of results. + + The type to read. + Whether the results should be buffered in memory. + + + + Read an individual row of the next grid of results. + + The type to read. + + + + Read an individual row of the next grid of results. + + The type to read. + + + + Read an individual row of the next grid of results. + + The type to read. + + + + Read an individual row of the next grid of results. + + The type to read. + + + + Read the next grid of results. + + The type to read. + Whether to buffer the results. + is null. + + + + Read an individual row of the next grid of results. + + The type to read. + is null. + + + + Read an individual row of the next grid of results. + + The type to read. + is null. + + + + Read an individual row of the next grid of results. + + The type to read. + is null. + + + + Read an individual row of the next grid of results. + + The type to read. + is null. + + + + Read multiple objects from a single record set on the grid. + + The first type in the record set. + The second type in the record set. + The type to return from the record set. + The mapping function from the read types to the return type. + The field(s) we should split and read the second object from (defaults to "id") + Whether to buffer results in memory. + + + + Read multiple objects from a single record set on the grid. + + The first type in the record set. + The second type in the record set. + The third type in the record set. + The type to return from the record set. + The mapping function from the read types to the return type. + The field(s) we should split and read the second object from (defaults to "id") + Whether to buffer results in memory. + + + + Read multiple objects from a single record set on the grid + + The first type in the record set. + The second type in the record set. + The third type in the record set. + The fourth type in the record set. + The type to return from the record set. + The mapping function from the read types to the return type. + The field(s) we should split and read the second object from (defaults to "id") + Whether to buffer results in memory. + + + + Read multiple objects from a single record set on the grid + + The first type in the record set. + The second type in the record set. + The third type in the record set. + The fourth type in the record set. + The fifth type in the record set. + The type to return from the record set. + The mapping function from the read types to the return type. + The field(s) we should split and read the second object from (defaults to "id") + Whether to buffer results in memory. + + + + Read multiple objects from a single record set on the grid + + The first type in the record set. + The second type in the record set. + The third type in the record set. + The fourth type in the record set. + The fifth type in the record set. + The sixth type in the record set. + The type to return from the record set. + The mapping function from the read types to the return type. + The field(s) we should split and read the second object from (defaults to "id") + Whether to buffer results in memory. + + + + Read multiple objects from a single record set on the grid + + The first type in the record set. + The second type in the record set. + The third type in the record set. + The fourth type in the record set. + The fifth type in the record set. + The sixth type in the record set. + The seventh type in the record set. + The type to return from the record set. + The mapping function from the read types to the return type. + The field(s) we should split and read the second object from (defaults to "id") + Whether to buffer results in memory. + + + + Read multiple objects from a single record set on the grid + + The type to return from the record set. + The types to read from the result set. + The mapping function from the read types to the return type. + The field(s) we should split and read the second object from (defaults to "id") + Whether to buffer results in memory. + + + + Has the underlying reader been consumed? + + + + + The command associated with the reader + + + + + Dispose the grid, closing and disposing both the underlying reader and command. + + + + + Implement this interface to pass an arbitrary db specific parameter to Dapper + + + + + Add the parameter needed to the command before it executes + + The raw command prior to execution + Parameter name + + + + Parses a data reader to a sequence of data of the supplied type. Used for deserializing a reader without a connection, etc. + + The type to parse from the . + The data reader to parse results from. + + + + Parses a data reader to a sequence of data of the supplied type (as object). Used for deserializing a reader without a connection, etc. + + The data reader to parse results from. + The type to parse from the . + + + + Parses a data reader to a sequence of dynamic. Used for deserializing a reader without a connection, etc. + + The data reader to parse results from. + + + + Gets the row parser for a specific row on a data reader. This allows for type switching every row based on, for example, a TypeId column. + You could return a collection of the base type but have each more specific. + + The data reader to get the parser for the current row from + The type to get the parser for + The start column index of the object (default 0) + The length of columns to read (default -1 = all fields following startIndex) + Return null if we can't find the first column? (default false) + A parser for this specific object from this row. + + + + Gets the row parser for a specific row on a data reader. This allows for type switching every row based on, for example, a TypeId column. + You could return a collection of the base type but have each more specific. + + The type of results to return. + The data reader to get the parser for the current row from. + The type to get the parser for. + The start column index of the object (default: 0). + The length of columns to read (default: -1 = all fields following startIndex). + Return null if we can't find the first column? (default: false). + A parser for this specific object from this row. + + var result = new List<BaseType>(); + using (var reader = connection.ExecuteReader(@" + select 'abc' as Name, 1 as Type, 3.0 as Value + union all + select 'def' as Name, 2 as Type, 4.0 as Value")) + { + if (reader.Read()) + { + var toFoo = reader.GetRowParser<BaseType>(typeof(Foo)); + var toBar = reader.GetRowParser<BaseType>(typeof(Bar)); + var col = reader.GetOrdinal("Type"); + do + { + switch (reader.GetInt32(col)) + { + case 1: + result.Add(toFoo(reader)); + break; + case 2: + result.Add(toBar(reader)); + break; + } + } while (reader.Read()); + } + } + + abstract class BaseType + { + public abstract int Type { get; } + } + class Foo : BaseType + { + public string Name { get; set; } + public override int Type => 1; + } + class Bar : BaseType + { + public float Value { get; set; } + public override int Type => 2; + } + + + + + Identity of a cached query in Dapper, used for extensibility. + + + + + Create an identity for use with DynamicParameters, internal use only. + + The parameters type to create an for. + + + + + Whether this equals another. + + The other to compare to. + + + + The raw SQL command. + + + + + The SQL command type. + + + + + The hash code of this Identity. + + + + + The grid index (position in the reader) of this Identity. + + + + + This of this Identity. + + + + + The connection string for this Identity. + + + + + The type of the parameters object for this Identity. + + + + + Gets the hash code for this identity. + + + + + + See object.ToString() + + + + + Compare 2 Identity objects + + The other object to compare. + Whether the two are equal + + + + Implement this interface to pass an arbitrary db specific set of parameters to Dapper + + + + + Add all the parameters needed to the command just before it executes + + The raw command prior to execution + Information about the query + + + + Implements this interface to provide custom member mapping + + + + + Source DataReader column name + + + + + Target member type + + + + + Target property + + + + + Target field + + + + + Target constructor parameter + + + + + Extends IDynamicParameters with facilities for executing callbacks after commands have completed + + + + + Invoked when the command has executed + + + + + Extends IDynamicParameters providing by-name lookup of parameter values + + + + + Get the value of the specified parameter (return null if not found) + + The name of the parameter to get. + + + + Implement this interface to perform custom type-based parameter handling and value parsing + + + + + Assign the value of a parameter before a command executes + + The parameter to configure + Parameter value + + + + Parse a database value back to a typed value + + The value from the database + The type to parse to + The typed value + + + + Implement this interface to change default mapping of reader columns to type members + + + + + Finds best constructor + + DataReader column names + DataReader column types + Matching constructor or default one + + + + Returns a constructor which should *always* be used. + + Parameters will be default values, nulls for reference types and zero'd for value types. + + Use this class to force object creation away from parameterless constructors you don't control. + + + + + Gets mapping for constructor parameter + + Constructor to resolve + DataReader column name + Mapping implementation + + + + Gets member mapping for column + + DataReader column name + Mapping implementation + + + + This is a micro-cache; suitable when the number of terms is controllable (a few hundred, for example), + and strictly append-only; you cannot change existing values. All key matches are on **REFERENCE** + equality. The type is fully thread-safe. + + The type to cache. + The value type of the cache. + + + + Represents a placeholder for a value that should be replaced as a literal value in the resulting sql + + + + + The text in the original command that should be replaced + + + + + The name of the member referred to by the token + + + + + Permits specifying certain SqlMapper values globally. + + + + + Gets or sets whether Dapper should use the CommandBehavior.SingleResult optimization + + Note that a consequence of enabling this option is that errors that happen after the first select may not be reported + + + + Gets or sets whether Dapper should use the CommandBehavior.SingleRow optimization + + Note that on some DB providers this optimization can have adverse performance impact + + + + Resets all Settings to their default values + + + + + Specifies the default Command Timeout for all Queries + + + + + Indicates whether nulls in data are silently ignored (default) vs actively applied and assigned to members + + + + + Should list expansions be padded with null-valued parameters, to prevent query-plan saturation? For example, + an 'in @foo' expansion with 7, 8 or 9 values will be sent as a list of 10 values, with 3, 2 or 1 of them null. + The padding size is relative to the size of the list; "next 10" under 150, "next 50" under 500, + "next 100" under 1500, etc. + + + Caution: this should be treated with care if your DB provider (or the specific configuration) allows for null + equality (aka "ansi nulls off"), as this may change the intent of your query; as such, this is disabled by + default and must be enabled. + + + + + If set (non-negative), when performing in-list expansions of integer types ("where id in @ids", etc), switch to a string_split based + operation if there are more than this many elements. Note that this feautre requires SQL Server 2016 / compatibility level 130 (or above). + + + + + Base-class for simple type-handlers + + This this handler is for. + + + + Assign the value of a parameter before a command executes + + The parameter to configure + Parameter value + + + + Parse a database value back to a typed value + + The value from the database + The typed value + + + + Base-class for simple type-handlers that are based around strings + + This this handler is for. + + + + Parse a string into the expected type (the string will never be null) + + The string to parse. + + + + Format an instace into a string (the instance will never be null) + + The string to format. + + + + Assign the value of a parameter before a command executes + + The parameter to configure + Parameter value + + + + Parse a database value back to a typed value + + The value from the database + The typed value + + + + Not intended for direct usage + + The type to have a cache for. + + + + Not intended for direct usage. + + The object to parse. + + + + Not intended for direct usage. + + The parameter to set a value for. + The value to set. + + + + A type handler for data-types that are supported by the underlying provider, but which need + a well-known UdtTypeName to be specified + + + + + Creates a new instance of UdtTypeHandler with the specified . + + The user defined type name. + + + + Used to pass a DataTable as a TableValuedParameter + + + + + Create a new instance of . + + The to create this parameter for + + + + Create a new instance of . + + The to create this parameter for. + The name of the type this parameter is for. + + + + Describes a reader that controls the lifetime of both a command and a reader, + exposing the downstream command/reader as properties. + + + + + Obtain the underlying reader + + + + + Obtain the underlying command + + + + diff --git a/packages/Microsoft.Bcl.AsyncInterfaces.1.1.0/.signature.p7s b/packages/Microsoft.Bcl.AsyncInterfaces.1.1.0/.signature.p7s new file mode 100644 index 0000000..a616ead Binary files /dev/null and b/packages/Microsoft.Bcl.AsyncInterfaces.1.1.0/.signature.p7s differ diff --git a/packages/Microsoft.Bcl.AsyncInterfaces.1.1.0/LICENSE.TXT b/packages/Microsoft.Bcl.AsyncInterfaces.1.1.0/LICENSE.TXT new file mode 100644 index 0000000..984713a --- /dev/null +++ b/packages/Microsoft.Bcl.AsyncInterfaces.1.1.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/packages/Microsoft.Bcl.AsyncInterfaces.1.1.0/Microsoft.Bcl.AsyncInterfaces.1.1.0.nupkg b/packages/Microsoft.Bcl.AsyncInterfaces.1.1.0/Microsoft.Bcl.AsyncInterfaces.1.1.0.nupkg new file mode 100644 index 0000000..95296e8 Binary files /dev/null and b/packages/Microsoft.Bcl.AsyncInterfaces.1.1.0/Microsoft.Bcl.AsyncInterfaces.1.1.0.nupkg differ diff --git a/packages/Microsoft.Bcl.AsyncInterfaces.1.1.0/THIRD-PARTY-NOTICES.TXT b/packages/Microsoft.Bcl.AsyncInterfaces.1.1.0/THIRD-PARTY-NOTICES.TXT new file mode 100644 index 0000000..77a243e --- /dev/null +++ b/packages/Microsoft.Bcl.AsyncInterfaces.1.1.0/THIRD-PARTY-NOTICES.TXT @@ -0,0 +1,375 @@ +.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 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 +------------------------------- + +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." + +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. diff --git a/packages/Microsoft.Bcl.AsyncInterfaces.1.1.0/lib/net461/Microsoft.Bcl.AsyncInterfaces.dll b/packages/Microsoft.Bcl.AsyncInterfaces.1.1.0/lib/net461/Microsoft.Bcl.AsyncInterfaces.dll new file mode 100644 index 0000000..0c99b0b Binary files /dev/null and b/packages/Microsoft.Bcl.AsyncInterfaces.1.1.0/lib/net461/Microsoft.Bcl.AsyncInterfaces.dll differ diff --git a/packages/Microsoft.Bcl.AsyncInterfaces.1.1.0/lib/net461/Microsoft.Bcl.AsyncInterfaces.xml b/packages/Microsoft.Bcl.AsyncInterfaces.1.1.0/lib/net461/Microsoft.Bcl.AsyncInterfaces.xml new file mode 100644 index 0000000..cb1744f --- /dev/null +++ b/packages/Microsoft.Bcl.AsyncInterfaces.1.1.0/lib/net461/Microsoft.Bcl.AsyncInterfaces.xml @@ -0,0 +1,223 @@ + + + + Microsoft.Bcl.AsyncInterfaces + + + + Provides the core logic for implementing a manual-reset or . + + + + + The callback to invoke when the operation completes if was called before the operation completed, + or if the operation completed before a callback was supplied, + or null if a callback hasn't yet been provided and the operation hasn't yet completed. + + + + State to pass to . + + + to flow to the callback, or null if no flowing is required. + + + + A "captured" or with which to invoke the callback, + or null if no special context is required. + + + + Whether the current operation has completed. + + + The result with which the operation succeeded, or the default value if it hasn't yet completed or failed. + + + The exception with which the operation failed, or null if it hasn't yet completed or completed successfully. + + + The current version of this value, used to help prevent misuse. + + + Gets or sets whether to force continuations to run asynchronously. + Continuations may run asynchronously if this is false, but they'll never run synchronously if this is true. + + + Resets to prepare for the next operation. + + + Completes with a successful result. + The result. + + + Complets with an error. + + + + Gets the operation version. + + + Gets the status of the operation. + Opaque value that was provided to the 's constructor. + + + Gets the result of the operation. + Opaque value that was provided to the 's constructor. + + + Schedules the continuation action for this operation. + The continuation to invoke when the operation has completed. + The state object to pass to when it's invoked. + Opaque value that was provided to the 's constructor. + The flags describing the behavior of the continuation. + + + Ensures that the specified token matches the current version. + The token supplied by . + + + Signals that the operation has completed. Invoked after the result or error has been set. + + + + Invokes the continuation with the appropriate captured context / scheduler. + This assumes that if is not null we're already + running within that . + + + + Provides a set of static methods for configuring -related behaviors on asynchronous enumerables and disposables. + + + Configures how awaits on the tasks returned from an async disposable will be performed. + The source async disposable. + Whether to capture and marshal back to the current context. + The configured async disposable. + + + Configures how awaits on the tasks returned from an async iteration will be performed. + The type of the objects being iterated. + The source enumerable being iterated. + Whether to capture and marshal back to the current context. + The configured enumerable. + + + Sets the to be passed to when iterating. + The type of the objects being iterated. + The source enumerable being iterated. + The to use. + The configured enumerable. + + + Represents a builder for asynchronous iterators. + + + Creates an instance of the struct. + The initialized instance. + + + Invokes on the state machine while guarding the . + The type of the state machine. + The state machine instance, passed by reference. + + + Schedules the state machine to proceed to the next action when the specified awaiter completes. + The type of the awaiter. + The type of the state machine. + The awaiter. + The state machine. + + + Schedules the state machine to proceed to the next action when the specified awaiter completes. + The type of the awaiter. + The type of the state machine. + The awaiter. + The state machine. + + + Marks iteration as being completed, whether successfully or otherwise. + + + Gets an object that may be used to uniquely identify this builder to the debugger. + + + Indicates whether a method is an asynchronous iterator. + + + Initializes a new instance of the class. + The type object for the underlying state machine type that's used to implement a state machine method. + + + Provides a type that can be used to configure how awaits on an are performed. + + + Provides an awaitable async enumerable that enables cancelable iteration and configured awaits. + + + Configures how awaits on the tasks returned from an async iteration will be performed. + Whether to capture and marshal back to the current context. + The configured enumerable. + This will replace any previous value set by for this iteration. + + + Sets the to be passed to when iterating. + The to use. + The configured enumerable. + This will replace any previous set by for this iteration. + + + Provides an awaitable async enumerator that enables cancelable iteration and configured awaits. + + + Advances the enumerator asynchronously to the next element of the collection. + + A that will complete with a result of true + if the enumerator was successfully advanced to the next element, or false if the enumerator has + passed the end of the collection. + + + + Gets the element in the collection at the current position of the enumerator. + + + + Performs application-defined tasks associated with freeing, releasing, or + resetting unmanaged resources asynchronously. + + + + Exposes an enumerator that provides asynchronous iteration over values of a specified type. + The type of values to enumerate. + + + Returns an enumerator that iterates asynchronously through the collection. + A that may be used to cancel the asynchronous iteration. + An enumerator that can be used to iterate asynchronously through the collection. + + + Supports a simple asynchronous iteration over a generic collection. + The type of objects to enumerate. + + + Advances the enumerator asynchronously to the next element of the collection. + + A that will complete with a result of true if the enumerator + was successfully advanced to the next element, or false if the enumerator has passed the end + of the collection. + + + + Gets the element in the collection at the current position of the enumerator. + + + Provides a mechanism for releasing unmanaged resources asynchronously. + + + + Performs application-defined tasks associated with freeing, releasing, or + resetting unmanaged resources asynchronously. + + + + diff --git a/packages/Microsoft.Bcl.AsyncInterfaces.1.1.0/lib/netstandard2.0/Microsoft.Bcl.AsyncInterfaces.dll b/packages/Microsoft.Bcl.AsyncInterfaces.1.1.0/lib/netstandard2.0/Microsoft.Bcl.AsyncInterfaces.dll new file mode 100644 index 0000000..73223c8 Binary files /dev/null and b/packages/Microsoft.Bcl.AsyncInterfaces.1.1.0/lib/netstandard2.0/Microsoft.Bcl.AsyncInterfaces.dll differ diff --git a/packages/Microsoft.Bcl.AsyncInterfaces.1.1.0/lib/netstandard2.0/Microsoft.Bcl.AsyncInterfaces.xml b/packages/Microsoft.Bcl.AsyncInterfaces.1.1.0/lib/netstandard2.0/Microsoft.Bcl.AsyncInterfaces.xml new file mode 100644 index 0000000..cb1744f --- /dev/null +++ b/packages/Microsoft.Bcl.AsyncInterfaces.1.1.0/lib/netstandard2.0/Microsoft.Bcl.AsyncInterfaces.xml @@ -0,0 +1,223 @@ + + + + Microsoft.Bcl.AsyncInterfaces + + + + Provides the core logic for implementing a manual-reset or . + + + + + The callback to invoke when the operation completes if was called before the operation completed, + or if the operation completed before a callback was supplied, + or null if a callback hasn't yet been provided and the operation hasn't yet completed. + + + + State to pass to . + + + to flow to the callback, or null if no flowing is required. + + + + A "captured" or with which to invoke the callback, + or null if no special context is required. + + + + Whether the current operation has completed. + + + The result with which the operation succeeded, or the default value if it hasn't yet completed or failed. + + + The exception with which the operation failed, or null if it hasn't yet completed or completed successfully. + + + The current version of this value, used to help prevent misuse. + + + Gets or sets whether to force continuations to run asynchronously. + Continuations may run asynchronously if this is false, but they'll never run synchronously if this is true. + + + Resets to prepare for the next operation. + + + Completes with a successful result. + The result. + + + Complets with an error. + + + + Gets the operation version. + + + Gets the status of the operation. + Opaque value that was provided to the 's constructor. + + + Gets the result of the operation. + Opaque value that was provided to the 's constructor. + + + Schedules the continuation action for this operation. + The continuation to invoke when the operation has completed. + The state object to pass to when it's invoked. + Opaque value that was provided to the 's constructor. + The flags describing the behavior of the continuation. + + + Ensures that the specified token matches the current version. + The token supplied by . + + + Signals that the operation has completed. Invoked after the result or error has been set. + + + + Invokes the continuation with the appropriate captured context / scheduler. + This assumes that if is not null we're already + running within that . + + + + Provides a set of static methods for configuring -related behaviors on asynchronous enumerables and disposables. + + + Configures how awaits on the tasks returned from an async disposable will be performed. + The source async disposable. + Whether to capture and marshal back to the current context. + The configured async disposable. + + + Configures how awaits on the tasks returned from an async iteration will be performed. + The type of the objects being iterated. + The source enumerable being iterated. + Whether to capture and marshal back to the current context. + The configured enumerable. + + + Sets the to be passed to when iterating. + The type of the objects being iterated. + The source enumerable being iterated. + The to use. + The configured enumerable. + + + Represents a builder for asynchronous iterators. + + + Creates an instance of the struct. + The initialized instance. + + + Invokes on the state machine while guarding the . + The type of the state machine. + The state machine instance, passed by reference. + + + Schedules the state machine to proceed to the next action when the specified awaiter completes. + The type of the awaiter. + The type of the state machine. + The awaiter. + The state machine. + + + Schedules the state machine to proceed to the next action when the specified awaiter completes. + The type of the awaiter. + The type of the state machine. + The awaiter. + The state machine. + + + Marks iteration as being completed, whether successfully or otherwise. + + + Gets an object that may be used to uniquely identify this builder to the debugger. + + + Indicates whether a method is an asynchronous iterator. + + + Initializes a new instance of the class. + The type object for the underlying state machine type that's used to implement a state machine method. + + + Provides a type that can be used to configure how awaits on an are performed. + + + Provides an awaitable async enumerable that enables cancelable iteration and configured awaits. + + + Configures how awaits on the tasks returned from an async iteration will be performed. + Whether to capture and marshal back to the current context. + The configured enumerable. + This will replace any previous value set by for this iteration. + + + Sets the to be passed to when iterating. + The to use. + The configured enumerable. + This will replace any previous set by for this iteration. + + + Provides an awaitable async enumerator that enables cancelable iteration and configured awaits. + + + Advances the enumerator asynchronously to the next element of the collection. + + A that will complete with a result of true + if the enumerator was successfully advanced to the next element, or false if the enumerator has + passed the end of the collection. + + + + Gets the element in the collection at the current position of the enumerator. + + + + Performs application-defined tasks associated with freeing, releasing, or + resetting unmanaged resources asynchronously. + + + + Exposes an enumerator that provides asynchronous iteration over values of a specified type. + The type of values to enumerate. + + + Returns an enumerator that iterates asynchronously through the collection. + A that may be used to cancel the asynchronous iteration. + An enumerator that can be used to iterate asynchronously through the collection. + + + Supports a simple asynchronous iteration over a generic collection. + The type of objects to enumerate. + + + Advances the enumerator asynchronously to the next element of the collection. + + A that will complete with a result of true if the enumerator + was successfully advanced to the next element, or false if the enumerator has passed the end + of the collection. + + + + Gets the element in the collection at the current position of the enumerator. + + + Provides a mechanism for releasing unmanaged resources asynchronously. + + + + Performs application-defined tasks associated with freeing, releasing, or + resetting unmanaged resources asynchronously. + + + + diff --git a/packages/Microsoft.Bcl.AsyncInterfaces.1.1.0/lib/netstandard2.1/Microsoft.Bcl.AsyncInterfaces.dll b/packages/Microsoft.Bcl.AsyncInterfaces.1.1.0/lib/netstandard2.1/Microsoft.Bcl.AsyncInterfaces.dll new file mode 100644 index 0000000..c695bdd Binary files /dev/null and b/packages/Microsoft.Bcl.AsyncInterfaces.1.1.0/lib/netstandard2.1/Microsoft.Bcl.AsyncInterfaces.dll differ diff --git a/packages/Microsoft.Bcl.AsyncInterfaces.1.1.0/lib/netstandard2.1/Microsoft.Bcl.AsyncInterfaces.xml b/packages/Microsoft.Bcl.AsyncInterfaces.1.1.0/lib/netstandard2.1/Microsoft.Bcl.AsyncInterfaces.xml new file mode 100644 index 0000000..5fd48a2 --- /dev/null +++ b/packages/Microsoft.Bcl.AsyncInterfaces.1.1.0/lib/netstandard2.1/Microsoft.Bcl.AsyncInterfaces.xml @@ -0,0 +1,8 @@ + + + + Microsoft.Bcl.AsyncInterfaces + + + + diff --git a/packages/Microsoft.Bcl.AsyncInterfaces.1.1.0/ref/net461/Microsoft.Bcl.AsyncInterfaces.dll b/packages/Microsoft.Bcl.AsyncInterfaces.1.1.0/ref/net461/Microsoft.Bcl.AsyncInterfaces.dll new file mode 100644 index 0000000..d515030 Binary files /dev/null and b/packages/Microsoft.Bcl.AsyncInterfaces.1.1.0/ref/net461/Microsoft.Bcl.AsyncInterfaces.dll differ diff --git a/packages/Microsoft.Bcl.AsyncInterfaces.1.1.0/ref/netstandard2.0/Microsoft.Bcl.AsyncInterfaces.dll b/packages/Microsoft.Bcl.AsyncInterfaces.1.1.0/ref/netstandard2.0/Microsoft.Bcl.AsyncInterfaces.dll new file mode 100644 index 0000000..8989cc5 Binary files /dev/null and b/packages/Microsoft.Bcl.AsyncInterfaces.1.1.0/ref/netstandard2.0/Microsoft.Bcl.AsyncInterfaces.dll differ diff --git a/packages/Microsoft.Bcl.AsyncInterfaces.1.1.0/ref/netstandard2.1/Microsoft.Bcl.AsyncInterfaces.dll b/packages/Microsoft.Bcl.AsyncInterfaces.1.1.0/ref/netstandard2.1/Microsoft.Bcl.AsyncInterfaces.dll new file mode 100644 index 0000000..dacd99d Binary files /dev/null and b/packages/Microsoft.Bcl.AsyncInterfaces.1.1.0/ref/netstandard2.1/Microsoft.Bcl.AsyncInterfaces.dll differ diff --git a/packages/Microsoft.Bcl.AsyncInterfaces.1.1.0/useSharedDesignerContext.txt b/packages/Microsoft.Bcl.AsyncInterfaces.1.1.0/useSharedDesignerContext.txt new file mode 100644 index 0000000..e69de29 diff --git a/packages/Microsoft.Bcl.AsyncInterfaces.1.1.0/version.txt b/packages/Microsoft.Bcl.AsyncInterfaces.1.1.0/version.txt new file mode 100644 index 0000000..f5d54e7 --- /dev/null +++ b/packages/Microsoft.Bcl.AsyncInterfaces.1.1.0/version.txt @@ -0,0 +1 @@ +0f7f38c4fd323b26da10cce95f857f77f0f09b48 diff --git a/packages/Microsoft.CSharp.4.5.0/.signature.p7s b/packages/Microsoft.CSharp.4.5.0/.signature.p7s new file mode 100644 index 0000000..e79f5ea Binary files /dev/null and b/packages/Microsoft.CSharp.4.5.0/.signature.p7s differ diff --git a/packages/Microsoft.CSharp.4.5.0/LICENSE.TXT b/packages/Microsoft.CSharp.4.5.0/LICENSE.TXT new file mode 100644 index 0000000..984713a --- /dev/null +++ b/packages/Microsoft.CSharp.4.5.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/packages/Microsoft.CSharp.4.5.0/Microsoft.CSharp.4.5.0.nupkg b/packages/Microsoft.CSharp.4.5.0/Microsoft.CSharp.4.5.0.nupkg new file mode 100644 index 0000000..2eed971 Binary files /dev/null and b/packages/Microsoft.CSharp.4.5.0/Microsoft.CSharp.4.5.0.nupkg differ diff --git a/packages/Microsoft.CSharp.4.5.0/THIRD-PARTY-NOTICES.TXT b/packages/Microsoft.CSharp.4.5.0/THIRD-PARTY-NOTICES.TXT new file mode 100644 index 0000000..db542ca --- /dev/null +++ b/packages/Microsoft.CSharp.4.5.0/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/packages/Microsoft.CSharp.4.5.0/lib/MonoAndroid10/_._ b/packages/Microsoft.CSharp.4.5.0/lib/MonoAndroid10/_._ new file mode 100644 index 0000000..e69de29 diff --git a/packages/Microsoft.CSharp.4.5.0/lib/MonoTouch10/_._ b/packages/Microsoft.CSharp.4.5.0/lib/MonoTouch10/_._ new file mode 100644 index 0000000..e69de29 diff --git a/packages/Microsoft.CSharp.4.5.0/lib/net45/_._ b/packages/Microsoft.CSharp.4.5.0/lib/net45/_._ new file mode 100644 index 0000000..e69de29 diff --git a/packages/Microsoft.CSharp.4.5.0/lib/netcore50/Microsoft.CSharp.dll b/packages/Microsoft.CSharp.4.5.0/lib/netcore50/Microsoft.CSharp.dll new file mode 100644 index 0000000..bb2848a Binary files /dev/null and b/packages/Microsoft.CSharp.4.5.0/lib/netcore50/Microsoft.CSharp.dll differ diff --git a/packages/Microsoft.CSharp.4.5.0/lib/netcoreapp2.0/_._ b/packages/Microsoft.CSharp.4.5.0/lib/netcoreapp2.0/_._ new file mode 100644 index 0000000..e69de29 diff --git a/packages/Microsoft.CSharp.4.5.0/lib/netstandard1.3/Microsoft.CSharp.dll b/packages/Microsoft.CSharp.4.5.0/lib/netstandard1.3/Microsoft.CSharp.dll new file mode 100644 index 0000000..bb2848a Binary files /dev/null and b/packages/Microsoft.CSharp.4.5.0/lib/netstandard1.3/Microsoft.CSharp.dll differ diff --git a/packages/Microsoft.CSharp.4.5.0/lib/netstandard2.0/Microsoft.CSharp.dll b/packages/Microsoft.CSharp.4.5.0/lib/netstandard2.0/Microsoft.CSharp.dll new file mode 100644 index 0000000..dc53c7c Binary files /dev/null and b/packages/Microsoft.CSharp.4.5.0/lib/netstandard2.0/Microsoft.CSharp.dll differ diff --git a/packages/Microsoft.CSharp.4.5.0/lib/portable-net45+win8+wp8+wpa81/_._ b/packages/Microsoft.CSharp.4.5.0/lib/portable-net45+win8+wp8+wpa81/_._ new file mode 100644 index 0000000..e69de29 diff --git a/packages/Microsoft.CSharp.4.5.0/lib/uap10.0.16299/_._ b/packages/Microsoft.CSharp.4.5.0/lib/uap10.0.16299/_._ new file mode 100644 index 0000000..e69de29 diff --git a/packages/Microsoft.CSharp.4.5.0/lib/win8/_._ b/packages/Microsoft.CSharp.4.5.0/lib/win8/_._ new file mode 100644 index 0000000..e69de29 diff --git a/packages/Microsoft.CSharp.4.5.0/lib/wp80/_._ b/packages/Microsoft.CSharp.4.5.0/lib/wp80/_._ new file mode 100644 index 0000000..e69de29 diff --git a/packages/Microsoft.CSharp.4.5.0/lib/wpa81/_._ b/packages/Microsoft.CSharp.4.5.0/lib/wpa81/_._ new file mode 100644 index 0000000..e69de29 diff --git a/packages/Microsoft.CSharp.4.5.0/lib/xamarinios10/_._ b/packages/Microsoft.CSharp.4.5.0/lib/xamarinios10/_._ new file mode 100644 index 0000000..e69de29 diff --git a/packages/Microsoft.CSharp.4.5.0/lib/xamarinmac20/_._ b/packages/Microsoft.CSharp.4.5.0/lib/xamarinmac20/_._ new file mode 100644 index 0000000..e69de29 diff --git a/packages/Microsoft.CSharp.4.5.0/lib/xamarintvos10/_._ b/packages/Microsoft.CSharp.4.5.0/lib/xamarintvos10/_._ new file mode 100644 index 0000000..e69de29 diff --git a/packages/Microsoft.CSharp.4.5.0/lib/xamarinwatchos10/_._ b/packages/Microsoft.CSharp.4.5.0/lib/xamarinwatchos10/_._ new file mode 100644 index 0000000..e69de29 diff --git a/packages/Microsoft.CSharp.4.5.0/ref/MonoAndroid10/_._ b/packages/Microsoft.CSharp.4.5.0/ref/MonoAndroid10/_._ new file mode 100644 index 0000000..e69de29 diff --git a/packages/Microsoft.CSharp.4.5.0/ref/MonoTouch10/_._ b/packages/Microsoft.CSharp.4.5.0/ref/MonoTouch10/_._ new file mode 100644 index 0000000..e69de29 diff --git a/packages/Microsoft.CSharp.4.5.0/ref/net45/_._ b/packages/Microsoft.CSharp.4.5.0/ref/net45/_._ new file mode 100644 index 0000000..e69de29 diff --git a/packages/Microsoft.CSharp.4.5.0/ref/netcore50/Microsoft.CSharp.dll b/packages/Microsoft.CSharp.4.5.0/ref/netcore50/Microsoft.CSharp.dll new file mode 100644 index 0000000..3e2c049 Binary files /dev/null and b/packages/Microsoft.CSharp.4.5.0/ref/netcore50/Microsoft.CSharp.dll differ diff --git a/packages/Microsoft.CSharp.4.5.0/ref/netcore50/Microsoft.CSharp.xml b/packages/Microsoft.CSharp.4.5.0/ref/netcore50/Microsoft.CSharp.xml new file mode 100644 index 0000000..24b5eba --- /dev/null +++ b/packages/Microsoft.CSharp.4.5.0/ref/netcore50/Microsoft.CSharp.xml @@ -0,0 +1,190 @@ + + + + Microsoft.CSharp + + + + Contains factory methods to create dynamic call site binders for CSharp. + + + Initializes a new CSharp binary operation binder. + Returns a new CSharp binary operation binder. + The flags with which to initialize the binder. + The binary operation kind. + The that indicates where this operation is used. + The sequence of instances for the arguments to this operation. + + + Initializes a new CSharp convert binder. + Returns a new CSharp convert binder. + The flags with which to initialize the binder. + The type to convert to. + The that indicates where this operation is used. + + + Initializes a new CSharp get index binder. + Returns a new CSharp get index binder. + The flags with which to initialize the binder. + The that indicates where this operation is used. + The sequence of instances for the arguments to this operation. + + + Initializes a new CSharp get member binder. + Returns a new CSharp get member binder. + The flags with which to initialize the binder. + The name of the member to get. + The that indicates where this operation is used. + The sequence of instances for the arguments to this operation. + + + Initializes a new CSharp invoke binder. + Returns a new CSharp invoke binder. + The flags with which to initialize the binder. + The that indicates where this operation is used. + The sequence of instances for the arguments to this operation. + + + Initializes a new CSharp invoke constructor binder. + Returns a new CSharp invoke constructor binder. + The flags with which to initialize the binder. + The that indicates where this operation is used. + The sequence of instances for the arguments to this operation. + + + Initializes a new CSharp invoke member binder. + Returns a new CSharp invoke member binder. + The flags with which to initialize the binder. + The name of the member to invoke. + The list of type arguments specified for this invoke. + The that indicates where this operation is used. + The sequence of instances for the arguments to this operation. + + + Initializes a new CSharp is event binder. + Returns a new CSharp is event binder. + The flags with which to initialize the binder. + The name of the event to look for. + The that indicates where this operation is used. + + + Initializes a new CSharp set index binder. + Returns a new CSharp set index binder. + The flags with which to initialize the binder. + The that indicates where this operation is used. + The sequence of instances for the arguments to this operation. + + + Initializes a new CSharp set member binder. + Returns a new CSharp set member binder. + The flags with which to initialize the binder. + The name of the member to set. + The that indicates where this operation is used. + The sequence of instances for the arguments to this operation. + + + Initializes a new CSharp unary operation binder. + Returns a new CSharp unary operation binder. + The flags with which to initialize the binder. + The unary operation kind. + The that indicates where this operation is used. + The sequence of instances for the arguments to this operation. + + + Represents information about C# dynamic operations that are specific to particular arguments at a call site. Instances of this class are generated by the C# compiler. + + + Initializes a new instance of the class. + A new instance of the class. + The flags for the argument. + The name of the argument, if named; otherwise null. + + + Represents information about C# dynamic operations that are specific to particular arguments at a call site. Instances of this class are generated by the C# compiler. + + + The argument is a constant. + + + The argument is passed to an out parameter. + + + The argument is passed to a ref parameter. + + + The argument is a indicating an actual type name used in source. Used only for target objects in static calls. + + + The argument is a named argument. + + + No additional information to represent. + + + The argument's compile-time type should be considered during binding. + + + Represents information about C# dynamic operations that are not specific to particular arguments at a call site. Instances of this class are generated by the C# compiler. + + + The binder represents a logical AND or logical OR that is part of a conditional logical operator evaluation. + + + The evaluation of this binder happens in a checked context. + + + The binder represents an implicit conversion for use in an array creation expression. + + + The binder represents an explicit conversion. + + + The binder represents an invoke on a simple name. + + + The binder represents an invoke on a specialname. + + + There is no additional information required for this binder. + + + The binder is used in a position that does not require a result, and can therefore bind to a void returning method. + + + The result of any bind is going to be indexed get a set index or get index binder. + + + The value in this set index or set member comes a compound assignment operator. + + + Represents an error that occurs when a dynamic bind in the C# runtime binder is processed. + + + Initializes a new instance of the class. + + + Initializes a new instance of the class that has a specified error message. + The message that describes the exception. The caller of this constructor is required to ensure that this string has been localized for the current system culture. + + + Initializes a new instance of the class that has a specified error message and a reference to the inner exception that is the cause of this exception. + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference if no inner exception is specified. + + + Represents an error that occurs when a dynamic bind in the C# runtime binder is processed. + + + Initializes a new instance of the class with a system-supplied message that describes the error. + + + Initializes a new instance of the class with a specified message that describes the error. + The message that describes the exception. The caller of this constructor is required to ensure that this string has been localized for the current system culture. + + + Initializes a new instance of the class that has a specified error message and a reference to the inner exception that is the cause of this exception. + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference if no inner exception is specified. + + + \ No newline at end of file diff --git a/packages/Microsoft.CSharp.4.5.0/ref/netcore50/de/Microsoft.CSharp.xml b/packages/Microsoft.CSharp.4.5.0/ref/netcore50/de/Microsoft.CSharp.xml new file mode 100644 index 0000000..5e90c8c --- /dev/null +++ b/packages/Microsoft.CSharp.4.5.0/ref/netcore50/de/Microsoft.CSharp.xml @@ -0,0 +1,190 @@ + + + + Microsoft.CSharp + + + + Enthält Factorymethoden zum Erstellen dynamischer Aufrufsitebinder für CSharp. + + + Initialisiert einen neuen Binder für binäre CSharp-Vorgänge. + Gibt einen neuen Binder für binäre CSharp-Vorgänge zurück. + Die Flags, mit denen der Binder initialisiert werden soll. + Die Art des binären Vorgangs. + Der , der angibt, an welcher Position dieser Vorgang verwendet wird. + Die Sequenz von -Instanzen für die Argumente dieses Vorgangs. + + + Initialisiert einen neuen CSharp-Konvertierungsbinder. + Gibt einen neuen CSharp-Konvertierungsbinder zurück. + Die Flags, mit denen der Binder initialisiert werden soll. + Der Typ, in den konvertiert werden soll. + Der , der angibt, an welcher Position dieser Vorgang verwendet wird. + + + Initialisiert einen neuen Binder zum Abrufen von CSharp-Indizes. + Gibt einen neuen Binder zum Abrufen von CSharp-Indizes zurück. + Die Flags, mit denen der Binder initialisiert werden soll. + Der , der angibt, an welcher Position dieser Vorgang verwendet wird. + Die Sequenz von -Instanzen für die Argumente dieses Vorgangs. + + + Initialisiert einen neuen Binder zum Abrufen von CSharp-Membern. + Gibt einen neuen Binder zum Abrufen von CSharp-Membern zurück. + Die Flags, mit denen der Binder initialisiert werden soll. + Der Name des abzurufenden Members. + Der , der angibt, an welcher Position dieser Vorgang verwendet wird. + Die Sequenz von -Instanzen für die Argumente dieses Vorgangs. + + + Initialisiert einen neuen CSharp-Aufrufbinder. + Gibt einen neuen CSharp-Aufrufbinder zurück. + Die Flags, mit denen der Binder initialisiert werden soll. + Der , der angibt, an welcher Position dieser Vorgang verwendet wird. + Die Sequenz von -Instanzen für die Argumente dieses Vorgangs. + + + Initialisiert einen neuen CSharp-Aufrufkonstruktorbinder. + Gibt einen neuen CSharp-Aufrufkonstruktorbinder zurück. + Die Flags, mit denen der Binder initialisiert werden soll. + Der , der angibt, an welcher Position dieser Vorgang verwendet wird. + Die Sequenz von -Instanzen für die Argumente dieses Vorgangs. + + + Initialisiert einen neuen CSharp-Aufrufmemberbinder. + Gibt einen neuen CSharp-Aufrufmemberbinder zurück. + Die Flags, mit denen der Binder initialisiert werden soll. + Der Name des aufzurufenden Members. + Die Liste der für diesen Aufruf angegebenen Typargumente. + Der , der angibt, an welcher Position dieser Vorgang verwendet wird. + Die Sequenz von -Instanzen für die Argumente dieses Vorgangs. + + + Initialisiert einen neuen CSharp-ist-Ereignis-Binder. + Gibt einen neuen CSharp-ist-Ereignis-Binder zurück. + Die Flags, mit denen der Binder initialisiert werden soll. + Der Name des zu suchenden Ereignisses. + Der , der angibt, an welcher Position dieser Vorgang verwendet wird. + + + Initialisiert einen neuen Binder zum Festlegen von CSharp-Indizes. + Gibt einen neuen Binder zum Festlegen von CSharp-Indizes zurück. + Die Flags, mit denen der Binder initialisiert werden soll. + Der , der angibt, an welcher Position dieser Vorgang verwendet wird. + Die Sequenz von -Instanzen für die Argumente dieses Vorgangs. + + + Initialisiert einen neuen Binder zum Festlegen von CSharp-Membern. + Gibt einen neuen Binder zum Festlegen von CSharp-Membern zurück. + Die Flags, mit denen der Binder initialisiert werden soll. + Der Name des festzulegenden Members. + Der , der angibt, an welcher Position dieser Vorgang verwendet wird. + Die Sequenz von -Instanzen für die Argumente dieses Vorgangs. + + + Initialisiert einen neuen Binder für unäre CSharp-Vorgänge. + Gibt einen neuen Binder für unäre CSharp-Vorgänge zurück. + Die Flags, mit denen der Binder initialisiert werden soll. + Die Art des unären Vorgangs. + Der , der angibt, an welcher Position dieser Vorgang verwendet wird. + Die Sequenz von -Instanzen für die Argumente dieses Vorgangs. + + + Stellt Informationen zu dynamischen C#-Vorgängen dar, die für bestimmte Argumente auf einer Aufrufsite spezifisch sind.Instanzen dieser Klasse werden vom C#-Compiler generiert. + + + Initialisiert eine neue Instanz der -Klasse. + Eine neue Instanz der -Klasse. + Die Flags für das Argument. + Der Name des Arguments, wenn es sich um ein benanntes Argument handelt, andernfalls NULL. + + + Stellt Informationen zu dynamischen C#-Vorgängen dar, die für bestimmte Argumente auf einer Aufrufsite spezifisch sind.Instanzen dieser Klasse werden vom C#-Compiler generiert. + + + Das Argument ist eine Konstante. + + + Das Argument wird an einen Out-Parameter übergeben. + + + Das Argument wird an einen Ref-Parameter übergeben. + + + Das Argument ist ein , der einen tatsächlichen, in der Quelle verwendeten Typnamen angibt.Wird nur für Zielobjekte in statischen Aufrufen verwendet. + + + Das Argument ist ein benanntes Argument. + + + Es sind keine weitere Informationen vorhanden, die dargestellt werden können. + + + Während der Bindung muss der Kompilierzeittyp des Arguments berücksichtigt werden. + + + Stellt Informationen zu dynamischen C#-Vorgängen dar, die nicht spezifisch für bestimmte Argumente auf einer Aufrufsite sind.Instanzen dieser Klasse werden vom C#-Compiler generiert. + + + Der Binder stellt ein logisches AND oder logisches OR dar, das Teil einer bedingten logischen Operatorauswertung ist. + + + Die Auswertung für diesen Binder erfolgt in einem überprüften Kontext. + + + Der Binder stellt eine implizite Konvertierung für die Verwendung in einem Arrayerstellungsausdruck dar. + + + Der Binder stellt eine explizite Konvertierung dar. + + + Der Binder stellt einen Aufruf für einen einfachen Namen dar. + + + Der Binder stellt einen Aufruf für einen besonderen Namen dar. + + + Für diesen Binder sind keine zusätzlichen Informationen erforderlich. + + + Der Binder wird an einer Position verwendet, an der kein Ergebnis erforderlich ist, und kann daher an eine leere Rückgabemethode binden. + + + Das Ergebnis einer Bindung wird indiziert, es wird ein Binder zum Festlegen oder Abrufen von Indizes abgerufen. + + + Der Wert in diesem festgelegten Index oder festgelegten Member ist ein Verbundzuweisungsoperator. + + + Stellt einen Fehler dar, der auftritt, wenn eine dynamische Bindung im C#-Laufzeitbinder verarbeitet wird. + + + Initialisiert eine neue Instanz der -Klasse. + + + Initialisiert eine neue Instanz der -Klasse, die über eine angegebene Fehlermeldung verfügt. + Die Meldung, in der die Ausnahme beschrieben wirdDer Aufrufer dieses Konstruktors muss sicherstellen, dass diese Zeichenfolge für die aktuelle Systemkultur lokalisiert wurde. + + + Initialisiert eine neue Instanz der -Klasse mit einer angegebenen Fehlermeldung und einem Verweis auf die innere Ausnahme, die diese Ausnahme ausgelöst hat. + Die Fehlermeldung, in der die Ursache der Ausnahme erklärt wird. + Die Ausnahme, die die aktuelle Ausnahme ausgelöst hat, oder ein NULL-Verweis, wenn keine innere Ausnahme angegeben ist. + + + Stellt einen Fehler dar, der auftritt, wenn eine dynamische Bindung im C#-Laufzeitbinder verarbeitet wird. + + + Initialisiert eine neue Instanz der -Klasse mit einer vom System bereitgestellten Meldung, die den Fehler beschreibt. + + + Initialisiert eine neue Instanz der -Klasse mit einer angegebenen Meldung, die den Fehler beschreibt. + Die Meldung, in der die Ausnahme beschrieben wirdDer Aufrufer dieses Konstruktors muss sicherstellen, dass diese Zeichenfolge für die aktuelle Systemkultur lokalisiert wurde. + + + Initialisiert eine neue Instanz der -Klasse mit einer angegebenen Fehlermeldung und einem Verweis auf die innere Ausnahme, die diese Ausnahme ausgelöst hat. + Die Fehlermeldung, in der die Ursache der Ausnahme erklärt wird. + Die Ausnahme, die die aktuelle Ausnahme ausgelöst hat, oder ein NULL-Verweis, wenn keine innere Ausnahme angegeben ist. + + + \ No newline at end of file diff --git a/packages/Microsoft.CSharp.4.5.0/ref/netcore50/es/Microsoft.CSharp.xml b/packages/Microsoft.CSharp.4.5.0/ref/netcore50/es/Microsoft.CSharp.xml new file mode 100644 index 0000000..dc76977 --- /dev/null +++ b/packages/Microsoft.CSharp.4.5.0/ref/netcore50/es/Microsoft.CSharp.xml @@ -0,0 +1,190 @@ + + + + Microsoft.CSharp + + + + Contiene métodos de generador que permiten crear enlazadores de sitios de llamada dinámicos para CSharp. + + + Inicializa un nuevo enlazador de operaciones binarias de CSharp. + Devuelve un nuevo enlazador de operaciones binarias de CSharp. + Marcas con las que se va a inicializar el enlazador. + Tipo de operación binaria. + Objeto que indica dónde se usa esta operación. + Secuencia de instancias de para los argumentos de esta operación. + + + Inicializa un nuevo enlazador de conversiones de CSharp. + Devuelve un nuevo enlazador de conversiones de CSharp. + Marcas con las que se va a inicializar el enlazador. + Tipo en el que se va a convertir. + Objeto que indica dónde se usa esta operación. + + + Inicializa un nuevo enlazador de operaciones de obtención de índice de CSharp. + Devuelve un nuevo enlazador de operaciones de obtención de índice de CSharp. + Marcas con las que se va a inicializar el enlazador. + Objeto que indica dónde se usa esta operación. + Secuencia de instancias de para los argumentos de esta operación. + + + Inicializa un nuevo enlazador de operaciones de obtención de miembro de CSharp. + Devuelve un nuevo enlazador de operaciones de obtención de miembro de CSharp. + Marcas con las que se va a inicializar el enlazador. + Nombre del miembro que se va a obtener. + Objeto que indica dónde se usa esta operación. + Secuencia de instancias de para los argumentos de esta operación. + + + Inicializa un nuevo enlazador de invocaciones de CSharp. + Devuelve un nuevo enlazador de invocaciones de CSharp. + Marcas con las que se va a inicializar el enlazador. + Objeto que indica dónde se usa esta operación. + Secuencia de instancias de para los argumentos de esta operación. + + + Inicializa un nuevo enlazador de invocaciones de constructor de CSharp. + Devuelve un nuevo enlazador de invocaciones de constructor de CSharp. + Marcas con las que se va a inicializar el enlazador. + Objeto que indica dónde se usa esta operación. + Secuencia de instancias de para los argumentos de esta operación. + + + Inicializa un nuevo enlazador de invocaciones de miembro de CSharp. + Devuelve un nuevo enlazador de invocaciones de miembro de CSharp. + Marcas con las que se va a inicializar el enlazador. + Nombre del miembro al que se va a invocar. + Lista de los argumentos de tipo especificados para esta invocación. + Objeto que indica dónde se usa esta operación. + Secuencia de instancias de para los argumentos de esta operación. + + + Inicializa un nuevo enlazador de búsquedas de eventos de CSharp. + Devuelve un nuevo enlazador de búsquedas de eventos de CSharp. + Marcas con las que se va a inicializar el enlazador. + Nombre del evento que se va a buscar. + Objeto que indica dónde se usa esta operación. + + + Inicializa un nuevo enlazador de operaciones de establecimiento de índice de CSharp. + Devuelve un nuevo enlazador de operaciones de establecimiento de índice de CSharp. + Marcas con las que se va a inicializar el enlazador. + Objeto que indica dónde se usa esta operación. + Secuencia de instancias de para los argumentos de esta operación. + + + Inicializa un nuevo enlazador de operaciones de establecimiento de miembro de CSharp. + Devuelve un nuevo enlazador de operaciones de establecimiento de miembro de CSharp. + Marcas con las que se va a inicializar el enlazador. + Nombre del miembro que se va a establecer. + Objeto que indica dónde se usa esta operación. + Secuencia de instancias de para los argumentos de esta operación. + + + Inicializa un nuevo enlazador de operaciones unarias de CSharp. + Devuelve un nuevo enlazador de operaciones unarias de CSharp. + Marcas con las que se va a inicializar el enlazador. + Tipo de operación unaria. + Objeto que indica dónde se usa esta operación. + Secuencia de instancias de para los argumentos de esta operación. + + + Representa información sobre las operaciones dinámicas de C# que son específicas de argumentos concretos en un lugar de llamada.Las instancias de esta clase se generan mediante el compilador de C#. + + + Inicializa una nueva instancia de la clase . + Nueva instancia de la clase . + Marcas para el argumento. + Nombre del argumento, si lo tiene; de lo contrario, NULL. + + + Representa información sobre las operaciones dinámicas de C# que son específicas de argumentos concretos en un lugar de llamada.Las instancias de esta clase se generan mediante el compilador de C#. + + + El argumento es una constante. + + + El argumento se pasa a un parámetro out. + + + El argumento se pasa a un parámetro ref. + + + El argumento es un objeto que indica un nombre de tipo real utilizado en origen.Únicamente se usa para los objetos de destino en las llamadas estáticas. + + + Es un argumento con nombre. + + + Ninguna información adicional para representar. + + + El tipo de tiempo de compilación del argumento debe considerarse durante el enlace. + + + Representa información sobre las operaciones dinámicas de C# que no son específicas de argumentos concretos en un sitio de llamada.Las instancias de esta clase se generan mediante el compilador de C#. + + + El enlazador representa un operador AND lógico u OR lógico que forma parte de una evaluación de operadores lógicos condicionales. + + + La evaluación de este enlazador se lleva a cabo en un contexto comprobado. + + + El enlazador representa una conversión implícita que se puede usar en una expresión de creación de matrices. + + + El enlazador representa una conversión explícita. + + + El enlazador representa una invocación en un nombre simple. + + + El enlazador representa una invocación en un nombre especial. + + + Este enlazador no requiere ninguna información adicional. + + + El enlazador se usa en una posición que no requiere un resultado y, por lo tanto, se puede enlazar a un método que devuelva void. + + + El resultado de cualquier enlace que se vaya a indizar obtiene un enlazador de índice set o de índice get. + + + El valor de este índice o miembro set se convierte en un operador de asignación compuesto. + + + Representa un error que se produce cuando se procesa un enlace dinámico en el enlazador en tiempo de ejecución de C#. + + + Inicializa una nueva instancia de la clase . + + + Inicializa una nueva instancia de la clase que tiene un mensaje de error especificado. + Mensaje que describe la excepción.El llamador de este constructor debe asegurarse de que esta cadena se ha traducido para la actual referencia cultural del sistema. + + + Inicializa una nueva instancia de la clase que tiene un mensaje de error especificado y una referencia a la excepción interna que representa la causa de esta excepción. + Mensaje de error que explica la razón de la excepción. + Excepción que es la causa de la excepción actual, o una referencia nula si no se especifica ninguna excepción interna. + + + Representa un error que se produce cuando se procesa un enlace dinámico en el enlazador en tiempo de ejecución de C#. + + + Inicializa una nueva instancia de la clase con un mensaje proporcionado por el sistema que describe el error. + + + Inicializa una nueva instancia de la clase con un mensaje de error especificado que describe el error. + Mensaje que describe la excepción.El llamador de este constructor debe asegurarse de que esta cadena se ha traducido para la actual referencia cultural del sistema. + + + Inicializa una nueva instancia de la clase que tiene un mensaje de error especificado y una referencia a la excepción interna que representa la causa de esta excepción. + Mensaje de error que explica la razón de la excepción. + Excepción que es la causa de la excepción actual, o una referencia nula si no se especifica ninguna excepción interna. + + + \ No newline at end of file diff --git a/packages/Microsoft.CSharp.4.5.0/ref/netcore50/fr/Microsoft.CSharp.xml b/packages/Microsoft.CSharp.4.5.0/ref/netcore50/fr/Microsoft.CSharp.xml new file mode 100644 index 0000000..6ac8b3b --- /dev/null +++ b/packages/Microsoft.CSharp.4.5.0/ref/netcore50/fr/Microsoft.CSharp.xml @@ -0,0 +1,201 @@ + + + + Microsoft.CSharp + + + + Contient des méthodes de fabrique pour créer des classeurs de sites d'appel dynamiques pour CSharp. + + + Initialise un nouveau classeur d'opérations binaires CSharp. + Retourne un nouveau classeur d'opérations binaires CSharp. + Indicateurs avec lesquels initialiser le classeur. + Type d'opération binaire. + + qui indique où cette opération est utilisée. + Séquence d'instances pour les arguments de cette opération. + + + Initialise un nouveau classeur de conversion CSharp. + Retourne un nouveau classeur de conversion CSharp. + Indicateurs avec lesquels initialiser le classeur. + Type dans lequel convertir. + + qui indique où cette opération est utilisée. + + + Initialise un nouveau classeur d'obtention d'index CSharp. + Retourne un nouveau classeur d'obtention d'index CSharp. + Indicateurs avec lesquels initialiser le classeur. + + qui indique où cette opération est utilisée. + Séquence d'instances pour les arguments de cette opération. + + + Initialise un nouveau classeur d'obtention de membre CSharp. + Retourne un nouveau classeur d'obtention de membre CSharp. + Indicateurs avec lesquels initialiser le classeur. + Nom du membre à obtenir. + + qui indique où cette opération est utilisée. + Séquence d'instances pour les arguments de cette opération. + + + Initialise un nouveau classeur d'appel CSharp. + Retourne un nouveau classeur d'appel CSharp. + Indicateurs avec lesquels initialiser le classeur. + + qui indique où cette opération est utilisée. + Séquence d'instances pour les arguments de cette opération. + + + Initialise un nouveau classeur de constructeurs appelés CSharp. + Retourne un nouveau classeur de constructeurs appelés CSharp. + Indicateurs avec lesquels initialiser le classeur. + + qui indique où cette opération est utilisée. + Séquence d'instances pour les arguments de cette opération. + + + Initialise un nouveau classeur de membres appelés CSharp. + Retourne un nouveau classeur de membres appelés CSharp. + Indicateurs avec lesquels initialiser le classeur. + Nom du membre à appeler. + Liste d'arguments de type spécifiés pour cet appel. + + qui indique où cette opération est utilisée. + Séquence d'instances pour les arguments de cette opération. + + + Initialise un nouveau classeur d'événements CSharp. + Retourne un nouveau classeur d'événement CSharp. + Indicateurs avec lesquels initialiser le classeur. + Nom de l'événement à rechercher. + + qui indique où cette opération est utilisée. + + + Initialise un nouveau classeur de définition d'index CSharp. + Retourne un nouveau classeur de définition d'index CSharp. + Indicateurs avec lesquels initialiser le classeur. + + qui indique où cette opération est utilisée. + Séquence d'instances pour les arguments de cette opération. + + + Initialise un nouveau classeur de définition de membre CSharp. + Retourne un nouveau classeur de définition de membre CSharp. + Indicateurs avec lesquels initialiser le classeur. + Nom du membre à définir. + + qui indique où cette opération est utilisée. + Séquence d'instances pour les arguments de cette opération. + + + Initialise un nouveau classeur d'opérations unaires CSharp. + Retourne un nouveau classeur d'opérations unaires CSharp. + Indicateurs avec lesquels initialiser le classeur. + Type d'opération unaire. + + qui indique où cette opération est utilisée. + Séquence d'instances pour les arguments de cette opération. + + + Représente les informations relatives aux opérations dynamiques en C# qui sont spécifiques à des arguments particuliers sur un site d'appel.Les instances de cette classe sont générées par le compilateur C#. + + + Initialise une nouvelle instance de la classe . + Nouvelle instance de la classe . + Indicateurs de l'argument. + Nom de l'argument, s'il est nommé ; sinon, null. + + + Représente les informations relatives aux opérations dynamiques en C# qui sont spécifiques à des arguments particuliers sur un site d'appel.Les instances de cette classe sont générées par le compilateur C#. + + + L'argument est une constante. + + + L'argument est passé à un paramètre de sortie (out). + + + L'argument est passé à un paramètre de référence (ref). + + + L'argument est un qui indique un nom de type réel utilisé dans la source.Utilisé uniquement pour les objets cible dans les appels statiques. + + + L'argument est un argument nommé. + + + Aucune information supplémentaire à représenter. + + + Le type de l'argument au moment de la compilation doit être considéré pendant la liaison. + + + Représente les informations relatives aux opérations dynamiques en C# qui ne sont pas spécifiques à des arguments particuliers sur un site d'appel.Les instances de cette classe sont générées par le compilateur C#. + + + Le classeur représente un AND logique ou un OR logique faisant partie d'une évaluation d'opérateur logique conditionnelle. + + + L'évaluation de ce classeur s'effectue dans un contexte vérifié (checked). + + + Le classeur représente une conversion implicite pour une utilisation dans une expression de création de tableau. + + + Le classeur représente une conversion explicite. + + + Le classeur représente un appel sur un nom simple. + + + Le classeur représente un appel sur un nom spécial. + + + Aucune information supplémentaire n'est requise pour ce classeur. + + + Le classeur est utilisé à un emplacement qui ne requiert pas de résultat et peut par conséquent créer une liaison avec une méthode retournant void. + + + Le résultat de n'importe quel lien sera un classeur indexé d'obtention d'index ou de membre défini. + + + La valeur dans cet index défini ou membre défini provient d'un opérateur d'assignation composée. + + + Représente une erreur qui se produit lorsqu'un lien dynamique dans le binder d'exécution C# est traité. + + + Initialise une nouvelle instance de la classe . + + + Initialise une nouvelle instance de la classe qui comporte un message d'erreur spécifié. + Message qui décrit l'exception.L'appelant de ce constructeur doit vérifier que cette chaîne a été localisée pour la culture du système en cours. + + + Initialise une nouvelle instance de la classe qui comporte un message d'erreur spécifié et une référence à l'exception interne à l'origine de cette exception. + Message d'erreur indiquant la raison de l'exception. + Exception à l'origine de l'exception actuelle, ou référence null si aucune exception interne n'est spécifiée. + + + Représente une erreur qui se produit lorsqu'un lien dynamique dans le binder d'exécution C# est traité. + + + Initialise une nouvelle instance de la classe avec un message système décrivant l'erreur. + + + Initialise une nouvelle instance de la classe avec un message spécifié décrivant l'erreur. + Message qui décrit l'exception.L'appelant de ce constructeur doit vérifier que cette chaîne a été localisée pour la culture du système en cours. + + + Initialise une nouvelle instance de la classe qui comporte un message d'erreur spécifié et une référence à l'exception interne à l'origine de cette exception. + Message d'erreur indiquant la raison de l'exception. + Exception à l'origine de l'exception actuelle, ou référence null si aucune exception interne n'est spécifiée. + + + \ No newline at end of file diff --git a/packages/Microsoft.CSharp.4.5.0/ref/netcore50/it/Microsoft.CSharp.xml b/packages/Microsoft.CSharp.4.5.0/ref/netcore50/it/Microsoft.CSharp.xml new file mode 100644 index 0000000..e7621f3 --- /dev/null +++ b/packages/Microsoft.CSharp.4.5.0/ref/netcore50/it/Microsoft.CSharp.xml @@ -0,0 +1,190 @@ + + + + Microsoft.CSharp + + + + Contiene metodi factory per creare gestori di associazione del sito di chiamata dinamica per CSharp. + + + Inizializza un nuovo gestore di associazione dell'operazione binaria di CSharp. + Restituisce un nuovo gestore di associazione dell'operazione binaria di CSharp. + Flag con cui inizializzare il gestore di associazione. + Tipo di operazione binaria. + Oggetto che indica il contesto in cui viene utilizzata l'operazione. + Sequenza di istanze di per gli argomenti dell'operazione. + + + Inizializza un nuovo gestore di associazione delle conversioni di CSharp. + Restituisce un nuovo gestore di associazione delle conversioni di CSharp. + Flag con cui inizializzare il gestore di associazione. + Tipo in cui eseguire la conversione. + Oggetto che indica il contesto in cui viene utilizzata l'operazione. + + + Inizializza un nuovo gestore di associazione dell'indice get di CSharp. + Restituisce un nuovo gestore di associazione dell'indice get di CSharp. + Flag con cui inizializzare il gestore di associazione. + Oggetto che indica il contesto in cui viene utilizzata l'operazione. + Sequenza di istanze di per gli argomenti dell'operazione. + + + Inizializza un nuovo gestore di associazione del membro get di CSharp. + Restituisce un nuovo gestore di associazione del membro get di CSharp. + Flag con cui inizializzare il gestore di associazione. + Nome del membro da ottenere. + Oggetto che indica il contesto in cui viene utilizzata l'operazione. + Sequenza di istanze di per gli argomenti dell'operazione. + + + Inizializza un nuovo gestore di associazione invoke di CSharp. + Restituisce un nuovo gestore di associazione invoke di CSharp. + Flag con cui inizializzare il gestore di associazione. + Oggetto che indica il contesto in cui viene utilizzata l'operazione. + Sequenza di istanze di per gli argomenti dell'operazione. + + + Inizializza un nuovo gestore di associazione del costruttore invoke di CSharp. + Restituisce un nuovo gestore di associazione del costruttore invoke di CSharp. + Flag con cui inizializzare il gestore di associazione. + Oggetto che indica il contesto in cui viene utilizzata l'operazione. + Sequenza di istanze di per gli argomenti dell'operazione. + + + Inizializza un nuovo gestore di associazione del membro invoke di CSharp. + Restituisce un nuovo gestore di associazione del membro invoke di CSharp. + Flag con cui inizializzare il gestore di associazione. + Nome del membro da richiamare, + Elenco di argomenti del tipo specificati per la chiamata. + Oggetto che indica il contesto in cui viene utilizzata l'operazione. + Sequenza di istanze di per gli argomenti dell'operazione. + + + Inizializza un nuovo gestore di associazione degli eventi is di CSharp. + Restituisce un nuovo gestore di associazione degli eventi is di CSharp. + Flag con cui inizializzare il gestore di associazione. + Nome dell'evento di cui eseguire la ricerca. + Oggetto che indica il contesto in cui viene utilizzata l'operazione. + + + Inizializza un nuovo gestore di associazione dell'indice set di CSharp. + Restituisce un nuovo gestore di associazione dell'indice set di CSharp. + Flag con cui inizializzare il gestore di associazione. + Oggetto che indica il contesto in cui viene utilizzata l'operazione. + Sequenza di istanze di per gli argomenti dell'operazione. + + + Inizializza un nuovo gestore di associazione del membro set di CSharp. + Restituisce un nuovo gestore di associazione del membro set di CSharp. + Flag con cui inizializzare il gestore di associazione. + Nome del membro da impostare. + Oggetto che indica il contesto in cui viene utilizzata l'operazione. + Sequenza di istanze di per gli argomenti dell'operazione. + + + Inizializza un nuovo gestore di associazione dell'operazione unaria di CSharp. + Restituisce un nuovo gestore di associazione dell'operazione unaria di CSharp. + Flag con cui inizializzare il gestore di associazione. + Tipo di operazione unaria. + Oggetto che indica il contesto in cui viene utilizzata l'operazione. + Sequenza di istanze di per gli argomenti dell'operazione. + + + Rappresenta informazioni sulle operazioni dinamiche in C# specifiche di determinati argomenti in un sito di chiamata.Istanze di questa classe vengono generate dal compilatore C#. + + + Inizializza una nuova istanza della classe . + Nuova istanza della classe . + Flag per l'argomento. + Nome dell'argomento, se denominato; in caso contrario, null. + + + Rappresenta informazioni sulle operazioni dinamiche in C# specifiche di determinati argomenti in un sito di chiamata.Istanze di questa classe vengono generate dal compilatore C#. + + + L'argomento è una costante. + + + L'argomento viene passato a un parametro out. + + + L'argomento viene passato a un parametro ref. + + + L'argomento è un oggetto che indica un nome di tipo effettivo utilizzato nell'origine.Utilizzato solo per gli oggetti di destinazione in chiamate statiche. + + + L'argomento è un argomento denominato. + + + Nessuna informazione aggiuntiva da rappresentare. + + + Il tipo dell'argomento in fase di compilazione deve essere considerato durante l'associazione. + + + Rappresenta informazioni sulle operazioni dinamiche in C# non specifiche di determinati argomenti in un sito di chiamata.Istanze di questa classe vengono generate dal compilatore C#. + + + Il gestore di associazione rappresenta un operatore logico AND o OR che fa parte di una valutazione dell'operatore logico condizionale. + + + La valutazione di questo gestore di associazione si verifica in un contesto verificato. + + + Il gestore di associazione rappresenta una conversione implicita per l'utilizzo in un'espressione di creazione di una matrice. + + + Il gestore di associazione rappresenta una conversione esplicita. + + + Il gestore di associazione rappresenta una chiamata per un nome semplice. + + + Il gestore di associazione rappresenta una chiamata per uno SpecialName. + + + Non sono presenti informazioni aggiuntive necessarie per questo gestore di associazione. + + + Il gestore di associazione viene utilizzato in una posizione che non richiede un risultato e può quindi essere associato a un metodo che restituisce void. + + + Il risultato di qualsiasi associazione sarà indicizzato per ottenere un gestore di associazione dell'indice set o get. + + + Il valore in questo indice set o membro set presenta un operatore di assegnazione composto. + + + Rappresenta un errore che si verifica quando viene elaborata un'associazione dinamica nel gestore di associazione di runtime in C#. + + + Inizializza una nuova istanza della classe . + + + Inizializza una nuova istanza della classe che include un messaggio di errore specificato. + Messaggio in cui viene descritta l'eccezione.È necessario che il chiamante del costruttore assicuri che la stringa sia stata localizzata per le impostazioni cultura correnti del sistema. + + + Inizializza una nuova istanza della classe che include un messaggio di errore specificato e un riferimento all'eccezione interna che ha generato l'eccezione. + Messaggio di errore nel quale viene indicato il motivo dell’eccezione + Eccezione che ha provocato l'eccezione corrente o riferimento null se non è stata specificata alcuna eccezione interna. + + + Rappresenta un errore che si verifica quando viene elaborata un'associazione dinamica nel gestore di associazione di runtime in C#. + + + Inizializza una nuova istanza della classe con un messaggio fornito dal sistema in cui viene descritto l'errore. + + + Inizializza una nuova istanza della classe con un messaggio specifico in cui viene descritto l'errore. + Messaggio in cui viene descritta l'eccezione.È necessario che il chiamante del costruttore assicuri che la stringa sia stata localizzata per le impostazioni cultura correnti del sistema. + + + Inizializza una nuova istanza della classe che include un messaggio di errore specificato e un riferimento all'eccezione interna che ha generato l'eccezione. + Messaggio di errore nel quale viene indicato il motivo dell’eccezione + Eccezione che ha provocato l'eccezione corrente o riferimento null se non è stata specificata alcuna eccezione interna. + + + \ No newline at end of file diff --git a/packages/Microsoft.CSharp.4.5.0/ref/netcore50/ja/Microsoft.CSharp.xml b/packages/Microsoft.CSharp.4.5.0/ref/netcore50/ja/Microsoft.CSharp.xml new file mode 100644 index 0000000..e1f883c --- /dev/null +++ b/packages/Microsoft.CSharp.4.5.0/ref/netcore50/ja/Microsoft.CSharp.xml @@ -0,0 +1,193 @@ + + + + Microsoft.CSharp + + + + CSharp の動的呼び出しサイト バインダーを作成するファクトリ メソッドが含まれています。 + + + CSharp の新しい二項演算バインダーを初期化します。 + CSharp の新しい二項演算バインダーを返します。 + バインダーの初期化に使用するフラグ。 + 二項演算の種類。 + この操作の使用場所を示す 。 + この操作に対する引数の インスタンスのシーケンス。 + + + CSharp の新しい変換バインダーを初期化します。 + CSharp の新しい変換バインダーを返します。 + バインダーの初期化に使用するフラグ。 + 変換後の型。 + この操作の使用場所を示す 。 + + + CSharp の新しいインデックス取得バインダーを初期化します。 + CSharp の新しいインデックス取得バインダーを返します。 + バインダーの初期化に使用するフラグ。 + この操作の使用場所を示す 。 + この操作に対する引数の インスタンスのシーケンス。 + + + CSharp の新しいメンバー取得バインダーを初期化します。 + CSharp の新しいメンバー取得バインダーを返します。 + バインダーの初期化に使用するフラグ。 + 取得するメンバーの名前。 + この操作の使用場所を示す 。 + この操作に対する引数の インスタンスのシーケンス。 + + + CSharp の新しい呼び出しバインダーを初期化します。 + CSharp の新しい呼び出しバインダーを返します。 + バインダーの初期化に使用するフラグ。 + この操作の使用場所を示す 。 + この操作に対する引数の インスタンスのシーケンス。 + + + CSharp の新しいコンストラクター バインダーを初期化します。 + CSharp の新しいコンストラクター バインダーを返します。 + バインダーの初期化に使用するフラグ。 + この操作の使用場所を示す 。 + この操作に対する引数の インスタンスのシーケンス。 + + + CSharp の新しいメンバー呼び出しバインダーを初期化します。 + CSharp の新しいメンバー呼び出しバインダーを返します。 + バインダーの初期化に使用するフラグ。 + 呼び出されるメンバーの名前。 + この呼び出しに対して指定する型引数のリスト。 + この操作の使用場所を示す 。 + この操作に対する引数の インスタンスのシーケンス。 + + + CSharp の新しいイベント確認バインダーを初期化します。 + CSharp の新しいイベント確認バインダーを返します。 + バインダーの初期化に使用するフラグ。 + 検索するイベントの名前。 + この操作の使用場所を示す 。 + + + CSharp の新しいインデックス設定バインダーを初期化します。 + CSharp の新しいインデックス設定バインダーを返します。 + バインダーの初期化に使用するフラグ。 + この操作の使用場所を示す 。 + この操作に対する引数の インスタンスのシーケンス。 + + + CSharp の新しいメンバー設定バインダーを初期化します。 + CSharp の新しいメンバー設定バインダーを返します。 + バインダーの初期化に使用するフラグ。 + 設定するメンバーの名前。 + この操作の使用場所を示す 。 + この操作に対する引数の インスタンスのシーケンス。 + + + CSharp の新しい単項演算バインダーを初期化します。 + CSharp の新しい単項演算バインダーを返します。 + バインダーの初期化に使用するフラグ。 + 単項演算の種類。 + この操作の使用場所を示す 。 + この操作に対する引数の インスタンスのシーケンス。 + + + 呼び出しサイトにおける特定の引数に固有の、C# の動的操作に関する情報を表します。このクラスのインスタンスは、C# コンパイラによって生成されます。 + + + + クラスの新しいインスタンスを初期化します。 + + クラスの新しいインスタンス。 + 引数のフラグ。 + 引数に名前がある場合はその名前。それ以外の場合は null。 + + + 呼び出しサイトにおける特定の引数に固有の、C# の動的操作に関する情報を表します。このクラスのインスタンスは、C# コンパイラによって生成されます。 + + + 引数は定数です。 + + + 引数は out パラメーターに渡されます。 + + + 引数は ref パラメーターに渡されます。 + + + 引数は、ソースで使用されている実際の型名を示す です。静的呼び出しのターゲット オブジェクトでのみ使用されます。 + + + 引数は名前付き引数です。 + + + 追加情報はありません。 + + + 引数のコンパイル時の型はバインディング時に考慮されます。 + + + 呼び出しサイトにおける特定の引数に固有ではない、C# の動的操作に関する情報を表します。このクラスのインスタンスは、C# コンパイラによって生成されます。 + + + このバインダーは、条件論理演算子の評価の一部である論理 AND または論理 OR を表します。 + + + このバインダーの評価は、checked コンテキストで行われます。 + + + このバインダーは、配列作成式で使用する暗黙の型変換を表します。 + + + このバインダーは、明示的な変換を表します。 + + + このバインダーは、簡易名での呼び出しを表します。 + + + このバインダーは、特別な名前での呼び出しを表します。 + + + このバインダーに必要な追加情報はありません。 + + + バインダーは、結果を必要としない位置で使用されるため、戻り型が void のメソッドにバインドできます。 + + + どのバインドの結果にもインデックスが付けられます。インデックス設定バインダーまたはインデックス取得バインダーが必要です。 + + + このインデックス設定またはメンバー設定の値は複合代入演算子になります。 + + + C# ランタイム バインダーで動的バインドが処理されたときに発生するエラーを表します。 + + + + クラスの新しいインスタンスを初期化します。 + + + 指定したエラー メッセージを持つ、 クラスの新しいインスタンスを初期化します。 + 例外を説明するメッセージ。このコンストラクターの呼び出し元では、この文字列が現在のシステムのカルチャに合わせてローカライズ済みであることを確認しておく必要があります。 + + + 指定したエラー メッセージおよびこの例外の原因である内部例外への参照を持つ、 クラスの新しいインスタンスを初期化します。 + 例外の原因を説明するエラー メッセージ。 + 現在の例外の原因となった例外。内部例外が指定されていない場合は null 参照。 + + + C# ランタイム バインダーで動的バインドが処理されたときに発生するエラーを表します。 + + + エラーを説明するシステム提供のメッセージを使用して、 クラスの新しいインスタンスを初期化します。 + + + エラーを説明する指定したメッセージを使用して、 クラスの新しいインスタンスを初期化します。 + 例外を説明するメッセージ。このコンストラクターの呼び出し元では、この文字列が現在のシステムのカルチャに合わせてローカライズ済みであることを確認しておく必要があります。 + + + 指定したエラー メッセージおよびこの例外の原因である内部例外への参照を持つ、 クラスの新しいインスタンスを初期化します。 + 例外の原因を説明するエラー メッセージ。 + 現在の例外の原因となった例外。内部例外が指定されていない場合は null 参照。 + + + \ No newline at end of file diff --git a/packages/Microsoft.CSharp.4.5.0/ref/netcore50/ko/Microsoft.CSharp.xml b/packages/Microsoft.CSharp.4.5.0/ref/netcore50/ko/Microsoft.CSharp.xml new file mode 100644 index 0000000..2e64855 --- /dev/null +++ b/packages/Microsoft.CSharp.4.5.0/ref/netcore50/ko/Microsoft.CSharp.xml @@ -0,0 +1,193 @@ + + + + Microsoft.CSharp + + + + CSharp의 동적 호출 사이트 바인더를 만드는 팩터리 메서드가 들어 있습니다. + + + 새 CSharp 이항 연산 바인더를 초기화합니다. + 새 CSharp 이항 연산 바인더를 반환합니다. + 바인더를 초기화하는 데 사용할 플래그입니다. + 이항 연산 종류입니다. + 이 작업이 사용된 위치를 나타내는 입니다. + 이 작업의 인수에 사용할 인스턴스의 시퀀스입니다. + + + 새 CSharp 변환 바인더를 초기화합니다. + 새 CSharp 변환 바인더를 반환합니다. + 바인더를 초기화하는 데 사용할 플래그입니다. + 변환할 대상 형식입니다. + 이 작업이 사용된 위치를 나타내는 입니다. + + + 새 CSharp 인덱스 가져오기 바인더를 초기화합니다. + 새 CSharp 인덱스 가져오기 바인더를 반환합니다. + 바인더를 초기화하는 데 사용할 플래그입니다. + 이 작업이 사용된 위치를 나타내는 입니다. + 이 작업의 인수에 사용할 인스턴스의 시퀀스입니다. + + + 새 CSharp 멤버 가져오기 바인더를 초기화합니다. + 새 CSharp 멤버 가져오기 바인더를 반환합니다. + 바인더를 초기화하는 데 사용할 플래그입니다. + 가져올 멤버의 이름입니다. + 이 작업이 사용된 위치를 나타내는 입니다. + 이 작업의 인수에 사용할 인스턴스의 시퀀스입니다. + + + 새 CSharp 호출 바인더를 초기화합니다. + 새 CSharp 호출 바인더를 반환합니다. + 바인더를 초기화하는 데 사용할 플래그입니다. + 이 작업이 사용된 위치를 나타내는 입니다. + 이 작업의 인수에 사용할 인스턴스의 시퀀스입니다. + + + 새 CSharp 생성자 호출 바인더를 초기화합니다. + 새 CSharp 생성자 호출 바인더를 반환합니다. + 바인더를 초기화하는 데 사용할 플래그입니다. + 이 작업이 사용된 위치를 나타내는 입니다. + 이 작업의 인수에 사용할 인스턴스의 시퀀스입니다. + + + 새 CSharp 멤버 호출 바인더를 초기화합니다. + 새 CSharp 멤버 호출 바인더를 반환합니다. + 바인더를 초기화하는 데 사용할 플래그입니다. + 호출할 멤버의 이름입니다. + 이 호출에 대해 지정된 형식 인수의 목록입니다. + 이 작업이 사용된 위치를 나타내는 입니다. + 이 작업의 인수에 사용할 인스턴스의 시퀀스입니다. + + + 새 CSharp 이벤트 확인 바인더를 초기화합니다. + 새 CSharp 이벤트 확인 바인더를 반환합니다. + 바인더를 초기화하는 데 사용할 플래그입니다. + 찾을 이벤트의 이름입니다. + 이 작업이 사용된 위치를 나타내는 입니다. + + + 새 CSharp 인덱스 설정 바인더를 초기화합니다. + 새 CSharp 인덱스 설정 바인더를 반환합니다. + 바인더를 초기화하는 데 사용할 플래그입니다. + 이 작업이 사용된 위치를 나타내는 입니다. + 이 작업의 인수에 사용할 인스턴스의 시퀀스입니다. + + + 새 CSharp 멤버 설정 바인더를 초기화합니다. + 새 CSharp 멤버 설정 바인더를 반환합니다. + 바인더를 초기화하는 데 사용할 플래그입니다. + 설정할 멤버의 이름입니다. + 이 작업이 사용된 위치를 나타내는 입니다. + 이 작업의 인수에 사용할 인스턴스의 시퀀스입니다. + + + 새 CSharp 단항 연산 바인더를 초기화합니다. + 새 CSharp 단항 연산 바인더를 반환합니다. + 바인더를 초기화하는 데 사용할 플래그입니다. + 단항 연산 종류입니다. + 이 작업이 사용된 위치를 나타내는 입니다. + 이 작업의 인수에 사용할 인스턴스의 시퀀스입니다. + + + 호출 사이트의 특정 인수와 관련된 C# 동적 작업에 대한 정보를 나타냅니다.이 클래스의 인스턴스는 C# 컴파일러에서 생성됩니다. + + + + 클래스의 새 인스턴스를 초기화합니다. + + 클래스의 새 인스턴스입니다. + 인수의 플래그입니다. + 명명된 경우 인수의 이름이고, 그렇지 않으면 null입니다. + + + 호출 사이트의 특정 인수와 관련된 C# 동적 작업에 대한 정보를 나타냅니다.이 클래스의 인스턴스는 C# 컴파일러에서 생성됩니다. + + + 인수가 상수입니다. + + + 인수가 out 매개 변수에 전달됩니다. + + + 인수가 ref 매개 변수에 전달됩니다. + + + 인수가 소스에서 사용된 실제 형식 이름을 나타내는 입니다.정적 호출의 대상 개체에만 사용됩니다. + + + 인수가 명명된 인수입니다. + + + 나타낼 추가 정보가 없습니다. + + + 바인딩하는 동안 인수의 컴파일 타임 형식을 고려해야 합니다. + + + 호출 사이트의 특정 인수와 관련되지 않은 C# 동적 작업에 대한 정보를 나타냅니다.이 클래스의 인스턴스는 C# 컴파일러에서 생성됩니다. + + + 바인더는 조건부 논리 연산자 계산에 속하는 논리적 AND 또는 논리적 OR를 나타냅니다. + + + 이 바인더에 대한 계산은 확인된 컨텍스트에서 발생합니다. + + + 바인더는 배열 생성 식에 사용할 암시적 변환을 나타냅니다. + + + 바인더는 명시적 변환을 나타냅니다. + + + 바인더는 단순한 이름에 대한 호출을 나타냅니다. + + + 바인더는 특수한 이름에 대한 호출을 나타냅니다. + + + 이 바인더에 필요한 추가 정보가 없습니다. + + + 바인더는 결과가 필요 없는 위치에서 사용되므로 void를 반환하는 메서드에 바인딩할 수 있습니다. + + + 바인딩의 결과가 인덱싱되어 인덱스 설정 또는 인덱스 가져오기 바인더를 가져옵니다. + + + 이 인덱스 설정 또는 멤버 설정의 값은 복합 할당 연산자에서 사용됩니다. + + + C# 런타임 바인더의 동적 바인드가 처리될 때 발생하는 오류를 나타냅니다. + + + + 클래스의 새 인스턴스를 초기화합니다. + + + 지정된 오류 메시지가 있는 클래스의 새 인스턴스를 초기화합니다. + 예외를 설명하는 메시지입니다.이 생성자의 호출자는 이 문자열이 현재 시스템 문화권에 맞게 지역화되었는지 확인하는 데 필요합니다. + + + 지정된 오류 메시지 및 해당 예외의 원인인 내부 예외에 대한 참조가 있는 클래스의 새 인스턴스를 초기화합니다. + 예외에 대한 이유를 설명하는 오류 메시지입니다. + 현재 예외의 원인인 예외 또는 내부 예외가 지정되지 않은 경우 null 참조입니다. + + + C# 런타임 바인더의 동적 바인드가 처리될 때 발생하는 오류를 나타냅니다. + + + 오류를 설명하는 시스템 제공 메시지를 사용하여 클래스의 새 인스턴스를 초기화합니다. + + + 오류를 설명하는 지정된 메시지를 사용하여 클래스의 새 인스턴스를 초기화합니다. + 예외를 설명하는 메시지입니다.이 생성자의 호출자는 이 문자열이 현재 시스템 문화권에 맞게 지역화되었는지 확인하는 데 필요합니다. + + + 지정된 오류 메시지와 이 예외의 원인인 내부 예외에 대한 참조를 갖는 클래스의 새 인스턴스를 초기화합니다. + 예외에 대한 이유를 설명하는 오류 메시지입니다. + 현재 예외의 원인인 예외 또는 내부 예외가 지정되지 않은 경우 null 참조입니다. + + + \ No newline at end of file diff --git a/packages/Microsoft.CSharp.4.5.0/ref/netcore50/ru/Microsoft.CSharp.xml b/packages/Microsoft.CSharp.4.5.0/ref/netcore50/ru/Microsoft.CSharp.xml new file mode 100644 index 0000000..de8cf29 --- /dev/null +++ b/packages/Microsoft.CSharp.4.5.0/ref/netcore50/ru/Microsoft.CSharp.xml @@ -0,0 +1,190 @@ + + + + Microsoft.CSharp + + + + Содержит фабричные методы для создания динамических связывателей источников вызова для CSharp. + + + Инициализирует новый связыватель бинарной операции CSharp. + Возвращает новый связыватель бинарной операции CSharp. + Флаги, с помощью которых выполняется инициализация связывателя. + Вид бинарной операции. + Объект , который указывает, где используется операция. + Последовательность экземпляров для аргументов данной операции. + + + Инициализирует новый связыватель преобразования CSharp. + Возвращает новый связыватель преобразования CSharp. + Флаги, с помощью которых выполняется инициализация связывателя. + Тип, в который выполняется преобразование. + Объект , который указывает, где используется операция. + + + Инициализирует новый связыватель получения индекса CSharp. + Возвращает новый связыватель получения индекса CSharp. + Флаги, с помощью которых выполняется инициализация связывателя. + Объект , который указывает, где используется операция. + Последовательность экземпляров для аргументов данной операции. + + + Инициализирует новый связыватель получения члена CSharp. + Возвращает новый связыватель получения члена CSharp. + Флаги, с помощью которых выполняется инициализация связывателя. + Имя возвращаемого члена. + Объект , который указывает, где используется операция. + Последовательность экземпляров для аргументов данной операции. + + + Инициализирует новый связыватель вызова CSharp. + Возвращает новый связыватель вызова CSharp. + Флаги, с помощью которых выполняется инициализация связывателя. + Объект , который указывает, где используется операция. + Последовательность экземпляров для аргументов данной операции. + + + Инициализирует новый связыватель вызова конструктора CSharp. + Возвращает новый связыватель вызова конструктора CSharp. + Флаги, с помощью которых выполняется инициализация связывателя. + Объект , который указывает, где используется операция. + Последовательность экземпляров для аргументов данной операции. + + + Инициализирует новый связыватель вызова члена CSharp. + Возвращает новый связыватель вызова члена CSharp. + Флаги, с помощью которых выполняется инициализация связывателя. + Имя элемента, который предполагается вызвать. + Список аргументов типа, указанных для данного вызова. + Объект , который указывает, где используется операция. + Последовательность экземпляров для аргументов данной операции. + + + Инициализирует новый связыватель поиска события CSharp. + Возвращает новый связыватель поиска события CSharp. + Флаги, с помощью которых выполняется инициализация связывателя. + Имя искомого события. + Объект , который указывает, где используется операция. + + + Инициализирует новый связыватель задания индекса CSharp. + Возвращает новый связыватель задания индекса CSharp. + Флаги, с помощью которых выполняется инициализация связывателя. + Объект , который указывает, где используется операция. + Последовательность экземпляров для аргументов данной операции. + + + Инициализирует новый связыватель задания члена CSharp. + Возвращает новый связыватель задания члена CSharp. + Флаги, с помощью которых выполняется инициализация связывателя. + Имя задаваемого члена. + Объект , который указывает, где используется операция. + Последовательность экземпляров для аргументов данной операции. + + + Инициализирует новый связыватель унарной операции CSharp. + Возвращает новый связыватель унарной операции CSharp. + Флаги, с помощью которых выполняется инициализация связывателя. + Вид унарной операции. + Объект , который указывает, где используется операция. + Последовательность экземпляров для аргументов данной операции. + + + Представляет сведения о динамических операциях C#, которые относятся к определенным аргументам в источнике вызова.Экземпляры этого класса создаются компилятором C#. + + + Инициализирует новый экземпляр класса . + Новый экземпляр класса . + Флаги для аргумента. + Имя аргумента, если ему присвоено имя, или NULL в противном случае. + + + Представляет сведения о динамических операциях C#, которые относятся к определенным аргументам в источнике вызова.Экземпляры этого класса создаются компилятором C#. + + + Аргумент является константой. + + + Аргумент, передаваемый в параметр out. + + + Аргумент, передаваемый в параметр ref. + + + Аргумент является объектом типа , указывающим фактическое имя типа, используемое в источнике.Используется только для целевых объектов в статических вызовах. + + + Аргумент является именованным аргументом. + + + Дополнительные сведения не представлены. + + + В процессе привязки следует учитывать тип времени компиляции аргумента. + + + Представляет сведения о динамических операциях C#, которые не относятся к определенным аргументам в источнике вызова.Экземпляры этого класса создаются компилятором C#. + + + Связыватель представляет логическое И или логическое ИЛИ, которое является частью оценки условного логического оператора. + + + Оценка данного связывателя происходит в проверяемом контексте. + + + Связыватель представляет неявное преобразование для использовании в выражении, создающем массив. + + + Связыватель представляет явное преобразование. + + + Связыватель представляет вызов по простому имени. + + + Связыватель представляет вызов по специальному имени. + + + Для данного связывателя не требуются дополнительные сведения. + + + Этот связыватель используется в позиции, не требующей результата, и, следовательно, может выполнять привязку к методу, возвращающему значение void. + + + Результатом любой привязки будет индексированный метод получения связывателя задания или получения индекса. + + + Значение данного метода задания индекса или члена становится частью составного оператора присваивания. + + + Представляет ошибку, которая происходит при обработке динамической привязки в связывателе среды выполнения C#. + + + Инициализирует новый экземпляр класса . + + + Инициализирует новый экземпляр класса , содержащий указанное сообщение об ошибке. + Сообщение с описанием исключения.Вызывающий оператор этого конструктора необходим, чтобы убедиться, локализована ли данная строка для текущего языка и региональных параметров системы. + + + Инициализирует новый экземпляр класса , содержащий указанное сообщение об ошибке и ссылку на внутреннее исключение, которое стало причиной данного исключения. + Сообщение об ошибке с объяснением причин исключения. + Исключение, вызвавшее текущее исключение, или пустая ссылка, если внутреннее исключение не задано. + + + Представляет ошибку, которая происходит при обработке динамической привязки в связывателе среды выполнения C#. + + + Инициализирует новый экземпляр класса системным сообщением, содержащим описание ошибки. + + + Инициализирует новый экземпляр класса заданным сообщением, содержащим описание ошибки. + Сообщение с описанием исключения.Вызывающий оператор этого конструктора необходим, чтобы убедиться, локализована ли данная строка для текущего языка и региональных параметров системы. + + + Инициализирует новый экземпляр класса , содержащий указанное сообщение об ошибке и ссылку на внутреннее исключение, которое стало причиной данного исключения. + Сообщение об ошибке с объяснением причин исключения. + Исключение, вызвавшее текущее исключение, или пустая ссылка, если внутреннее исключение не задано. + + + \ No newline at end of file diff --git a/packages/Microsoft.CSharp.4.5.0/ref/netcore50/zh-hans/Microsoft.CSharp.xml b/packages/Microsoft.CSharp.4.5.0/ref/netcore50/zh-hans/Microsoft.CSharp.xml new file mode 100644 index 0000000..3b0aa98 --- /dev/null +++ b/packages/Microsoft.CSharp.4.5.0/ref/netcore50/zh-hans/Microsoft.CSharp.xml @@ -0,0 +1,191 @@ + + + + Microsoft.CSharp + + + + 包含用于为 CSharp 创建动态调用站点联编程序的工厂方法。 + + + 初始化新的 CSharp 二元运算联编程序。 + 返回新的 CSharp 二元运算联编程序。 + 用于初始化联编程序的标志。 + 二元运算类型。 + 用于指示此操作的使用位置的 。 + 此操作的参数所用的 实例序列。 + + + 初始化新的 CSharp 转换联编程序。 + 返回新的 CSharp 转换联编程序。 + 用于初始化联编程序的标志。 + 要转换到的类型。 + 用于指示此操作的使用位置的 。 + + + 初始化新的 CSharp 获取索引联编程序。 + 返回新的 CSharp 获取索引联编程序。 + 用于初始化联编程序的标志。 + 用于指示此操作的使用位置的 。 + 此操作的参数所用的 实例序列。 + + + 初始化新的 CSharp 获取成员联编程序。 + 返回新的 CSharp 获取成员联编程序。 + 用于初始化联编程序的标志。 + 要获取的成员名称。 + 用于指示此操作的使用位置的 。 + 此操作的参数所用的 实例序列。 + + + 初始化新的 CSharp 调用联编程序。 + 返回新的 CSharp 调用联编程序。 + 用于初始化联编程序的标志。 + 用于指示此操作的使用位置的 。 + 此操作的参数所用的 实例序列。 + + + 初始化新的 CSharp 调用构造函数联编程序。 + 返回新的 CSharp 调用构造函数联编程序。 + 用于初始化联编程序的标志。 + 用于指示此操作的使用位置的 。 + 此操作的参数所用的 实例序列。 + + + 初始化新的 CSharp 调用成员联编程序。 + 返回新的 CSharp 调用成员联编程序。 + 用于初始化联编程序的标志。 + 要调用的成员名。 + 为此调用指定的类型参数的列表。 + 用于指示此操作的使用位置的 。 + 此操作的参数所用的 实例序列。 + + + 初始化新的 CSharp 事件联编程序。 + 返回新的 CSharp 事件联编程序。 + 用于初始化联编程序的标志。 + 要查找的事件的名称。 + 用于指示此操作的使用位置的 。 + + + 初始化新的 CSharp 设置索引联编程序。 + 返回新的 CSharp 设置索引联编程序。 + 用于初始化联编程序的标志。 + 用于指示此操作的使用位置的 。 + 此操作的参数所用的 实例序列。 + + + 初始化新的 CSharp 设置成员联编程序。 + 返回新的 CSharp 设置成员联编程序。 + 用于初始化联编程序的标志。 + 要设置的成员的名称。 + 用于指示此操作的使用位置的 。 + 此操作的参数所用的 实例序列。 + + + 初始化新的 CSharp 一元运算联编程序。 + 返回新的 CSharp 一元运算联编程序。 + 用于初始化联编程序的标志。 + 一元运算类型。 + 用于指示此操作的使用位置的 。 + 此操作的参数所用的 实例序列。 + + + 表示有关特定于调用站点上的特定参数的 C# 动态操作的信息。此类的实例由 C# 编译器生成。 + + + 初始化 类的新实例。 + + 类的新实例。 + 参数的标志。 + 如果已指定参数名称,则为相应的名称;否则为空。 + + + 表示有关特定于调用站点上的特定参数的 C# 动态操作的信息。此类的实例由 C# 编译器生成。 + + + 该参数是一个常量。 + + + 将实参传递到 out 形参。 + + + 将实参传递到 ref 形参。 + + + 参数为 ,它指示源中使用的实际类型名称。仅用于静态调用中的目标对象。 + + + 参数为命名参数。 + + + 没有要表示的附加信息。 + + + 在绑定期间,应考虑参数的编译时类型。 + + + 表示不特定于调用站点上特定参数的 C# 动态操作的相关信息。此类的实例由 C# 编译器生成。 + + + 此联编程序表示作为条件逻辑运算符计算的一部分的逻辑 AND 或逻辑 OR。 + + + 在已检查的上下文中计算此联编程序。 + + + 此联编程序表示要在数组创建表达式中使用的隐式转换。 + + + 此联编程序表示显式转换。 + + + 此联编程序表示对简单名称的调用。 + + + 此联编程序表示对特殊名称的调用。 + + + 此联编程序不需要附加信息。 + + + 联编程序在不需要结果的位置中使用,因此可绑定到一个 void 返回方法。 + + + 将为任何绑定的结果编制索引,以获得一个设置索引联编程序或获取索引联编程序。 + + + 此设置索引或设置成员中的值为复合赋值运算符。 + + + 表示在处理 C# 运行时联编程序中的动态绑定时发生的错误。 + + + 初始化 类的新实例。 + + + 初始化 类的新实例,它包含指定的错误消息。 + 描述该异常的消息。此构造函数的调用方需要确保此字符串已针对当前系统区域性进行了本地化。 + + + 初始化 类的新实例,该实例具有指定的错误消息以及对导致此异常的内部异常的引用。 + 解释异常原因的错误信息。 + 导致当前异常的异常;如果未指定内部异常,则为空引用。 + + + 表示在处理 C# 运行时联编程序中的动态绑定时发生的错误。 + + + 使用由系统提供的用来描述错误的消息初始化 类的新实例。 + + + 使用指定的描述错误的消息初始化 类的新实例。 + 描述该异常的消息。此构造函数的调用方需要确保此字符串已针对当前系统区域性进行了本地化。 + + + 初始化 类的新实例,该实例具有指定的错误消息以及对导致此异常的内部异常的引用。 + 解释异常原因的错误信息。 + 导致当前异常的异常;如果未指定内部异常,则为空引用。 + + + \ No newline at end of file diff --git a/packages/Microsoft.CSharp.4.5.0/ref/netcore50/zh-hant/Microsoft.CSharp.xml b/packages/Microsoft.CSharp.4.5.0/ref/netcore50/zh-hant/Microsoft.CSharp.xml new file mode 100644 index 0000000..043924f --- /dev/null +++ b/packages/Microsoft.CSharp.4.5.0/ref/netcore50/zh-hant/Microsoft.CSharp.xml @@ -0,0 +1,211 @@ + + + + Microsoft.CSharp + + + + 包含建立 CSharp 動態呼叫位置繫結器的 Factory 方法。 + + + 初始化新的 CSharp 二進位運算繫結器。 + 傳回新的 CSharp 二進位運算繫結器。 + 用來初始化繫結器的旗標。 + 二元運算類型。 + + ,指定在何處使用此作業。 + + 執行個體的序列,做為這個運算的引數。 + + + 初始化新的 CSharp 轉換繫結器。 + 傳回新的 CSharp 轉換繫結器。 + 用來初始化繫結器的旗標。 + 要轉換成的型別。 + + ,指定在何處使用此作業。 + + + 初始化新的 CSharp get 索引繫結器。 + 傳回新的 CSharp get 索引繫結器。 + 用來初始化繫結器的旗標。 + + ,指定在何處使用此作業。 + + 執行個體的序列,做為這個運算的引數。 + + + 初始化新的 CSharp get 成員繫結器。 + 傳回新的 CSharp get 成員繫結器。 + 用來初始化繫結器的旗標。 + 要取得的成員名稱。 + + ,指定在何處使用此作業。 + + 執行個體的序列,做為這個運算的引數。 + + + 初始化新的 CSharp 叫用繫結器。 + 傳回新的 CSharp 叫用繫結器。 + 用來初始化繫結器的旗標。 + + ,指定在何處使用此作業。 + + 執行個體的序列,做為這個運算的引數。 + + + 初始化新的 CSharp 叫用建構函式繫結器。 + 傳回新的 CSharp 叫用建構函式繫結器。 + 用來初始化繫結器的旗標。 + + ,指定在何處使用此作業。 + + 執行個體的序列,做為這個運算的引數。 + + + 初始化新的 CSharp 叫用成員繫結器。 + 傳回新的 CSharp 叫用成員繫結器。 + 用來初始化繫結器的旗標。 + 要叫用的成員名稱。 + 為此叫用指定之型別引數的清單。 + + ,指定在何處使用此作業。 + + 執行個體的序列,做為這個運算的引數。 + + + 初始化新的 CSharp Is 事件繫結器。 + 傳回新的 CSharp Is 事件繫結器。 + 用來初始化繫結器的旗標。 + 要尋找之事件的名稱。 + + ,指定在何處使用此作業。 + + + 初始化新的 CSharp set 索引繫結器。 + 傳回新的 CSharp set 索引繫結器。 + 用來初始化繫結器的旗標。 + + ,指定在何處使用此作業。 + + 執行個體的序列,做為這個運算的引數。 + + + 初始化新的 CSharp set 成員繫結器。 + 傳回新的 CSharp set 成員繫結器。 + 用來初始化繫結器的旗標。 + 要設定之成員的名稱。 + + ,指定在何處使用此作業。 + + 執行個體的序列,做為這個運算的引數。 + + + 初始化新的 CSharp 一元運算繫結器。 + 傳回新的 CSharp 一元運算繫結器。 + 用來初始化繫結器的旗標。 + 一元運算類型。 + + ,指定在何處使用此作業。 + + 執行個體的序列,做為這個運算的引數。 + + + 表示呼叫位置上特定引數特有的 C# 動態運算的相關資訊。這個類別的執行個體會由 C# 編譯器產生。 + + + 初始化 類別的新執行個體。 + + 類別的新執行個體。 + 引數的旗標。 + 如果是具名引數,則為引數的名稱,否則為 null。 + + + 表示呼叫位置上特定引數特有的 C# 動態運算的相關資訊。這個類別的執行個體會由 C# 編譯器產生。 + + + 引數為常數。 + + + 引數傳遞給 out 參數。 + + + 引數傳遞給 ref 參數。 + + + 引數為 ,表示來源中使用的實際型別名稱。只用於靜態呼叫中的目標物件。 + + + 引數為具名引數。 + + + 無其他要表示的資訊。 + + + 繫結期間應該考慮引數的編譯時期型別。 + + + 表示呼叫位置上非特定引數特有的 C# 動態運算的相關資訊。這個類別的執行個體會由 C# 編譯器產生。 + + + 繫結器表示邏輯 AND 或邏輯 OR,這些是條件邏輯運算子評估的一部分。 + + + 此繫結器的評估會在檢查的內容中進行。 + + + 繫結器表示陣列建立運算式中使用的隱含轉換。 + + + 繫結器表示明確轉換。 + + + 繫結器表示在簡單名稱上叫用。 + + + 繫結器表示在 Specialname 上叫用。 + + + 此繫結器不需要額外的資訊。 + + + 繫結器用於不需要結果的位置,因此可以繫結至傳回 Void 的方法。 + + + 任何繫結的結果都會變成索引的 get 索引或 set 索引,或 get 索引繫結器。 + + + 此 set 索引或 set 成員中的值為複合指派運算子。 + + + 表示在處理 C# 執行階段繫結器中的動態繫結時所發生的錯誤。 + + + 初始化 類別的新執行個體。 + + + 初始化 類別的新執行個體,這個執行個體有指定的錯誤訊息。 + 說明例外狀況的訊息。這個建構函式的呼叫端必須確保這個字串已經為目前系統的文化特性當地語系化。 + + + 初始化 類別的新執行個體,這個執行個體有指定的錯誤訊息和造成這個例外狀況發生之內部例外狀況的參考。 + 解釋例外狀況原因的錯誤訊息。 + 導致目前例外狀況發生的例外狀況,如果沒有指定內部例外狀況則為 null 參考。 + + + 表示在處理 C# 執行階段繫結器中的動態繫結時所發生的錯誤。 + + + 以系統提供的錯誤說明訊息,初始化 類別的新執行個體。 + + + 使用指定的錯誤說明訊息,初始化 類別的新執行個體。 + 說明例外狀況的訊息。這個建構函式的呼叫端必須確保這個字串已經為目前系統的文化特性當地語系化。 + + + 初始化 類別的新執行個體,這個執行個體有指定的錯誤訊息和造成這個例外狀況發生之內部例外狀況的參考。 + 解釋例外狀況原因的錯誤訊息。 + 導致目前例外狀況發生的例外狀況,如果沒有指定內部例外狀況則為 null 參考。 + + + \ No newline at end of file diff --git a/packages/Microsoft.CSharp.4.5.0/ref/netcoreapp2.0/_._ b/packages/Microsoft.CSharp.4.5.0/ref/netcoreapp2.0/_._ new file mode 100644 index 0000000..e69de29 diff --git a/packages/Microsoft.CSharp.4.5.0/ref/netstandard1.0/Microsoft.CSharp.dll b/packages/Microsoft.CSharp.4.5.0/ref/netstandard1.0/Microsoft.CSharp.dll new file mode 100644 index 0000000..3e2c049 Binary files /dev/null and b/packages/Microsoft.CSharp.4.5.0/ref/netstandard1.0/Microsoft.CSharp.dll differ diff --git a/packages/Microsoft.CSharp.4.5.0/ref/netstandard1.0/Microsoft.CSharp.xml b/packages/Microsoft.CSharp.4.5.0/ref/netstandard1.0/Microsoft.CSharp.xml new file mode 100644 index 0000000..24b5eba --- /dev/null +++ b/packages/Microsoft.CSharp.4.5.0/ref/netstandard1.0/Microsoft.CSharp.xml @@ -0,0 +1,190 @@ + + + + Microsoft.CSharp + + + + Contains factory methods to create dynamic call site binders for CSharp. + + + Initializes a new CSharp binary operation binder. + Returns a new CSharp binary operation binder. + The flags with which to initialize the binder. + The binary operation kind. + The that indicates where this operation is used. + The sequence of instances for the arguments to this operation. + + + Initializes a new CSharp convert binder. + Returns a new CSharp convert binder. + The flags with which to initialize the binder. + The type to convert to. + The that indicates where this operation is used. + + + Initializes a new CSharp get index binder. + Returns a new CSharp get index binder. + The flags with which to initialize the binder. + The that indicates where this operation is used. + The sequence of instances for the arguments to this operation. + + + Initializes a new CSharp get member binder. + Returns a new CSharp get member binder. + The flags with which to initialize the binder. + The name of the member to get. + The that indicates where this operation is used. + The sequence of instances for the arguments to this operation. + + + Initializes a new CSharp invoke binder. + Returns a new CSharp invoke binder. + The flags with which to initialize the binder. + The that indicates where this operation is used. + The sequence of instances for the arguments to this operation. + + + Initializes a new CSharp invoke constructor binder. + Returns a new CSharp invoke constructor binder. + The flags with which to initialize the binder. + The that indicates where this operation is used. + The sequence of instances for the arguments to this operation. + + + Initializes a new CSharp invoke member binder. + Returns a new CSharp invoke member binder. + The flags with which to initialize the binder. + The name of the member to invoke. + The list of type arguments specified for this invoke. + The that indicates where this operation is used. + The sequence of instances for the arguments to this operation. + + + Initializes a new CSharp is event binder. + Returns a new CSharp is event binder. + The flags with which to initialize the binder. + The name of the event to look for. + The that indicates where this operation is used. + + + Initializes a new CSharp set index binder. + Returns a new CSharp set index binder. + The flags with which to initialize the binder. + The that indicates where this operation is used. + The sequence of instances for the arguments to this operation. + + + Initializes a new CSharp set member binder. + Returns a new CSharp set member binder. + The flags with which to initialize the binder. + The name of the member to set. + The that indicates where this operation is used. + The sequence of instances for the arguments to this operation. + + + Initializes a new CSharp unary operation binder. + Returns a new CSharp unary operation binder. + The flags with which to initialize the binder. + The unary operation kind. + The that indicates where this operation is used. + The sequence of instances for the arguments to this operation. + + + Represents information about C# dynamic operations that are specific to particular arguments at a call site. Instances of this class are generated by the C# compiler. + + + Initializes a new instance of the class. + A new instance of the class. + The flags for the argument. + The name of the argument, if named; otherwise null. + + + Represents information about C# dynamic operations that are specific to particular arguments at a call site. Instances of this class are generated by the C# compiler. + + + The argument is a constant. + + + The argument is passed to an out parameter. + + + The argument is passed to a ref parameter. + + + The argument is a indicating an actual type name used in source. Used only for target objects in static calls. + + + The argument is a named argument. + + + No additional information to represent. + + + The argument's compile-time type should be considered during binding. + + + Represents information about C# dynamic operations that are not specific to particular arguments at a call site. Instances of this class are generated by the C# compiler. + + + The binder represents a logical AND or logical OR that is part of a conditional logical operator evaluation. + + + The evaluation of this binder happens in a checked context. + + + The binder represents an implicit conversion for use in an array creation expression. + + + The binder represents an explicit conversion. + + + The binder represents an invoke on a simple name. + + + The binder represents an invoke on a specialname. + + + There is no additional information required for this binder. + + + The binder is used in a position that does not require a result, and can therefore bind to a void returning method. + + + The result of any bind is going to be indexed get a set index or get index binder. + + + The value in this set index or set member comes a compound assignment operator. + + + Represents an error that occurs when a dynamic bind in the C# runtime binder is processed. + + + Initializes a new instance of the class. + + + Initializes a new instance of the class that has a specified error message. + The message that describes the exception. The caller of this constructor is required to ensure that this string has been localized for the current system culture. + + + Initializes a new instance of the class that has a specified error message and a reference to the inner exception that is the cause of this exception. + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference if no inner exception is specified. + + + Represents an error that occurs when a dynamic bind in the C# runtime binder is processed. + + + Initializes a new instance of the class with a system-supplied message that describes the error. + + + Initializes a new instance of the class with a specified message that describes the error. + The message that describes the exception. The caller of this constructor is required to ensure that this string has been localized for the current system culture. + + + Initializes a new instance of the class that has a specified error message and a reference to the inner exception that is the cause of this exception. + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference if no inner exception is specified. + + + \ No newline at end of file diff --git a/packages/Microsoft.CSharp.4.5.0/ref/netstandard1.0/de/Microsoft.CSharp.xml b/packages/Microsoft.CSharp.4.5.0/ref/netstandard1.0/de/Microsoft.CSharp.xml new file mode 100644 index 0000000..5e90c8c --- /dev/null +++ b/packages/Microsoft.CSharp.4.5.0/ref/netstandard1.0/de/Microsoft.CSharp.xml @@ -0,0 +1,190 @@ + + + + Microsoft.CSharp + + + + Enthält Factorymethoden zum Erstellen dynamischer Aufrufsitebinder für CSharp. + + + Initialisiert einen neuen Binder für binäre CSharp-Vorgänge. + Gibt einen neuen Binder für binäre CSharp-Vorgänge zurück. + Die Flags, mit denen der Binder initialisiert werden soll. + Die Art des binären Vorgangs. + Der , der angibt, an welcher Position dieser Vorgang verwendet wird. + Die Sequenz von -Instanzen für die Argumente dieses Vorgangs. + + + Initialisiert einen neuen CSharp-Konvertierungsbinder. + Gibt einen neuen CSharp-Konvertierungsbinder zurück. + Die Flags, mit denen der Binder initialisiert werden soll. + Der Typ, in den konvertiert werden soll. + Der , der angibt, an welcher Position dieser Vorgang verwendet wird. + + + Initialisiert einen neuen Binder zum Abrufen von CSharp-Indizes. + Gibt einen neuen Binder zum Abrufen von CSharp-Indizes zurück. + Die Flags, mit denen der Binder initialisiert werden soll. + Der , der angibt, an welcher Position dieser Vorgang verwendet wird. + Die Sequenz von -Instanzen für die Argumente dieses Vorgangs. + + + Initialisiert einen neuen Binder zum Abrufen von CSharp-Membern. + Gibt einen neuen Binder zum Abrufen von CSharp-Membern zurück. + Die Flags, mit denen der Binder initialisiert werden soll. + Der Name des abzurufenden Members. + Der , der angibt, an welcher Position dieser Vorgang verwendet wird. + Die Sequenz von -Instanzen für die Argumente dieses Vorgangs. + + + Initialisiert einen neuen CSharp-Aufrufbinder. + Gibt einen neuen CSharp-Aufrufbinder zurück. + Die Flags, mit denen der Binder initialisiert werden soll. + Der , der angibt, an welcher Position dieser Vorgang verwendet wird. + Die Sequenz von -Instanzen für die Argumente dieses Vorgangs. + + + Initialisiert einen neuen CSharp-Aufrufkonstruktorbinder. + Gibt einen neuen CSharp-Aufrufkonstruktorbinder zurück. + Die Flags, mit denen der Binder initialisiert werden soll. + Der , der angibt, an welcher Position dieser Vorgang verwendet wird. + Die Sequenz von -Instanzen für die Argumente dieses Vorgangs. + + + Initialisiert einen neuen CSharp-Aufrufmemberbinder. + Gibt einen neuen CSharp-Aufrufmemberbinder zurück. + Die Flags, mit denen der Binder initialisiert werden soll. + Der Name des aufzurufenden Members. + Die Liste der für diesen Aufruf angegebenen Typargumente. + Der , der angibt, an welcher Position dieser Vorgang verwendet wird. + Die Sequenz von -Instanzen für die Argumente dieses Vorgangs. + + + Initialisiert einen neuen CSharp-ist-Ereignis-Binder. + Gibt einen neuen CSharp-ist-Ereignis-Binder zurück. + Die Flags, mit denen der Binder initialisiert werden soll. + Der Name des zu suchenden Ereignisses. + Der , der angibt, an welcher Position dieser Vorgang verwendet wird. + + + Initialisiert einen neuen Binder zum Festlegen von CSharp-Indizes. + Gibt einen neuen Binder zum Festlegen von CSharp-Indizes zurück. + Die Flags, mit denen der Binder initialisiert werden soll. + Der , der angibt, an welcher Position dieser Vorgang verwendet wird. + Die Sequenz von -Instanzen für die Argumente dieses Vorgangs. + + + Initialisiert einen neuen Binder zum Festlegen von CSharp-Membern. + Gibt einen neuen Binder zum Festlegen von CSharp-Membern zurück. + Die Flags, mit denen der Binder initialisiert werden soll. + Der Name des festzulegenden Members. + Der , der angibt, an welcher Position dieser Vorgang verwendet wird. + Die Sequenz von -Instanzen für die Argumente dieses Vorgangs. + + + Initialisiert einen neuen Binder für unäre CSharp-Vorgänge. + Gibt einen neuen Binder für unäre CSharp-Vorgänge zurück. + Die Flags, mit denen der Binder initialisiert werden soll. + Die Art des unären Vorgangs. + Der , der angibt, an welcher Position dieser Vorgang verwendet wird. + Die Sequenz von -Instanzen für die Argumente dieses Vorgangs. + + + Stellt Informationen zu dynamischen C#-Vorgängen dar, die für bestimmte Argumente auf einer Aufrufsite spezifisch sind.Instanzen dieser Klasse werden vom C#-Compiler generiert. + + + Initialisiert eine neue Instanz der -Klasse. + Eine neue Instanz der -Klasse. + Die Flags für das Argument. + Der Name des Arguments, wenn es sich um ein benanntes Argument handelt, andernfalls NULL. + + + Stellt Informationen zu dynamischen C#-Vorgängen dar, die für bestimmte Argumente auf einer Aufrufsite spezifisch sind.Instanzen dieser Klasse werden vom C#-Compiler generiert. + + + Das Argument ist eine Konstante. + + + Das Argument wird an einen Out-Parameter übergeben. + + + Das Argument wird an einen Ref-Parameter übergeben. + + + Das Argument ist ein , der einen tatsächlichen, in der Quelle verwendeten Typnamen angibt.Wird nur für Zielobjekte in statischen Aufrufen verwendet. + + + Das Argument ist ein benanntes Argument. + + + Es sind keine weitere Informationen vorhanden, die dargestellt werden können. + + + Während der Bindung muss der Kompilierzeittyp des Arguments berücksichtigt werden. + + + Stellt Informationen zu dynamischen C#-Vorgängen dar, die nicht spezifisch für bestimmte Argumente auf einer Aufrufsite sind.Instanzen dieser Klasse werden vom C#-Compiler generiert. + + + Der Binder stellt ein logisches AND oder logisches OR dar, das Teil einer bedingten logischen Operatorauswertung ist. + + + Die Auswertung für diesen Binder erfolgt in einem überprüften Kontext. + + + Der Binder stellt eine implizite Konvertierung für die Verwendung in einem Arrayerstellungsausdruck dar. + + + Der Binder stellt eine explizite Konvertierung dar. + + + Der Binder stellt einen Aufruf für einen einfachen Namen dar. + + + Der Binder stellt einen Aufruf für einen besonderen Namen dar. + + + Für diesen Binder sind keine zusätzlichen Informationen erforderlich. + + + Der Binder wird an einer Position verwendet, an der kein Ergebnis erforderlich ist, und kann daher an eine leere Rückgabemethode binden. + + + Das Ergebnis einer Bindung wird indiziert, es wird ein Binder zum Festlegen oder Abrufen von Indizes abgerufen. + + + Der Wert in diesem festgelegten Index oder festgelegten Member ist ein Verbundzuweisungsoperator. + + + Stellt einen Fehler dar, der auftritt, wenn eine dynamische Bindung im C#-Laufzeitbinder verarbeitet wird. + + + Initialisiert eine neue Instanz der -Klasse. + + + Initialisiert eine neue Instanz der -Klasse, die über eine angegebene Fehlermeldung verfügt. + Die Meldung, in der die Ausnahme beschrieben wirdDer Aufrufer dieses Konstruktors muss sicherstellen, dass diese Zeichenfolge für die aktuelle Systemkultur lokalisiert wurde. + + + Initialisiert eine neue Instanz der -Klasse mit einer angegebenen Fehlermeldung und einem Verweis auf die innere Ausnahme, die diese Ausnahme ausgelöst hat. + Die Fehlermeldung, in der die Ursache der Ausnahme erklärt wird. + Die Ausnahme, die die aktuelle Ausnahme ausgelöst hat, oder ein NULL-Verweis, wenn keine innere Ausnahme angegeben ist. + + + Stellt einen Fehler dar, der auftritt, wenn eine dynamische Bindung im C#-Laufzeitbinder verarbeitet wird. + + + Initialisiert eine neue Instanz der -Klasse mit einer vom System bereitgestellten Meldung, die den Fehler beschreibt. + + + Initialisiert eine neue Instanz der -Klasse mit einer angegebenen Meldung, die den Fehler beschreibt. + Die Meldung, in der die Ausnahme beschrieben wirdDer Aufrufer dieses Konstruktors muss sicherstellen, dass diese Zeichenfolge für die aktuelle Systemkultur lokalisiert wurde. + + + Initialisiert eine neue Instanz der -Klasse mit einer angegebenen Fehlermeldung und einem Verweis auf die innere Ausnahme, die diese Ausnahme ausgelöst hat. + Die Fehlermeldung, in der die Ursache der Ausnahme erklärt wird. + Die Ausnahme, die die aktuelle Ausnahme ausgelöst hat, oder ein NULL-Verweis, wenn keine innere Ausnahme angegeben ist. + + + \ No newline at end of file diff --git a/packages/Microsoft.CSharp.4.5.0/ref/netstandard1.0/es/Microsoft.CSharp.xml b/packages/Microsoft.CSharp.4.5.0/ref/netstandard1.0/es/Microsoft.CSharp.xml new file mode 100644 index 0000000..dc76977 --- /dev/null +++ b/packages/Microsoft.CSharp.4.5.0/ref/netstandard1.0/es/Microsoft.CSharp.xml @@ -0,0 +1,190 @@ + + + + Microsoft.CSharp + + + + Contiene métodos de generador que permiten crear enlazadores de sitios de llamada dinámicos para CSharp. + + + Inicializa un nuevo enlazador de operaciones binarias de CSharp. + Devuelve un nuevo enlazador de operaciones binarias de CSharp. + Marcas con las que se va a inicializar el enlazador. + Tipo de operación binaria. + Objeto que indica dónde se usa esta operación. + Secuencia de instancias de para los argumentos de esta operación. + + + Inicializa un nuevo enlazador de conversiones de CSharp. + Devuelve un nuevo enlazador de conversiones de CSharp. + Marcas con las que se va a inicializar el enlazador. + Tipo en el que se va a convertir. + Objeto que indica dónde se usa esta operación. + + + Inicializa un nuevo enlazador de operaciones de obtención de índice de CSharp. + Devuelve un nuevo enlazador de operaciones de obtención de índice de CSharp. + Marcas con las que se va a inicializar el enlazador. + Objeto que indica dónde se usa esta operación. + Secuencia de instancias de para los argumentos de esta operación. + + + Inicializa un nuevo enlazador de operaciones de obtención de miembro de CSharp. + Devuelve un nuevo enlazador de operaciones de obtención de miembro de CSharp. + Marcas con las que se va a inicializar el enlazador. + Nombre del miembro que se va a obtener. + Objeto que indica dónde se usa esta operación. + Secuencia de instancias de para los argumentos de esta operación. + + + Inicializa un nuevo enlazador de invocaciones de CSharp. + Devuelve un nuevo enlazador de invocaciones de CSharp. + Marcas con las que se va a inicializar el enlazador. + Objeto que indica dónde se usa esta operación. + Secuencia de instancias de para los argumentos de esta operación. + + + Inicializa un nuevo enlazador de invocaciones de constructor de CSharp. + Devuelve un nuevo enlazador de invocaciones de constructor de CSharp. + Marcas con las que se va a inicializar el enlazador. + Objeto que indica dónde se usa esta operación. + Secuencia de instancias de para los argumentos de esta operación. + + + Inicializa un nuevo enlazador de invocaciones de miembro de CSharp. + Devuelve un nuevo enlazador de invocaciones de miembro de CSharp. + Marcas con las que se va a inicializar el enlazador. + Nombre del miembro al que se va a invocar. + Lista de los argumentos de tipo especificados para esta invocación. + Objeto que indica dónde se usa esta operación. + Secuencia de instancias de para los argumentos de esta operación. + + + Inicializa un nuevo enlazador de búsquedas de eventos de CSharp. + Devuelve un nuevo enlazador de búsquedas de eventos de CSharp. + Marcas con las que se va a inicializar el enlazador. + Nombre del evento que se va a buscar. + Objeto que indica dónde se usa esta operación. + + + Inicializa un nuevo enlazador de operaciones de establecimiento de índice de CSharp. + Devuelve un nuevo enlazador de operaciones de establecimiento de índice de CSharp. + Marcas con las que se va a inicializar el enlazador. + Objeto que indica dónde se usa esta operación. + Secuencia de instancias de para los argumentos de esta operación. + + + Inicializa un nuevo enlazador de operaciones de establecimiento de miembro de CSharp. + Devuelve un nuevo enlazador de operaciones de establecimiento de miembro de CSharp. + Marcas con las que se va a inicializar el enlazador. + Nombre del miembro que se va a establecer. + Objeto que indica dónde se usa esta operación. + Secuencia de instancias de para los argumentos de esta operación. + + + Inicializa un nuevo enlazador de operaciones unarias de CSharp. + Devuelve un nuevo enlazador de operaciones unarias de CSharp. + Marcas con las que se va a inicializar el enlazador. + Tipo de operación unaria. + Objeto que indica dónde se usa esta operación. + Secuencia de instancias de para los argumentos de esta operación. + + + Representa información sobre las operaciones dinámicas de C# que son específicas de argumentos concretos en un lugar de llamada.Las instancias de esta clase se generan mediante el compilador de C#. + + + Inicializa una nueva instancia de la clase . + Nueva instancia de la clase . + Marcas para el argumento. + Nombre del argumento, si lo tiene; de lo contrario, NULL. + + + Representa información sobre las operaciones dinámicas de C# que son específicas de argumentos concretos en un lugar de llamada.Las instancias de esta clase se generan mediante el compilador de C#. + + + El argumento es una constante. + + + El argumento se pasa a un parámetro out. + + + El argumento se pasa a un parámetro ref. + + + El argumento es un objeto que indica un nombre de tipo real utilizado en origen.Únicamente se usa para los objetos de destino en las llamadas estáticas. + + + Es un argumento con nombre. + + + Ninguna información adicional para representar. + + + El tipo de tiempo de compilación del argumento debe considerarse durante el enlace. + + + Representa información sobre las operaciones dinámicas de C# que no son específicas de argumentos concretos en un sitio de llamada.Las instancias de esta clase se generan mediante el compilador de C#. + + + El enlazador representa un operador AND lógico u OR lógico que forma parte de una evaluación de operadores lógicos condicionales. + + + La evaluación de este enlazador se lleva a cabo en un contexto comprobado. + + + El enlazador representa una conversión implícita que se puede usar en una expresión de creación de matrices. + + + El enlazador representa una conversión explícita. + + + El enlazador representa una invocación en un nombre simple. + + + El enlazador representa una invocación en un nombre especial. + + + Este enlazador no requiere ninguna información adicional. + + + El enlazador se usa en una posición que no requiere un resultado y, por lo tanto, se puede enlazar a un método que devuelva void. + + + El resultado de cualquier enlace que se vaya a indizar obtiene un enlazador de índice set o de índice get. + + + El valor de este índice o miembro set se convierte en un operador de asignación compuesto. + + + Representa un error que se produce cuando se procesa un enlace dinámico en el enlazador en tiempo de ejecución de C#. + + + Inicializa una nueva instancia de la clase . + + + Inicializa una nueva instancia de la clase que tiene un mensaje de error especificado. + Mensaje que describe la excepción.El llamador de este constructor debe asegurarse de que esta cadena se ha traducido para la actual referencia cultural del sistema. + + + Inicializa una nueva instancia de la clase que tiene un mensaje de error especificado y una referencia a la excepción interna que representa la causa de esta excepción. + Mensaje de error que explica la razón de la excepción. + Excepción que es la causa de la excepción actual, o una referencia nula si no se especifica ninguna excepción interna. + + + Representa un error que se produce cuando se procesa un enlace dinámico en el enlazador en tiempo de ejecución de C#. + + + Inicializa una nueva instancia de la clase con un mensaje proporcionado por el sistema que describe el error. + + + Inicializa una nueva instancia de la clase con un mensaje de error especificado que describe el error. + Mensaje que describe la excepción.El llamador de este constructor debe asegurarse de que esta cadena se ha traducido para la actual referencia cultural del sistema. + + + Inicializa una nueva instancia de la clase que tiene un mensaje de error especificado y una referencia a la excepción interna que representa la causa de esta excepción. + Mensaje de error que explica la razón de la excepción. + Excepción que es la causa de la excepción actual, o una referencia nula si no se especifica ninguna excepción interna. + + + \ No newline at end of file diff --git a/packages/Microsoft.CSharp.4.5.0/ref/netstandard1.0/fr/Microsoft.CSharp.xml b/packages/Microsoft.CSharp.4.5.0/ref/netstandard1.0/fr/Microsoft.CSharp.xml new file mode 100644 index 0000000..6ac8b3b --- /dev/null +++ b/packages/Microsoft.CSharp.4.5.0/ref/netstandard1.0/fr/Microsoft.CSharp.xml @@ -0,0 +1,201 @@ + + + + Microsoft.CSharp + + + + Contient des méthodes de fabrique pour créer des classeurs de sites d'appel dynamiques pour CSharp. + + + Initialise un nouveau classeur d'opérations binaires CSharp. + Retourne un nouveau classeur d'opérations binaires CSharp. + Indicateurs avec lesquels initialiser le classeur. + Type d'opération binaire. + + qui indique où cette opération est utilisée. + Séquence d'instances pour les arguments de cette opération. + + + Initialise un nouveau classeur de conversion CSharp. + Retourne un nouveau classeur de conversion CSharp. + Indicateurs avec lesquels initialiser le classeur. + Type dans lequel convertir. + + qui indique où cette opération est utilisée. + + + Initialise un nouveau classeur d'obtention d'index CSharp. + Retourne un nouveau classeur d'obtention d'index CSharp. + Indicateurs avec lesquels initialiser le classeur. + + qui indique où cette opération est utilisée. + Séquence d'instances pour les arguments de cette opération. + + + Initialise un nouveau classeur d'obtention de membre CSharp. + Retourne un nouveau classeur d'obtention de membre CSharp. + Indicateurs avec lesquels initialiser le classeur. + Nom du membre à obtenir. + + qui indique où cette opération est utilisée. + Séquence d'instances pour les arguments de cette opération. + + + Initialise un nouveau classeur d'appel CSharp. + Retourne un nouveau classeur d'appel CSharp. + Indicateurs avec lesquels initialiser le classeur. + + qui indique où cette opération est utilisée. + Séquence d'instances pour les arguments de cette opération. + + + Initialise un nouveau classeur de constructeurs appelés CSharp. + Retourne un nouveau classeur de constructeurs appelés CSharp. + Indicateurs avec lesquels initialiser le classeur. + + qui indique où cette opération est utilisée. + Séquence d'instances pour les arguments de cette opération. + + + Initialise un nouveau classeur de membres appelés CSharp. + Retourne un nouveau classeur de membres appelés CSharp. + Indicateurs avec lesquels initialiser le classeur. + Nom du membre à appeler. + Liste d'arguments de type spécifiés pour cet appel. + + qui indique où cette opération est utilisée. + Séquence d'instances pour les arguments de cette opération. + + + Initialise un nouveau classeur d'événements CSharp. + Retourne un nouveau classeur d'événement CSharp. + Indicateurs avec lesquels initialiser le classeur. + Nom de l'événement à rechercher. + + qui indique où cette opération est utilisée. + + + Initialise un nouveau classeur de définition d'index CSharp. + Retourne un nouveau classeur de définition d'index CSharp. + Indicateurs avec lesquels initialiser le classeur. + + qui indique où cette opération est utilisée. + Séquence d'instances pour les arguments de cette opération. + + + Initialise un nouveau classeur de définition de membre CSharp. + Retourne un nouveau classeur de définition de membre CSharp. + Indicateurs avec lesquels initialiser le classeur. + Nom du membre à définir. + + qui indique où cette opération est utilisée. + Séquence d'instances pour les arguments de cette opération. + + + Initialise un nouveau classeur d'opérations unaires CSharp. + Retourne un nouveau classeur d'opérations unaires CSharp. + Indicateurs avec lesquels initialiser le classeur. + Type d'opération unaire. + + qui indique où cette opération est utilisée. + Séquence d'instances pour les arguments de cette opération. + + + Représente les informations relatives aux opérations dynamiques en C# qui sont spécifiques à des arguments particuliers sur un site d'appel.Les instances de cette classe sont générées par le compilateur C#. + + + Initialise une nouvelle instance de la classe . + Nouvelle instance de la classe . + Indicateurs de l'argument. + Nom de l'argument, s'il est nommé ; sinon, null. + + + Représente les informations relatives aux opérations dynamiques en C# qui sont spécifiques à des arguments particuliers sur un site d'appel.Les instances de cette classe sont générées par le compilateur C#. + + + L'argument est une constante. + + + L'argument est passé à un paramètre de sortie (out). + + + L'argument est passé à un paramètre de référence (ref). + + + L'argument est un qui indique un nom de type réel utilisé dans la source.Utilisé uniquement pour les objets cible dans les appels statiques. + + + L'argument est un argument nommé. + + + Aucune information supplémentaire à représenter. + + + Le type de l'argument au moment de la compilation doit être considéré pendant la liaison. + + + Représente les informations relatives aux opérations dynamiques en C# qui ne sont pas spécifiques à des arguments particuliers sur un site d'appel.Les instances de cette classe sont générées par le compilateur C#. + + + Le classeur représente un AND logique ou un OR logique faisant partie d'une évaluation d'opérateur logique conditionnelle. + + + L'évaluation de ce classeur s'effectue dans un contexte vérifié (checked). + + + Le classeur représente une conversion implicite pour une utilisation dans une expression de création de tableau. + + + Le classeur représente une conversion explicite. + + + Le classeur représente un appel sur un nom simple. + + + Le classeur représente un appel sur un nom spécial. + + + Aucune information supplémentaire n'est requise pour ce classeur. + + + Le classeur est utilisé à un emplacement qui ne requiert pas de résultat et peut par conséquent créer une liaison avec une méthode retournant void. + + + Le résultat de n'importe quel lien sera un classeur indexé d'obtention d'index ou de membre défini. + + + La valeur dans cet index défini ou membre défini provient d'un opérateur d'assignation composée. + + + Représente une erreur qui se produit lorsqu'un lien dynamique dans le binder d'exécution C# est traité. + + + Initialise une nouvelle instance de la classe . + + + Initialise une nouvelle instance de la classe qui comporte un message d'erreur spécifié. + Message qui décrit l'exception.L'appelant de ce constructeur doit vérifier que cette chaîne a été localisée pour la culture du système en cours. + + + Initialise une nouvelle instance de la classe qui comporte un message d'erreur spécifié et une référence à l'exception interne à l'origine de cette exception. + Message d'erreur indiquant la raison de l'exception. + Exception à l'origine de l'exception actuelle, ou référence null si aucune exception interne n'est spécifiée. + + + Représente une erreur qui se produit lorsqu'un lien dynamique dans le binder d'exécution C# est traité. + + + Initialise une nouvelle instance de la classe avec un message système décrivant l'erreur. + + + Initialise une nouvelle instance de la classe avec un message spécifié décrivant l'erreur. + Message qui décrit l'exception.L'appelant de ce constructeur doit vérifier que cette chaîne a été localisée pour la culture du système en cours. + + + Initialise une nouvelle instance de la classe qui comporte un message d'erreur spécifié et une référence à l'exception interne à l'origine de cette exception. + Message d'erreur indiquant la raison de l'exception. + Exception à l'origine de l'exception actuelle, ou référence null si aucune exception interne n'est spécifiée. + + + \ No newline at end of file diff --git a/packages/Microsoft.CSharp.4.5.0/ref/netstandard1.0/it/Microsoft.CSharp.xml b/packages/Microsoft.CSharp.4.5.0/ref/netstandard1.0/it/Microsoft.CSharp.xml new file mode 100644 index 0000000..e7621f3 --- /dev/null +++ b/packages/Microsoft.CSharp.4.5.0/ref/netstandard1.0/it/Microsoft.CSharp.xml @@ -0,0 +1,190 @@ + + + + Microsoft.CSharp + + + + Contiene metodi factory per creare gestori di associazione del sito di chiamata dinamica per CSharp. + + + Inizializza un nuovo gestore di associazione dell'operazione binaria di CSharp. + Restituisce un nuovo gestore di associazione dell'operazione binaria di CSharp. + Flag con cui inizializzare il gestore di associazione. + Tipo di operazione binaria. + Oggetto che indica il contesto in cui viene utilizzata l'operazione. + Sequenza di istanze di per gli argomenti dell'operazione. + + + Inizializza un nuovo gestore di associazione delle conversioni di CSharp. + Restituisce un nuovo gestore di associazione delle conversioni di CSharp. + Flag con cui inizializzare il gestore di associazione. + Tipo in cui eseguire la conversione. + Oggetto che indica il contesto in cui viene utilizzata l'operazione. + + + Inizializza un nuovo gestore di associazione dell'indice get di CSharp. + Restituisce un nuovo gestore di associazione dell'indice get di CSharp. + Flag con cui inizializzare il gestore di associazione. + Oggetto che indica il contesto in cui viene utilizzata l'operazione. + Sequenza di istanze di per gli argomenti dell'operazione. + + + Inizializza un nuovo gestore di associazione del membro get di CSharp. + Restituisce un nuovo gestore di associazione del membro get di CSharp. + Flag con cui inizializzare il gestore di associazione. + Nome del membro da ottenere. + Oggetto che indica il contesto in cui viene utilizzata l'operazione. + Sequenza di istanze di per gli argomenti dell'operazione. + + + Inizializza un nuovo gestore di associazione invoke di CSharp. + Restituisce un nuovo gestore di associazione invoke di CSharp. + Flag con cui inizializzare il gestore di associazione. + Oggetto che indica il contesto in cui viene utilizzata l'operazione. + Sequenza di istanze di per gli argomenti dell'operazione. + + + Inizializza un nuovo gestore di associazione del costruttore invoke di CSharp. + Restituisce un nuovo gestore di associazione del costruttore invoke di CSharp. + Flag con cui inizializzare il gestore di associazione. + Oggetto che indica il contesto in cui viene utilizzata l'operazione. + Sequenza di istanze di per gli argomenti dell'operazione. + + + Inizializza un nuovo gestore di associazione del membro invoke di CSharp. + Restituisce un nuovo gestore di associazione del membro invoke di CSharp. + Flag con cui inizializzare il gestore di associazione. + Nome del membro da richiamare, + Elenco di argomenti del tipo specificati per la chiamata. + Oggetto che indica il contesto in cui viene utilizzata l'operazione. + Sequenza di istanze di per gli argomenti dell'operazione. + + + Inizializza un nuovo gestore di associazione degli eventi is di CSharp. + Restituisce un nuovo gestore di associazione degli eventi is di CSharp. + Flag con cui inizializzare il gestore di associazione. + Nome dell'evento di cui eseguire la ricerca. + Oggetto che indica il contesto in cui viene utilizzata l'operazione. + + + Inizializza un nuovo gestore di associazione dell'indice set di CSharp. + Restituisce un nuovo gestore di associazione dell'indice set di CSharp. + Flag con cui inizializzare il gestore di associazione. + Oggetto che indica il contesto in cui viene utilizzata l'operazione. + Sequenza di istanze di per gli argomenti dell'operazione. + + + Inizializza un nuovo gestore di associazione del membro set di CSharp. + Restituisce un nuovo gestore di associazione del membro set di CSharp. + Flag con cui inizializzare il gestore di associazione. + Nome del membro da impostare. + Oggetto che indica il contesto in cui viene utilizzata l'operazione. + Sequenza di istanze di per gli argomenti dell'operazione. + + + Inizializza un nuovo gestore di associazione dell'operazione unaria di CSharp. + Restituisce un nuovo gestore di associazione dell'operazione unaria di CSharp. + Flag con cui inizializzare il gestore di associazione. + Tipo di operazione unaria. + Oggetto che indica il contesto in cui viene utilizzata l'operazione. + Sequenza di istanze di per gli argomenti dell'operazione. + + + Rappresenta informazioni sulle operazioni dinamiche in C# specifiche di determinati argomenti in un sito di chiamata.Istanze di questa classe vengono generate dal compilatore C#. + + + Inizializza una nuova istanza della classe . + Nuova istanza della classe . + Flag per l'argomento. + Nome dell'argomento, se denominato; in caso contrario, null. + + + Rappresenta informazioni sulle operazioni dinamiche in C# specifiche di determinati argomenti in un sito di chiamata.Istanze di questa classe vengono generate dal compilatore C#. + + + L'argomento è una costante. + + + L'argomento viene passato a un parametro out. + + + L'argomento viene passato a un parametro ref. + + + L'argomento è un oggetto che indica un nome di tipo effettivo utilizzato nell'origine.Utilizzato solo per gli oggetti di destinazione in chiamate statiche. + + + L'argomento è un argomento denominato. + + + Nessuna informazione aggiuntiva da rappresentare. + + + Il tipo dell'argomento in fase di compilazione deve essere considerato durante l'associazione. + + + Rappresenta informazioni sulle operazioni dinamiche in C# non specifiche di determinati argomenti in un sito di chiamata.Istanze di questa classe vengono generate dal compilatore C#. + + + Il gestore di associazione rappresenta un operatore logico AND o OR che fa parte di una valutazione dell'operatore logico condizionale. + + + La valutazione di questo gestore di associazione si verifica in un contesto verificato. + + + Il gestore di associazione rappresenta una conversione implicita per l'utilizzo in un'espressione di creazione di una matrice. + + + Il gestore di associazione rappresenta una conversione esplicita. + + + Il gestore di associazione rappresenta una chiamata per un nome semplice. + + + Il gestore di associazione rappresenta una chiamata per uno SpecialName. + + + Non sono presenti informazioni aggiuntive necessarie per questo gestore di associazione. + + + Il gestore di associazione viene utilizzato in una posizione che non richiede un risultato e può quindi essere associato a un metodo che restituisce void. + + + Il risultato di qualsiasi associazione sarà indicizzato per ottenere un gestore di associazione dell'indice set o get. + + + Il valore in questo indice set o membro set presenta un operatore di assegnazione composto. + + + Rappresenta un errore che si verifica quando viene elaborata un'associazione dinamica nel gestore di associazione di runtime in C#. + + + Inizializza una nuova istanza della classe . + + + Inizializza una nuova istanza della classe che include un messaggio di errore specificato. + Messaggio in cui viene descritta l'eccezione.È necessario che il chiamante del costruttore assicuri che la stringa sia stata localizzata per le impostazioni cultura correnti del sistema. + + + Inizializza una nuova istanza della classe che include un messaggio di errore specificato e un riferimento all'eccezione interna che ha generato l'eccezione. + Messaggio di errore nel quale viene indicato il motivo dell’eccezione + Eccezione che ha provocato l'eccezione corrente o riferimento null se non è stata specificata alcuna eccezione interna. + + + Rappresenta un errore che si verifica quando viene elaborata un'associazione dinamica nel gestore di associazione di runtime in C#. + + + Inizializza una nuova istanza della classe con un messaggio fornito dal sistema in cui viene descritto l'errore. + + + Inizializza una nuova istanza della classe con un messaggio specifico in cui viene descritto l'errore. + Messaggio in cui viene descritta l'eccezione.È necessario che il chiamante del costruttore assicuri che la stringa sia stata localizzata per le impostazioni cultura correnti del sistema. + + + Inizializza una nuova istanza della classe che include un messaggio di errore specificato e un riferimento all'eccezione interna che ha generato l'eccezione. + Messaggio di errore nel quale viene indicato il motivo dell’eccezione + Eccezione che ha provocato l'eccezione corrente o riferimento null se non è stata specificata alcuna eccezione interna. + + + \ No newline at end of file diff --git a/packages/Microsoft.CSharp.4.5.0/ref/netstandard1.0/ja/Microsoft.CSharp.xml b/packages/Microsoft.CSharp.4.5.0/ref/netstandard1.0/ja/Microsoft.CSharp.xml new file mode 100644 index 0000000..e1f883c --- /dev/null +++ b/packages/Microsoft.CSharp.4.5.0/ref/netstandard1.0/ja/Microsoft.CSharp.xml @@ -0,0 +1,193 @@ + + + + Microsoft.CSharp + + + + CSharp の動的呼び出しサイト バインダーを作成するファクトリ メソッドが含まれています。 + + + CSharp の新しい二項演算バインダーを初期化します。 + CSharp の新しい二項演算バインダーを返します。 + バインダーの初期化に使用するフラグ。 + 二項演算の種類。 + この操作の使用場所を示す 。 + この操作に対する引数の インスタンスのシーケンス。 + + + CSharp の新しい変換バインダーを初期化します。 + CSharp の新しい変換バインダーを返します。 + バインダーの初期化に使用するフラグ。 + 変換後の型。 + この操作の使用場所を示す 。 + + + CSharp の新しいインデックス取得バインダーを初期化します。 + CSharp の新しいインデックス取得バインダーを返します。 + バインダーの初期化に使用するフラグ。 + この操作の使用場所を示す 。 + この操作に対する引数の インスタンスのシーケンス。 + + + CSharp の新しいメンバー取得バインダーを初期化します。 + CSharp の新しいメンバー取得バインダーを返します。 + バインダーの初期化に使用するフラグ。 + 取得するメンバーの名前。 + この操作の使用場所を示す 。 + この操作に対する引数の インスタンスのシーケンス。 + + + CSharp の新しい呼び出しバインダーを初期化します。 + CSharp の新しい呼び出しバインダーを返します。 + バインダーの初期化に使用するフラグ。 + この操作の使用場所を示す 。 + この操作に対する引数の インスタンスのシーケンス。 + + + CSharp の新しいコンストラクター バインダーを初期化します。 + CSharp の新しいコンストラクター バインダーを返します。 + バインダーの初期化に使用するフラグ。 + この操作の使用場所を示す 。 + この操作に対する引数の インスタンスのシーケンス。 + + + CSharp の新しいメンバー呼び出しバインダーを初期化します。 + CSharp の新しいメンバー呼び出しバインダーを返します。 + バインダーの初期化に使用するフラグ。 + 呼び出されるメンバーの名前。 + この呼び出しに対して指定する型引数のリスト。 + この操作の使用場所を示す 。 + この操作に対する引数の インスタンスのシーケンス。 + + + CSharp の新しいイベント確認バインダーを初期化します。 + CSharp の新しいイベント確認バインダーを返します。 + バインダーの初期化に使用するフラグ。 + 検索するイベントの名前。 + この操作の使用場所を示す 。 + + + CSharp の新しいインデックス設定バインダーを初期化します。 + CSharp の新しいインデックス設定バインダーを返します。 + バインダーの初期化に使用するフラグ。 + この操作の使用場所を示す 。 + この操作に対する引数の インスタンスのシーケンス。 + + + CSharp の新しいメンバー設定バインダーを初期化します。 + CSharp の新しいメンバー設定バインダーを返します。 + バインダーの初期化に使用するフラグ。 + 設定するメンバーの名前。 + この操作の使用場所を示す 。 + この操作に対する引数の インスタンスのシーケンス。 + + + CSharp の新しい単項演算バインダーを初期化します。 + CSharp の新しい単項演算バインダーを返します。 + バインダーの初期化に使用するフラグ。 + 単項演算の種類。 + この操作の使用場所を示す 。 + この操作に対する引数の インスタンスのシーケンス。 + + + 呼び出しサイトにおける特定の引数に固有の、C# の動的操作に関する情報を表します。このクラスのインスタンスは、C# コンパイラによって生成されます。 + + + + クラスの新しいインスタンスを初期化します。 + + クラスの新しいインスタンス。 + 引数のフラグ。 + 引数に名前がある場合はその名前。それ以外の場合は null。 + + + 呼び出しサイトにおける特定の引数に固有の、C# の動的操作に関する情報を表します。このクラスのインスタンスは、C# コンパイラによって生成されます。 + + + 引数は定数です。 + + + 引数は out パラメーターに渡されます。 + + + 引数は ref パラメーターに渡されます。 + + + 引数は、ソースで使用されている実際の型名を示す です。静的呼び出しのターゲット オブジェクトでのみ使用されます。 + + + 引数は名前付き引数です。 + + + 追加情報はありません。 + + + 引数のコンパイル時の型はバインディング時に考慮されます。 + + + 呼び出しサイトにおける特定の引数に固有ではない、C# の動的操作に関する情報を表します。このクラスのインスタンスは、C# コンパイラによって生成されます。 + + + このバインダーは、条件論理演算子の評価の一部である論理 AND または論理 OR を表します。 + + + このバインダーの評価は、checked コンテキストで行われます。 + + + このバインダーは、配列作成式で使用する暗黙の型変換を表します。 + + + このバインダーは、明示的な変換を表します。 + + + このバインダーは、簡易名での呼び出しを表します。 + + + このバインダーは、特別な名前での呼び出しを表します。 + + + このバインダーに必要な追加情報はありません。 + + + バインダーは、結果を必要としない位置で使用されるため、戻り型が void のメソッドにバインドできます。 + + + どのバインドの結果にもインデックスが付けられます。インデックス設定バインダーまたはインデックス取得バインダーが必要です。 + + + このインデックス設定またはメンバー設定の値は複合代入演算子になります。 + + + C# ランタイム バインダーで動的バインドが処理されたときに発生するエラーを表します。 + + + + クラスの新しいインスタンスを初期化します。 + + + 指定したエラー メッセージを持つ、 クラスの新しいインスタンスを初期化します。 + 例外を説明するメッセージ。このコンストラクターの呼び出し元では、この文字列が現在のシステムのカルチャに合わせてローカライズ済みであることを確認しておく必要があります。 + + + 指定したエラー メッセージおよびこの例外の原因である内部例外への参照を持つ、 クラスの新しいインスタンスを初期化します。 + 例外の原因を説明するエラー メッセージ。 + 現在の例外の原因となった例外。内部例外が指定されていない場合は null 参照。 + + + C# ランタイム バインダーで動的バインドが処理されたときに発生するエラーを表します。 + + + エラーを説明するシステム提供のメッセージを使用して、 クラスの新しいインスタンスを初期化します。 + + + エラーを説明する指定したメッセージを使用して、 クラスの新しいインスタンスを初期化します。 + 例外を説明するメッセージ。このコンストラクターの呼び出し元では、この文字列が現在のシステムのカルチャに合わせてローカライズ済みであることを確認しておく必要があります。 + + + 指定したエラー メッセージおよびこの例外の原因である内部例外への参照を持つ、 クラスの新しいインスタンスを初期化します。 + 例外の原因を説明するエラー メッセージ。 + 現在の例外の原因となった例外。内部例外が指定されていない場合は null 参照。 + + + \ No newline at end of file diff --git a/packages/Microsoft.CSharp.4.5.0/ref/netstandard1.0/ko/Microsoft.CSharp.xml b/packages/Microsoft.CSharp.4.5.0/ref/netstandard1.0/ko/Microsoft.CSharp.xml new file mode 100644 index 0000000..2e64855 --- /dev/null +++ b/packages/Microsoft.CSharp.4.5.0/ref/netstandard1.0/ko/Microsoft.CSharp.xml @@ -0,0 +1,193 @@ + + + + Microsoft.CSharp + + + + CSharp의 동적 호출 사이트 바인더를 만드는 팩터리 메서드가 들어 있습니다. + + + 새 CSharp 이항 연산 바인더를 초기화합니다. + 새 CSharp 이항 연산 바인더를 반환합니다. + 바인더를 초기화하는 데 사용할 플래그입니다. + 이항 연산 종류입니다. + 이 작업이 사용된 위치를 나타내는 입니다. + 이 작업의 인수에 사용할 인스턴스의 시퀀스입니다. + + + 새 CSharp 변환 바인더를 초기화합니다. + 새 CSharp 변환 바인더를 반환합니다. + 바인더를 초기화하는 데 사용할 플래그입니다. + 변환할 대상 형식입니다. + 이 작업이 사용된 위치를 나타내는 입니다. + + + 새 CSharp 인덱스 가져오기 바인더를 초기화합니다. + 새 CSharp 인덱스 가져오기 바인더를 반환합니다. + 바인더를 초기화하는 데 사용할 플래그입니다. + 이 작업이 사용된 위치를 나타내는 입니다. + 이 작업의 인수에 사용할 인스턴스의 시퀀스입니다. + + + 새 CSharp 멤버 가져오기 바인더를 초기화합니다. + 새 CSharp 멤버 가져오기 바인더를 반환합니다. + 바인더를 초기화하는 데 사용할 플래그입니다. + 가져올 멤버의 이름입니다. + 이 작업이 사용된 위치를 나타내는 입니다. + 이 작업의 인수에 사용할 인스턴스의 시퀀스입니다. + + + 새 CSharp 호출 바인더를 초기화합니다. + 새 CSharp 호출 바인더를 반환합니다. + 바인더를 초기화하는 데 사용할 플래그입니다. + 이 작업이 사용된 위치를 나타내는 입니다. + 이 작업의 인수에 사용할 인스턴스의 시퀀스입니다. + + + 새 CSharp 생성자 호출 바인더를 초기화합니다. + 새 CSharp 생성자 호출 바인더를 반환합니다. + 바인더를 초기화하는 데 사용할 플래그입니다. + 이 작업이 사용된 위치를 나타내는 입니다. + 이 작업의 인수에 사용할 인스턴스의 시퀀스입니다. + + + 새 CSharp 멤버 호출 바인더를 초기화합니다. + 새 CSharp 멤버 호출 바인더를 반환합니다. + 바인더를 초기화하는 데 사용할 플래그입니다. + 호출할 멤버의 이름입니다. + 이 호출에 대해 지정된 형식 인수의 목록입니다. + 이 작업이 사용된 위치를 나타내는 입니다. + 이 작업의 인수에 사용할 인스턴스의 시퀀스입니다. + + + 새 CSharp 이벤트 확인 바인더를 초기화합니다. + 새 CSharp 이벤트 확인 바인더를 반환합니다. + 바인더를 초기화하는 데 사용할 플래그입니다. + 찾을 이벤트의 이름입니다. + 이 작업이 사용된 위치를 나타내는 입니다. + + + 새 CSharp 인덱스 설정 바인더를 초기화합니다. + 새 CSharp 인덱스 설정 바인더를 반환합니다. + 바인더를 초기화하는 데 사용할 플래그입니다. + 이 작업이 사용된 위치를 나타내는 입니다. + 이 작업의 인수에 사용할 인스턴스의 시퀀스입니다. + + + 새 CSharp 멤버 설정 바인더를 초기화합니다. + 새 CSharp 멤버 설정 바인더를 반환합니다. + 바인더를 초기화하는 데 사용할 플래그입니다. + 설정할 멤버의 이름입니다. + 이 작업이 사용된 위치를 나타내는 입니다. + 이 작업의 인수에 사용할 인스턴스의 시퀀스입니다. + + + 새 CSharp 단항 연산 바인더를 초기화합니다. + 새 CSharp 단항 연산 바인더를 반환합니다. + 바인더를 초기화하는 데 사용할 플래그입니다. + 단항 연산 종류입니다. + 이 작업이 사용된 위치를 나타내는 입니다. + 이 작업의 인수에 사용할 인스턴스의 시퀀스입니다. + + + 호출 사이트의 특정 인수와 관련된 C# 동적 작업에 대한 정보를 나타냅니다.이 클래스의 인스턴스는 C# 컴파일러에서 생성됩니다. + + + + 클래스의 새 인스턴스를 초기화합니다. + + 클래스의 새 인스턴스입니다. + 인수의 플래그입니다. + 명명된 경우 인수의 이름이고, 그렇지 않으면 null입니다. + + + 호출 사이트의 특정 인수와 관련된 C# 동적 작업에 대한 정보를 나타냅니다.이 클래스의 인스턴스는 C# 컴파일러에서 생성됩니다. + + + 인수가 상수입니다. + + + 인수가 out 매개 변수에 전달됩니다. + + + 인수가 ref 매개 변수에 전달됩니다. + + + 인수가 소스에서 사용된 실제 형식 이름을 나타내는 입니다.정적 호출의 대상 개체에만 사용됩니다. + + + 인수가 명명된 인수입니다. + + + 나타낼 추가 정보가 없습니다. + + + 바인딩하는 동안 인수의 컴파일 타임 형식을 고려해야 합니다. + + + 호출 사이트의 특정 인수와 관련되지 않은 C# 동적 작업에 대한 정보를 나타냅니다.이 클래스의 인스턴스는 C# 컴파일러에서 생성됩니다. + + + 바인더는 조건부 논리 연산자 계산에 속하는 논리적 AND 또는 논리적 OR를 나타냅니다. + + + 이 바인더에 대한 계산은 확인된 컨텍스트에서 발생합니다. + + + 바인더는 배열 생성 식에 사용할 암시적 변환을 나타냅니다. + + + 바인더는 명시적 변환을 나타냅니다. + + + 바인더는 단순한 이름에 대한 호출을 나타냅니다. + + + 바인더는 특수한 이름에 대한 호출을 나타냅니다. + + + 이 바인더에 필요한 추가 정보가 없습니다. + + + 바인더는 결과가 필요 없는 위치에서 사용되므로 void를 반환하는 메서드에 바인딩할 수 있습니다. + + + 바인딩의 결과가 인덱싱되어 인덱스 설정 또는 인덱스 가져오기 바인더를 가져옵니다. + + + 이 인덱스 설정 또는 멤버 설정의 값은 복합 할당 연산자에서 사용됩니다. + + + C# 런타임 바인더의 동적 바인드가 처리될 때 발생하는 오류를 나타냅니다. + + + + 클래스의 새 인스턴스를 초기화합니다. + + + 지정된 오류 메시지가 있는 클래스의 새 인스턴스를 초기화합니다. + 예외를 설명하는 메시지입니다.이 생성자의 호출자는 이 문자열이 현재 시스템 문화권에 맞게 지역화되었는지 확인하는 데 필요합니다. + + + 지정된 오류 메시지 및 해당 예외의 원인인 내부 예외에 대한 참조가 있는 클래스의 새 인스턴스를 초기화합니다. + 예외에 대한 이유를 설명하는 오류 메시지입니다. + 현재 예외의 원인인 예외 또는 내부 예외가 지정되지 않은 경우 null 참조입니다. + + + C# 런타임 바인더의 동적 바인드가 처리될 때 발생하는 오류를 나타냅니다. + + + 오류를 설명하는 시스템 제공 메시지를 사용하여 클래스의 새 인스턴스를 초기화합니다. + + + 오류를 설명하는 지정된 메시지를 사용하여 클래스의 새 인스턴스를 초기화합니다. + 예외를 설명하는 메시지입니다.이 생성자의 호출자는 이 문자열이 현재 시스템 문화권에 맞게 지역화되었는지 확인하는 데 필요합니다. + + + 지정된 오류 메시지와 이 예외의 원인인 내부 예외에 대한 참조를 갖는 클래스의 새 인스턴스를 초기화합니다. + 예외에 대한 이유를 설명하는 오류 메시지입니다. + 현재 예외의 원인인 예외 또는 내부 예외가 지정되지 않은 경우 null 참조입니다. + + + \ No newline at end of file diff --git a/packages/Microsoft.CSharp.4.5.0/ref/netstandard1.0/ru/Microsoft.CSharp.xml b/packages/Microsoft.CSharp.4.5.0/ref/netstandard1.0/ru/Microsoft.CSharp.xml new file mode 100644 index 0000000..de8cf29 --- /dev/null +++ b/packages/Microsoft.CSharp.4.5.0/ref/netstandard1.0/ru/Microsoft.CSharp.xml @@ -0,0 +1,190 @@ + + + + Microsoft.CSharp + + + + Содержит фабричные методы для создания динамических связывателей источников вызова для CSharp. + + + Инициализирует новый связыватель бинарной операции CSharp. + Возвращает новый связыватель бинарной операции CSharp. + Флаги, с помощью которых выполняется инициализация связывателя. + Вид бинарной операции. + Объект , который указывает, где используется операция. + Последовательность экземпляров для аргументов данной операции. + + + Инициализирует новый связыватель преобразования CSharp. + Возвращает новый связыватель преобразования CSharp. + Флаги, с помощью которых выполняется инициализация связывателя. + Тип, в который выполняется преобразование. + Объект , который указывает, где используется операция. + + + Инициализирует новый связыватель получения индекса CSharp. + Возвращает новый связыватель получения индекса CSharp. + Флаги, с помощью которых выполняется инициализация связывателя. + Объект , который указывает, где используется операция. + Последовательность экземпляров для аргументов данной операции. + + + Инициализирует новый связыватель получения члена CSharp. + Возвращает новый связыватель получения члена CSharp. + Флаги, с помощью которых выполняется инициализация связывателя. + Имя возвращаемого члена. + Объект , который указывает, где используется операция. + Последовательность экземпляров для аргументов данной операции. + + + Инициализирует новый связыватель вызова CSharp. + Возвращает новый связыватель вызова CSharp. + Флаги, с помощью которых выполняется инициализация связывателя. + Объект , который указывает, где используется операция. + Последовательность экземпляров для аргументов данной операции. + + + Инициализирует новый связыватель вызова конструктора CSharp. + Возвращает новый связыватель вызова конструктора CSharp. + Флаги, с помощью которых выполняется инициализация связывателя. + Объект , который указывает, где используется операция. + Последовательность экземпляров для аргументов данной операции. + + + Инициализирует новый связыватель вызова члена CSharp. + Возвращает новый связыватель вызова члена CSharp. + Флаги, с помощью которых выполняется инициализация связывателя. + Имя элемента, который предполагается вызвать. + Список аргументов типа, указанных для данного вызова. + Объект , который указывает, где используется операция. + Последовательность экземпляров для аргументов данной операции. + + + Инициализирует новый связыватель поиска события CSharp. + Возвращает новый связыватель поиска события CSharp. + Флаги, с помощью которых выполняется инициализация связывателя. + Имя искомого события. + Объект , который указывает, где используется операция. + + + Инициализирует новый связыватель задания индекса CSharp. + Возвращает новый связыватель задания индекса CSharp. + Флаги, с помощью которых выполняется инициализация связывателя. + Объект , который указывает, где используется операция. + Последовательность экземпляров для аргументов данной операции. + + + Инициализирует новый связыватель задания члена CSharp. + Возвращает новый связыватель задания члена CSharp. + Флаги, с помощью которых выполняется инициализация связывателя. + Имя задаваемого члена. + Объект , который указывает, где используется операция. + Последовательность экземпляров для аргументов данной операции. + + + Инициализирует новый связыватель унарной операции CSharp. + Возвращает новый связыватель унарной операции CSharp. + Флаги, с помощью которых выполняется инициализация связывателя. + Вид унарной операции. + Объект , который указывает, где используется операция. + Последовательность экземпляров для аргументов данной операции. + + + Представляет сведения о динамических операциях C#, которые относятся к определенным аргументам в источнике вызова.Экземпляры этого класса создаются компилятором C#. + + + Инициализирует новый экземпляр класса . + Новый экземпляр класса . + Флаги для аргумента. + Имя аргумента, если ему присвоено имя, или NULL в противном случае. + + + Представляет сведения о динамических операциях C#, которые относятся к определенным аргументам в источнике вызова.Экземпляры этого класса создаются компилятором C#. + + + Аргумент является константой. + + + Аргумент, передаваемый в параметр out. + + + Аргумент, передаваемый в параметр ref. + + + Аргумент является объектом типа , указывающим фактическое имя типа, используемое в источнике.Используется только для целевых объектов в статических вызовах. + + + Аргумент является именованным аргументом. + + + Дополнительные сведения не представлены. + + + В процессе привязки следует учитывать тип времени компиляции аргумента. + + + Представляет сведения о динамических операциях C#, которые не относятся к определенным аргументам в источнике вызова.Экземпляры этого класса создаются компилятором C#. + + + Связыватель представляет логическое И или логическое ИЛИ, которое является частью оценки условного логического оператора. + + + Оценка данного связывателя происходит в проверяемом контексте. + + + Связыватель представляет неявное преобразование для использовании в выражении, создающем массив. + + + Связыватель представляет явное преобразование. + + + Связыватель представляет вызов по простому имени. + + + Связыватель представляет вызов по специальному имени. + + + Для данного связывателя не требуются дополнительные сведения. + + + Этот связыватель используется в позиции, не требующей результата, и, следовательно, может выполнять привязку к методу, возвращающему значение void. + + + Результатом любой привязки будет индексированный метод получения связывателя задания или получения индекса. + + + Значение данного метода задания индекса или члена становится частью составного оператора присваивания. + + + Представляет ошибку, которая происходит при обработке динамической привязки в связывателе среды выполнения C#. + + + Инициализирует новый экземпляр класса . + + + Инициализирует новый экземпляр класса , содержащий указанное сообщение об ошибке. + Сообщение с описанием исключения.Вызывающий оператор этого конструктора необходим, чтобы убедиться, локализована ли данная строка для текущего языка и региональных параметров системы. + + + Инициализирует новый экземпляр класса , содержащий указанное сообщение об ошибке и ссылку на внутреннее исключение, которое стало причиной данного исключения. + Сообщение об ошибке с объяснением причин исключения. + Исключение, вызвавшее текущее исключение, или пустая ссылка, если внутреннее исключение не задано. + + + Представляет ошибку, которая происходит при обработке динамической привязки в связывателе среды выполнения C#. + + + Инициализирует новый экземпляр класса системным сообщением, содержащим описание ошибки. + + + Инициализирует новый экземпляр класса заданным сообщением, содержащим описание ошибки. + Сообщение с описанием исключения.Вызывающий оператор этого конструктора необходим, чтобы убедиться, локализована ли данная строка для текущего языка и региональных параметров системы. + + + Инициализирует новый экземпляр класса , содержащий указанное сообщение об ошибке и ссылку на внутреннее исключение, которое стало причиной данного исключения. + Сообщение об ошибке с объяснением причин исключения. + Исключение, вызвавшее текущее исключение, или пустая ссылка, если внутреннее исключение не задано. + + + \ No newline at end of file diff --git a/packages/Microsoft.CSharp.4.5.0/ref/netstandard1.0/zh-hans/Microsoft.CSharp.xml b/packages/Microsoft.CSharp.4.5.0/ref/netstandard1.0/zh-hans/Microsoft.CSharp.xml new file mode 100644 index 0000000..3b0aa98 --- /dev/null +++ b/packages/Microsoft.CSharp.4.5.0/ref/netstandard1.0/zh-hans/Microsoft.CSharp.xml @@ -0,0 +1,191 @@ + + + + Microsoft.CSharp + + + + 包含用于为 CSharp 创建动态调用站点联编程序的工厂方法。 + + + 初始化新的 CSharp 二元运算联编程序。 + 返回新的 CSharp 二元运算联编程序。 + 用于初始化联编程序的标志。 + 二元运算类型。 + 用于指示此操作的使用位置的 。 + 此操作的参数所用的 实例序列。 + + + 初始化新的 CSharp 转换联编程序。 + 返回新的 CSharp 转换联编程序。 + 用于初始化联编程序的标志。 + 要转换到的类型。 + 用于指示此操作的使用位置的 。 + + + 初始化新的 CSharp 获取索引联编程序。 + 返回新的 CSharp 获取索引联编程序。 + 用于初始化联编程序的标志。 + 用于指示此操作的使用位置的 。 + 此操作的参数所用的 实例序列。 + + + 初始化新的 CSharp 获取成员联编程序。 + 返回新的 CSharp 获取成员联编程序。 + 用于初始化联编程序的标志。 + 要获取的成员名称。 + 用于指示此操作的使用位置的 。 + 此操作的参数所用的 实例序列。 + + + 初始化新的 CSharp 调用联编程序。 + 返回新的 CSharp 调用联编程序。 + 用于初始化联编程序的标志。 + 用于指示此操作的使用位置的 。 + 此操作的参数所用的 实例序列。 + + + 初始化新的 CSharp 调用构造函数联编程序。 + 返回新的 CSharp 调用构造函数联编程序。 + 用于初始化联编程序的标志。 + 用于指示此操作的使用位置的 。 + 此操作的参数所用的 实例序列。 + + + 初始化新的 CSharp 调用成员联编程序。 + 返回新的 CSharp 调用成员联编程序。 + 用于初始化联编程序的标志。 + 要调用的成员名。 + 为此调用指定的类型参数的列表。 + 用于指示此操作的使用位置的 。 + 此操作的参数所用的 实例序列。 + + + 初始化新的 CSharp 事件联编程序。 + 返回新的 CSharp 事件联编程序。 + 用于初始化联编程序的标志。 + 要查找的事件的名称。 + 用于指示此操作的使用位置的 。 + + + 初始化新的 CSharp 设置索引联编程序。 + 返回新的 CSharp 设置索引联编程序。 + 用于初始化联编程序的标志。 + 用于指示此操作的使用位置的 。 + 此操作的参数所用的 实例序列。 + + + 初始化新的 CSharp 设置成员联编程序。 + 返回新的 CSharp 设置成员联编程序。 + 用于初始化联编程序的标志。 + 要设置的成员的名称。 + 用于指示此操作的使用位置的 。 + 此操作的参数所用的 实例序列。 + + + 初始化新的 CSharp 一元运算联编程序。 + 返回新的 CSharp 一元运算联编程序。 + 用于初始化联编程序的标志。 + 一元运算类型。 + 用于指示此操作的使用位置的 。 + 此操作的参数所用的 实例序列。 + + + 表示有关特定于调用站点上的特定参数的 C# 动态操作的信息。此类的实例由 C# 编译器生成。 + + + 初始化 类的新实例。 + + 类的新实例。 + 参数的标志。 + 如果已指定参数名称,则为相应的名称;否则为空。 + + + 表示有关特定于调用站点上的特定参数的 C# 动态操作的信息。此类的实例由 C# 编译器生成。 + + + 该参数是一个常量。 + + + 将实参传递到 out 形参。 + + + 将实参传递到 ref 形参。 + + + 参数为 ,它指示源中使用的实际类型名称。仅用于静态调用中的目标对象。 + + + 参数为命名参数。 + + + 没有要表示的附加信息。 + + + 在绑定期间,应考虑参数的编译时类型。 + + + 表示不特定于调用站点上特定参数的 C# 动态操作的相关信息。此类的实例由 C# 编译器生成。 + + + 此联编程序表示作为条件逻辑运算符计算的一部分的逻辑 AND 或逻辑 OR。 + + + 在已检查的上下文中计算此联编程序。 + + + 此联编程序表示要在数组创建表达式中使用的隐式转换。 + + + 此联编程序表示显式转换。 + + + 此联编程序表示对简单名称的调用。 + + + 此联编程序表示对特殊名称的调用。 + + + 此联编程序不需要附加信息。 + + + 联编程序在不需要结果的位置中使用,因此可绑定到一个 void 返回方法。 + + + 将为任何绑定的结果编制索引,以获得一个设置索引联编程序或获取索引联编程序。 + + + 此设置索引或设置成员中的值为复合赋值运算符。 + + + 表示在处理 C# 运行时联编程序中的动态绑定时发生的错误。 + + + 初始化 类的新实例。 + + + 初始化 类的新实例,它包含指定的错误消息。 + 描述该异常的消息。此构造函数的调用方需要确保此字符串已针对当前系统区域性进行了本地化。 + + + 初始化 类的新实例,该实例具有指定的错误消息以及对导致此异常的内部异常的引用。 + 解释异常原因的错误信息。 + 导致当前异常的异常;如果未指定内部异常,则为空引用。 + + + 表示在处理 C# 运行时联编程序中的动态绑定时发生的错误。 + + + 使用由系统提供的用来描述错误的消息初始化 类的新实例。 + + + 使用指定的描述错误的消息初始化 类的新实例。 + 描述该异常的消息。此构造函数的调用方需要确保此字符串已针对当前系统区域性进行了本地化。 + + + 初始化 类的新实例,该实例具有指定的错误消息以及对导致此异常的内部异常的引用。 + 解释异常原因的错误信息。 + 导致当前异常的异常;如果未指定内部异常,则为空引用。 + + + \ No newline at end of file diff --git a/packages/Microsoft.CSharp.4.5.0/ref/netstandard1.0/zh-hant/Microsoft.CSharp.xml b/packages/Microsoft.CSharp.4.5.0/ref/netstandard1.0/zh-hant/Microsoft.CSharp.xml new file mode 100644 index 0000000..043924f --- /dev/null +++ b/packages/Microsoft.CSharp.4.5.0/ref/netstandard1.0/zh-hant/Microsoft.CSharp.xml @@ -0,0 +1,211 @@ + + + + Microsoft.CSharp + + + + 包含建立 CSharp 動態呼叫位置繫結器的 Factory 方法。 + + + 初始化新的 CSharp 二進位運算繫結器。 + 傳回新的 CSharp 二進位運算繫結器。 + 用來初始化繫結器的旗標。 + 二元運算類型。 + + ,指定在何處使用此作業。 + + 執行個體的序列,做為這個運算的引數。 + + + 初始化新的 CSharp 轉換繫結器。 + 傳回新的 CSharp 轉換繫結器。 + 用來初始化繫結器的旗標。 + 要轉換成的型別。 + + ,指定在何處使用此作業。 + + + 初始化新的 CSharp get 索引繫結器。 + 傳回新的 CSharp get 索引繫結器。 + 用來初始化繫結器的旗標。 + + ,指定在何處使用此作業。 + + 執行個體的序列,做為這個運算的引數。 + + + 初始化新的 CSharp get 成員繫結器。 + 傳回新的 CSharp get 成員繫結器。 + 用來初始化繫結器的旗標。 + 要取得的成員名稱。 + + ,指定在何處使用此作業。 + + 執行個體的序列,做為這個運算的引數。 + + + 初始化新的 CSharp 叫用繫結器。 + 傳回新的 CSharp 叫用繫結器。 + 用來初始化繫結器的旗標。 + + ,指定在何處使用此作業。 + + 執行個體的序列,做為這個運算的引數。 + + + 初始化新的 CSharp 叫用建構函式繫結器。 + 傳回新的 CSharp 叫用建構函式繫結器。 + 用來初始化繫結器的旗標。 + + ,指定在何處使用此作業。 + + 執行個體的序列,做為這個運算的引數。 + + + 初始化新的 CSharp 叫用成員繫結器。 + 傳回新的 CSharp 叫用成員繫結器。 + 用來初始化繫結器的旗標。 + 要叫用的成員名稱。 + 為此叫用指定之型別引數的清單。 + + ,指定在何處使用此作業。 + + 執行個體的序列,做為這個運算的引數。 + + + 初始化新的 CSharp Is 事件繫結器。 + 傳回新的 CSharp Is 事件繫結器。 + 用來初始化繫結器的旗標。 + 要尋找之事件的名稱。 + + ,指定在何處使用此作業。 + + + 初始化新的 CSharp set 索引繫結器。 + 傳回新的 CSharp set 索引繫結器。 + 用來初始化繫結器的旗標。 + + ,指定在何處使用此作業。 + + 執行個體的序列,做為這個運算的引數。 + + + 初始化新的 CSharp set 成員繫結器。 + 傳回新的 CSharp set 成員繫結器。 + 用來初始化繫結器的旗標。 + 要設定之成員的名稱。 + + ,指定在何處使用此作業。 + + 執行個體的序列,做為這個運算的引數。 + + + 初始化新的 CSharp 一元運算繫結器。 + 傳回新的 CSharp 一元運算繫結器。 + 用來初始化繫結器的旗標。 + 一元運算類型。 + + ,指定在何處使用此作業。 + + 執行個體的序列,做為這個運算的引數。 + + + 表示呼叫位置上特定引數特有的 C# 動態運算的相關資訊。這個類別的執行個體會由 C# 編譯器產生。 + + + 初始化 類別的新執行個體。 + + 類別的新執行個體。 + 引數的旗標。 + 如果是具名引數,則為引數的名稱,否則為 null。 + + + 表示呼叫位置上特定引數特有的 C# 動態運算的相關資訊。這個類別的執行個體會由 C# 編譯器產生。 + + + 引數為常數。 + + + 引數傳遞給 out 參數。 + + + 引數傳遞給 ref 參數。 + + + 引數為 ,表示來源中使用的實際型別名稱。只用於靜態呼叫中的目標物件。 + + + 引數為具名引數。 + + + 無其他要表示的資訊。 + + + 繫結期間應該考慮引數的編譯時期型別。 + + + 表示呼叫位置上非特定引數特有的 C# 動態運算的相關資訊。這個類別的執行個體會由 C# 編譯器產生。 + + + 繫結器表示邏輯 AND 或邏輯 OR,這些是條件邏輯運算子評估的一部分。 + + + 此繫結器的評估會在檢查的內容中進行。 + + + 繫結器表示陣列建立運算式中使用的隱含轉換。 + + + 繫結器表示明確轉換。 + + + 繫結器表示在簡單名稱上叫用。 + + + 繫結器表示在 Specialname 上叫用。 + + + 此繫結器不需要額外的資訊。 + + + 繫結器用於不需要結果的位置,因此可以繫結至傳回 Void 的方法。 + + + 任何繫結的結果都會變成索引的 get 索引或 set 索引,或 get 索引繫結器。 + + + 此 set 索引或 set 成員中的值為複合指派運算子。 + + + 表示在處理 C# 執行階段繫結器中的動態繫結時所發生的錯誤。 + + + 初始化 類別的新執行個體。 + + + 初始化 類別的新執行個體,這個執行個體有指定的錯誤訊息。 + 說明例外狀況的訊息。這個建構函式的呼叫端必須確保這個字串已經為目前系統的文化特性當地語系化。 + + + 初始化 類別的新執行個體,這個執行個體有指定的錯誤訊息和造成這個例外狀況發生之內部例外狀況的參考。 + 解釋例外狀況原因的錯誤訊息。 + 導致目前例外狀況發生的例外狀況,如果沒有指定內部例外狀況則為 null 參考。 + + + 表示在處理 C# 執行階段繫結器中的動態繫結時所發生的錯誤。 + + + 以系統提供的錯誤說明訊息,初始化 類別的新執行個體。 + + + 使用指定的錯誤說明訊息,初始化 類別的新執行個體。 + 說明例外狀況的訊息。這個建構函式的呼叫端必須確保這個字串已經為目前系統的文化特性當地語系化。 + + + 初始化 類別的新執行個體,這個執行個體有指定的錯誤訊息和造成這個例外狀況發生之內部例外狀況的參考。 + 解釋例外狀況原因的錯誤訊息。 + 導致目前例外狀況發生的例外狀況,如果沒有指定內部例外狀況則為 null 參考。 + + + \ No newline at end of file diff --git a/packages/Microsoft.CSharp.4.5.0/ref/netstandard2.0/Microsoft.CSharp.dll b/packages/Microsoft.CSharp.4.5.0/ref/netstandard2.0/Microsoft.CSharp.dll new file mode 100644 index 0000000..5079c5f Binary files /dev/null and b/packages/Microsoft.CSharp.4.5.0/ref/netstandard2.0/Microsoft.CSharp.dll differ diff --git a/packages/Microsoft.CSharp.4.5.0/ref/netstandard2.0/Microsoft.CSharp.xml b/packages/Microsoft.CSharp.4.5.0/ref/netstandard2.0/Microsoft.CSharp.xml new file mode 100644 index 0000000..1dab2ff --- /dev/null +++ b/packages/Microsoft.CSharp.4.5.0/ref/netstandard2.0/Microsoft.CSharp.xml @@ -0,0 +1,216 @@ + + + Microsoft.CSharp + + + + Represents an error that occurs when a dynamic bind in the C# runtime binder is processed. + + + Initializes a new instance of the class. + + + Initializes a new instance of the class that has a specified error message. + The message that describes the exception. The caller of this constructor is required to ensure that this string has been localized for the current system culture. + + + Initializes a new instance of the class that has serialized data. + The object that holds the serialized object data about the exception being thrown.. + The contextual information about the source or destination. + + + Initializes a new instance of the class that has a specified error message and a reference to the inner exception that is the cause of this exception. + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference if no inner exception is specified. + + + Represents an error that occurs when a dynamic bind in the C# runtime binder is processed. + + + Initializes a new instance of the class with a system-supplied message that describes the error. + + + Initializes a new instance of the class with a specified message that describes the error. + The message that describes the exception. The caller of this constructor is required to ensure that this string has been localized for the current system culture. + + + Initializes a new instance of the class with serialized data. + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + + + Initializes a new instance of the class that has a specified error message and a reference to the inner exception that is the cause of this exception. + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference if no inner exception is specified. + + + Contains factory methods to create dynamic call site binders for CSharp. + + + Initializes a new CSharp binary operation binder. + The flags with which to initialize the binder. + The binary operation kind. + The that indicates where this operation is used. + The sequence of instances for the arguments to this operation. + Returns a new CSharp binary operation binder. + + + Initializes a new CSharp convert binder. + The flags with which to initialize the binder. + The type to convert to. + The that indicates where this operation is used. + Returns a new CSharp convert binder. + + + Initializes a new CSharp get index binder. + The flags with which to initialize the binder. + The that indicates where this operation is used. + The sequence of instances for the arguments to this operation. + Returns a new CSharp get index binder. + + + Initializes a new CSharp get member binder. + The flags with which to initialize the binder. + The name of the member to get. + The that indicates where this operation is used. + The sequence of instances for the arguments to this operation. + Returns a new CSharp get member binder. + + + Initializes a new CSharp invoke binder. + The flags with which to initialize the binder. + The that indicates where this operation is used. + The sequence of instances for the arguments to this operation. + Returns a new CSharp invoke binder. + + + Initializes a new CSharp invoke constructor binder. + The flags with which to initialize the binder. + The that indicates where this operation is used. + The sequence of instances for the arguments to this operation. + Returns a new CSharp invoke constructor binder. + + + Initializes a new CSharp invoke member binder. + The flags with which to initialize the binder. + The name of the member to invoke. + The list of type arguments specified for this invoke. + The that indicates where this operation is used. + The sequence of instances for the arguments to this operation. + Returns a new CSharp invoke member binder. + + + Initializes a new CSharp is event binder. + The flags with which to initialize the binder. + The name of the event to look for. + The that indicates where this operation is used. + Returns a new CSharp is event binder. + + + Initializes a new CSharp set index binder. + The flags with which to initialize the binder. + The that indicates where this operation is used. + The sequence of instances for the arguments to this operation. + Returns a new CSharp set index binder. + + + Initializes a new CSharp set member binder. + The flags with which to initialize the binder. + The name of the member to set. + The that indicates where this operation is used. + The sequence of instances for the arguments to this operation. + Returns a new CSharp set member binder. + + + Initializes a new CSharp unary operation binder. + The flags with which to initialize the binder. + The unary operation kind. + The that indicates where this operation is used. + The sequence of instances for the arguments to this operation. + Returns a new CSharp unary operation binder. + + + Represents information about C# dynamic operations that are specific to particular arguments at a call site. Instances of this class are generated by the C# compiler. + + + Initializes a new instance of the class. + The flags for the argument. + The name of the argument, if named; otherwise null. + A new instance of the class. + + + Represents information about C# dynamic operations that are specific to particular arguments at a call site. Instances of this class are generated by the C# compiler. + + + The argument is a constant. + + + + The argument is passed to an out parameter. + + + + The argument is passed to a ref parameter. + + + + The argument is a indicating an actual type name used in source. Used only for target objects in static calls. + + + + The argument is a named argument. + + + + No additional information to represent. + + + + The argument&#39;s compile-time type should be considered during binding. + + + + Represents information about C# dynamic operations that are not specific to particular arguments at a call site. Instances of this class are generated by the C# compiler. + + + The binder represents a logical AND or logical OR that is part of a conditional logical operator evaluation. + + + + The evaluation of this binder happens in a checked context. + + + + The binder represents an implicit conversion for use in an array creation expression. + + + + The binder represents an explicit conversion. + + + + The binder represents an invoke on a simple name. + + + + The binder represents an invoke on a specialname. + + + + There is no additional information required for this binder. + + + + The binder is used in a position that does not require a result, and can therefore bind to a void returning method. + + + + The result of any bind is going to be indexed get a set index or get index binder. + + + + The value in this set index or set member comes a compound assignment operator. + + + + \ No newline at end of file diff --git a/packages/Microsoft.CSharp.4.5.0/ref/portable-net45+win8+wp8+wpa81/_._ b/packages/Microsoft.CSharp.4.5.0/ref/portable-net45+win8+wp8+wpa81/_._ new file mode 100644 index 0000000..e69de29 diff --git a/packages/Microsoft.CSharp.4.5.0/ref/uap10.0.16299/_._ b/packages/Microsoft.CSharp.4.5.0/ref/uap10.0.16299/_._ new file mode 100644 index 0000000..e69de29 diff --git a/packages/Microsoft.CSharp.4.5.0/ref/win8/_._ b/packages/Microsoft.CSharp.4.5.0/ref/win8/_._ new file mode 100644 index 0000000..e69de29 diff --git a/packages/Microsoft.CSharp.4.5.0/ref/wp80/_._ b/packages/Microsoft.CSharp.4.5.0/ref/wp80/_._ new file mode 100644 index 0000000..e69de29 diff --git a/packages/Microsoft.CSharp.4.5.0/ref/wpa81/_._ b/packages/Microsoft.CSharp.4.5.0/ref/wpa81/_._ new file mode 100644 index 0000000..e69de29 diff --git a/packages/Microsoft.CSharp.4.5.0/ref/xamarinios10/_._ b/packages/Microsoft.CSharp.4.5.0/ref/xamarinios10/_._ new file mode 100644 index 0000000..e69de29 diff --git a/packages/Microsoft.CSharp.4.5.0/ref/xamarinmac20/_._ b/packages/Microsoft.CSharp.4.5.0/ref/xamarinmac20/_._ new file mode 100644 index 0000000..e69de29 diff --git a/packages/Microsoft.CSharp.4.5.0/ref/xamarintvos10/_._ b/packages/Microsoft.CSharp.4.5.0/ref/xamarintvos10/_._ new file mode 100644 index 0000000..e69de29 diff --git a/packages/Microsoft.CSharp.4.5.0/ref/xamarinwatchos10/_._ b/packages/Microsoft.CSharp.4.5.0/ref/xamarinwatchos10/_._ new file mode 100644 index 0000000..e69de29 diff --git a/packages/Microsoft.CSharp.4.5.0/useSharedDesignerContext.txt b/packages/Microsoft.CSharp.4.5.0/useSharedDesignerContext.txt new file mode 100644 index 0000000..e69de29 diff --git a/packages/Microsoft.CSharp.4.5.0/version.txt b/packages/Microsoft.CSharp.4.5.0/version.txt new file mode 100644 index 0000000..47004a0 --- /dev/null +++ b/packages/Microsoft.CSharp.4.5.0/version.txt @@ -0,0 +1 @@ +30ab651fcb4354552bd4891619a0bdd81e0ebdbf diff --git a/packages/System.Data.SQLite.Core.1.0.112.1/.signature.p7s b/packages/System.Data.SQLite.Core.1.0.112.1/.signature.p7s new file mode 100644 index 0000000..8d13db1 Binary files /dev/null and b/packages/System.Data.SQLite.Core.1.0.112.1/.signature.p7s differ diff --git a/packages/System.Data.SQLite.Core.1.0.112.1/System.Data.SQLite.Core.1.0.112.1.nupkg b/packages/System.Data.SQLite.Core.1.0.112.1/System.Data.SQLite.Core.1.0.112.1.nupkg new file mode 100644 index 0000000..b5233e3 Binary files /dev/null and b/packages/System.Data.SQLite.Core.1.0.112.1/System.Data.SQLite.Core.1.0.112.1.nupkg differ diff --git a/packages/System.Data.SQLite.Core.1.0.112.1/build/net20/System.Data.SQLite.Core.targets b/packages/System.Data.SQLite.Core.1.0.112.1/build/net20/System.Data.SQLite.Core.targets new file mode 100644 index 0000000..ea1cfd7 --- /dev/null +++ b/packages/System.Data.SQLite.Core.1.0.112.1/build/net20/System.Data.SQLite.Core.targets @@ -0,0 +1,142 @@ + + + + + + + + + + + + + + + + + + %(RecursiveDir)%(FileName)%(Extension) + PreserveNewest + + + + + + + + + + + + + + + + + + + + + + + bin\%(RecursiveDir)%(Filename)%(Extension) + + + + + + + + + $(PostBuildEventDependsOn); + CopySQLiteInteropFiles; + + + $(BuildDependsOn); + CopySQLiteInteropFiles; + + + $(CleanDependsOn); + CleanSQLiteInteropFiles; + + + + + + + + CollectSQLiteInteropFiles; + $(PipelineCollectFilesPhaseDependsOn); + + + diff --git a/packages/System.Data.SQLite.Core.1.0.112.1/build/net20/x64/SQLite.Interop.dll b/packages/System.Data.SQLite.Core.1.0.112.1/build/net20/x64/SQLite.Interop.dll new file mode 100644 index 0000000..83afb70 Binary files /dev/null and b/packages/System.Data.SQLite.Core.1.0.112.1/build/net20/x64/SQLite.Interop.dll differ diff --git a/packages/System.Data.SQLite.Core.1.0.112.1/build/net20/x86/SQLite.Interop.dll b/packages/System.Data.SQLite.Core.1.0.112.1/build/net20/x86/SQLite.Interop.dll new file mode 100644 index 0000000..99c80a2 Binary files /dev/null and b/packages/System.Data.SQLite.Core.1.0.112.1/build/net20/x86/SQLite.Interop.dll differ diff --git a/packages/System.Data.SQLite.Core.1.0.112.1/build/net40/System.Data.SQLite.Core.targets b/packages/System.Data.SQLite.Core.1.0.112.1/build/net40/System.Data.SQLite.Core.targets new file mode 100644 index 0000000..ea1cfd7 --- /dev/null +++ b/packages/System.Data.SQLite.Core.1.0.112.1/build/net40/System.Data.SQLite.Core.targets @@ -0,0 +1,142 @@ + + + + + + + + + + + + + + + + + + %(RecursiveDir)%(FileName)%(Extension) + PreserveNewest + + + + + + + + + + + + + + + + + + + + + + + bin\%(RecursiveDir)%(Filename)%(Extension) + + + + + + + + + $(PostBuildEventDependsOn); + CopySQLiteInteropFiles; + + + $(BuildDependsOn); + CopySQLiteInteropFiles; + + + $(CleanDependsOn); + CleanSQLiteInteropFiles; + + + + + + + + CollectSQLiteInteropFiles; + $(PipelineCollectFilesPhaseDependsOn); + + + diff --git a/packages/System.Data.SQLite.Core.1.0.112.1/build/net40/x64/SQLite.Interop.dll b/packages/System.Data.SQLite.Core.1.0.112.1/build/net40/x64/SQLite.Interop.dll new file mode 100644 index 0000000..1a86bfd Binary files /dev/null and b/packages/System.Data.SQLite.Core.1.0.112.1/build/net40/x64/SQLite.Interop.dll differ diff --git a/packages/System.Data.SQLite.Core.1.0.112.1/build/net40/x86/SQLite.Interop.dll b/packages/System.Data.SQLite.Core.1.0.112.1/build/net40/x86/SQLite.Interop.dll new file mode 100644 index 0000000..1e4490d Binary files /dev/null and b/packages/System.Data.SQLite.Core.1.0.112.1/build/net40/x86/SQLite.Interop.dll differ diff --git a/packages/System.Data.SQLite.Core.1.0.112.1/lib/net20/System.Data.SQLite.dll b/packages/System.Data.SQLite.Core.1.0.112.1/lib/net20/System.Data.SQLite.dll new file mode 100644 index 0000000..8137b06 Binary files /dev/null and b/packages/System.Data.SQLite.Core.1.0.112.1/lib/net20/System.Data.SQLite.dll differ diff --git a/packages/System.Data.SQLite.Core.1.0.112.1/lib/net20/System.Data.SQLite.dll.config b/packages/System.Data.SQLite.Core.1.0.112.1/lib/net20/System.Data.SQLite.dll.config new file mode 100644 index 0000000..b14f7b5 --- /dev/null +++ b/packages/System.Data.SQLite.Core.1.0.112.1/lib/net20/System.Data.SQLite.dll.config @@ -0,0 +1,22 @@ + + + + + + + + + diff --git a/packages/System.Data.SQLite.Core.1.0.112.1/lib/net20/System.Data.SQLite.xml b/packages/System.Data.SQLite.Core.1.0.112.1/lib/net20/System.Data.SQLite.xml new file mode 100644 index 0000000..7510396 --- /dev/null +++ b/packages/System.Data.SQLite.Core.1.0.112.1/lib/net20/System.Data.SQLite.xml @@ -0,0 +1,21406 @@ + + + + System.Data.SQLite + + + + + Defines a source code identifier custom attribute for an assembly + manifest. + + + + + Constructs an instance of this attribute class using the specified + source code identifier value. + + + The source code identifier value to use. + + + + + Gets the source code identifier value. + + + + + Defines a source code time-stamp custom attribute for an assembly + manifest. + + + + + Constructs an instance of this attribute class using the specified + source code time-stamp value. + + + The source code time-stamp value to use. + + + + + Gets the source code time-stamp value. + + + + + This is the method signature for the SQLite core library logging callback + function for use with sqlite3_log() and the SQLITE_CONFIG_LOG. + + WARNING: This delegate is used more-or-less directly by native code, do + not modify its type signature. + + + The extra data associated with this message, if any. + + + The error code associated with this message. + + + The message string to be logged. + + + + + This class implements SQLiteBase completely, and is the guts of the code that interop's SQLite with .NET + + + + + This internal class provides the foundation of SQLite support. It defines all the abstract members needed to implement + a SQLite data provider, and inherits from SQLiteConvert which allows for simple translations of string to and from SQLite. + + + + + This base class provides datatype conversion services for the SQLite provider. + + + + + This character is used to escape other characters, including itself, in + connection string property names and values. + + + + + This character can be used to wrap connection string property names and + values. Normally, it is optional; however, when used, it must be the + first -AND- last character of that connection string property name -OR- + value. + + + + + This character can be used to wrap connection string property names and + values. Normally, it is optional; however, when used, it must be the + first -AND- last character of that connection string property name -OR- + value. + + + + + The character is used to separate the name and value for a connection + string property. This character cannot be present in any connection + string property name. This character can be present in a connection + string property value; however, this should be avoided unless deemed + absolutely necessary. + + + + + This character is used to separate connection string properties. When + the "No_SQLiteConnectionNewParser" setting is enabled, this character + may not appear in connection string property names -OR- values. + + + + + The fallback default database type when one cannot be obtained from an + existing connection instance. + + + + + The format string for DateTime values when using the InvariantCulture or CurrentCulture formats. + + + + + These are the characters that are special to the connection string + parser. + + + + + The fallback default database type name when one cannot be obtained from + an existing connection instance. + + + + + The value for the Unix epoch (e.g. January 1, 1970 at midnight, in UTC). + + + + + The value of the OLE Automation epoch represented as a Julian day. This + field cannot be removed as the test suite relies upon it. + + + + + This is the minimum Julian Day value supported by this library + (148731163200000). + + + + + This is the maximum Julian Day value supported by this library + (464269060799000). + + + + + An array of ISO-8601 DateTime formats that we support parsing. + + + + + The internal default format for UTC DateTime values when converting + to a string. + + + + + The internal default format for local DateTime values when converting + to a string. + + + + + An UTF-8 Encoding instance, so we can convert strings to and from UTF-8 + + + + + The default DateTime format for this instance. + + + + + The default DateTimeKind for this instance. + + + + + The default DateTime format string for this instance. + + + + + Initializes the conversion class + + The default date/time format to use for this instance + The DateTimeKind to use. + The DateTime format string to use. + + + + Converts a string to a UTF-8 encoded byte array sized to include a null-terminating character. + + The string to convert to UTF-8 + A byte array containing the converted string plus an extra 0 terminating byte at the end of the array. + + + + Convert a DateTime to a UTF-8 encoded, zero-terminated byte array. + + + This function is a convenience function, which first calls ToString() on the DateTime, and then calls ToUTF8() with the + string result. + + The DateTime to convert. + The UTF-8 encoded string, including a 0 terminating byte at the end of the array. + + + + Converts a UTF-8 encoded IntPtr of the specified length into a .NET string + + The pointer to the memory where the UTF-8 string is encoded + The number of bytes to decode + A string containing the translated character(s) + + + + Converts a UTF-8 encoded IntPtr of the specified length into a .NET string + + The pointer to the memory where the UTF-8 string is encoded + The number of bytes to decode + A string containing the translated character(s) + + + + Checks if the specified is within the + supported range for a Julian Day value. + + + The Julian Day value to check. + + + Non-zero if the specified Julian Day value is in the supported + range; otherwise, zero. + + + + + Converts a Julian Day value from a to an + . + + + The Julian Day value to convert. + + + The resulting Julian Day value. + + + + + Converts a Julian Day value from an to a + . + + + The Julian Day value to convert. + + + The resulting Julian Day value. + + + + + Converts a Julian Day value to a . + This method was translated from the "computeYMD" function in the + "date.c" file belonging to the SQLite core library. + + + The Julian Day value to convert. + + + The value to return in the event that the + Julian Day is out of the supported range. If this value is null, + an exception will be thrown instead. + + + A value that contains the year, month, and + day values that are closest to the specified Julian Day value. + + + + + Converts a Julian Day value to a . + This method was translated from the "computeHMS" function in the + "date.c" file belonging to the SQLite core library. + + + The Julian Day value to convert. + + + The value to return in the event that the + Julian Day value is out of the supported range. If this value is + null, an exception will be thrown instead. + + + A value that contains the hour, minute, and + second, and millisecond values that are closest to the specified + Julian Day value. + + + + + Converts a to a Julian Day value. + This method was translated from the "computeJD" function in + the "date.c" file belonging to the SQLite core library. + Since the range of Julian Day values supported by this method + includes all possible (valid) values of a + value, it should be extremely difficult for this method to + raise an exception or return an undefined result. + + + The value to convert. This value + will be within the range of + (00:00:00.0000000, January 1, 0001) to + (23:59:59.9999999, December + 31, 9999). + + + The nearest Julian Day value corresponding to the specified + value. + + + + + Converts a string into a DateTime, using the DateTimeFormat, DateTimeKind, + and DateTimeFormatString specified for the connection when it was opened. + + + Acceptable ISO8601 DateTime formats are: + + THHmmssK + THHmmK + HH:mm:ss.FFFFFFFK + HH:mm:ssK + HH:mmK + yyyy-MM-dd HH:mm:ss.FFFFFFFK + yyyy-MM-dd HH:mm:ssK + yyyy-MM-dd HH:mmK + yyyy-MM-ddTHH:mm:ss.FFFFFFFK + yyyy-MM-ddTHH:mmK + yyyy-MM-ddTHH:mm:ssK + yyyyMMddHHmmssK + yyyyMMddHHmmK + yyyyMMddTHHmmssFFFFFFFK + THHmmss + THHmm + HH:mm:ss.FFFFFFF + HH:mm:ss + HH:mm + yyyy-MM-dd HH:mm:ss.FFFFFFF + yyyy-MM-dd HH:mm:ss + yyyy-MM-dd HH:mm + yyyy-MM-ddTHH:mm:ss.FFFFFFF + yyyy-MM-ddTHH:mm + yyyy-MM-ddTHH:mm:ss + yyyyMMddHHmmss + yyyyMMddHHmm + yyyyMMddTHHmmssFFFFFFF + yyyy-MM-dd + yyyyMMdd + yy-MM-dd + + If the string cannot be matched to one of the above formats -OR- + the DateTimeFormatString if one was provided, an exception will + be thrown. + + The string containing either a long integer number of 100-nanosecond units since + System.DateTime.MinValue, a Julian day double, an integer number of seconds since the Unix epoch, a + culture-independent formatted date and time string, a formatted date and time string in the current + culture, or an ISO8601-format string. + A DateTime value + + + + Converts a string into a DateTime, using the specified DateTimeFormat, + DateTimeKind and DateTimeFormatString. + + + Acceptable ISO8601 DateTime formats are: + + THHmmssK + THHmmK + HH:mm:ss.FFFFFFFK + HH:mm:ssK + HH:mmK + yyyy-MM-dd HH:mm:ss.FFFFFFFK + yyyy-MM-dd HH:mm:ssK + yyyy-MM-dd HH:mmK + yyyy-MM-ddTHH:mm:ss.FFFFFFFK + yyyy-MM-ddTHH:mmK + yyyy-MM-ddTHH:mm:ssK + yyyyMMddHHmmssK + yyyyMMddHHmmK + yyyyMMddTHHmmssFFFFFFFK + THHmmss + THHmm + HH:mm:ss.FFFFFFF + HH:mm:ss + HH:mm + yyyy-MM-dd HH:mm:ss.FFFFFFF + yyyy-MM-dd HH:mm:ss + yyyy-MM-dd HH:mm + yyyy-MM-ddTHH:mm:ss.FFFFFFF + yyyy-MM-ddTHH:mm + yyyy-MM-ddTHH:mm:ss + yyyyMMddHHmmss + yyyyMMddHHmm + yyyyMMddTHHmmssFFFFFFF + yyyy-MM-dd + yyyyMMdd + yy-MM-dd + + If the string cannot be matched to one of the above formats -OR- + the DateTimeFormatString if one was provided, an exception will + be thrown. + + The string containing either a long integer number of 100-nanosecond units since + System.DateTime.MinValue, a Julian day double, an integer number of seconds since the Unix epoch, a + culture-independent formatted date and time string, a formatted date and time string in the current + culture, or an ISO8601-format string. + The SQLiteDateFormats to use. + The DateTimeKind to use. + The DateTime format string to use. + A DateTime value + + + + Converts a julianday value into a DateTime + + The value to convert + A .NET DateTime + + + + Converts a julianday value into a DateTime + + The value to convert + The DateTimeKind to use. + A .NET DateTime + + + + Converts the specified number of seconds from the Unix epoch into a + value. + + + The number of whole seconds since the Unix epoch. + + + Either Utc or Local time. + + + The new value. + + + + + Converts the specified number of ticks since the epoch into a + value. + + + The number of whole ticks since the epoch. + + + Either Utc or Local time. + + + The new value. + + + + + Converts a DateTime struct to a JulianDay double + + The DateTime to convert + The JulianDay value the Datetime represents + + + + Converts a DateTime struct to the whole number of seconds since the + Unix epoch. + + The DateTime to convert + The whole number of seconds since the Unix epoch + + + + Returns the DateTime format string to use for the specified DateTimeKind. + If is not null, it will be returned verbatim. + + The DateTimeKind to use. + The DateTime format string to use. + + The DateTime format string to use for the specified DateTimeKind. + + + + + Converts a string into a DateTime, using the DateTimeFormat, DateTimeKind, + and DateTimeFormatString specified for the connection when it was opened. + + The DateTime value to convert + Either a string containing the long integer number of 100-nanosecond units since System.DateTime.MinValue, a + Julian day double, an integer number of seconds since the Unix epoch, a culture-independent formatted date and time + string, a formatted date and time string in the current culture, or an ISO8601-format date/time string. + + + + Converts a string into a DateTime, using the DateTimeFormat, DateTimeKind, + and DateTimeFormatString specified for the connection when it was opened. + + The DateTime value to convert + The SQLiteDateFormats to use. + The DateTimeKind to use. + The DateTime format string to use. + Either a string containing the long integer number of 100-nanosecond units since System.DateTime.MinValue, a + Julian day double, an integer number of seconds since the Unix epoch, a culture-independent formatted date and time + string, a formatted date and time string in the current culture, or an ISO8601-format date/time string. + + + + Internal function to convert a UTF-8 encoded IntPtr of the specified length to a DateTime. + + + This is a convenience function, which first calls ToString() on the IntPtr to convert it to a string, then calls + ToDateTime() on the string to return a DateTime. + + A pointer to the UTF-8 encoded string + The length in bytes of the string + The parsed DateTime value + + + + Smart method of splitting a string. Skips quoted elements, removes the quotes. + + + This split function works somewhat like the String.Split() function in that it breaks apart a string into + pieces and returns the pieces as an array. The primary differences are: + + Only one character can be provided as a separator character + Quoted text inside the string is skipped over when searching for the separator, and the quotes are removed. + + Thus, if splitting the following string looking for a comma:
+ One,Two, "Three, Four", Five
+
+ The resulting array would contain
+ [0] One
+ [1] Two
+ [2] Three, Four
+ [3] Five
+
+ Note that the leading and trailing spaces were removed from each item during the split. +
+ Source string to split apart + Separator character + A string array of the split up elements +
+ + + Splits the specified string into multiple strings based on a separator + and returns the result as an array of strings. + + + The string to split into pieces based on the separator character. If + this string is null, null will always be returned. If this string is + empty, an array of zero strings will always be returned. + + + The character used to divide the original string into sub-strings. + This character cannot be a backslash or a double-quote; otherwise, no + work will be performed and null will be returned. + + + If this parameter is non-zero, all double-quote characters will be + retained in the returned list of strings; otherwise, they will be + dropped. + + + Upon failure, this parameter will be modified to contain an appropriate + error message. + + + The new array of strings or null if the input string is null -OR- the + separator character is a backslash or a double-quote -OR- the string + contains an unbalanced backslash or double-quote character. + + + + + Queries and returns the string representation for an object, using the + specified (or current) format provider. + + + The object instance to return the string representation for. + + + The format provider to use -OR- null if the current format provider for + the thread should be used instead. + + + The string representation for the object instance -OR- null if the + object instance is also null. + + + + + Attempts to convert an arbitrary object to the Boolean data type. + Null object values are converted to false. Throws an exception + upon failure. + + + The object value to convert. + + + The format provider to use. + + + If non-zero, a string value will be converted using the + + method; otherwise, the + method will be used. + + + The converted boolean value. + + + + + Convert a value to true or false. + + A string or number representing true or false + + + + + Converts an integer to a string that can be round-tripped using the + invariant culture. + + + The integer value to return the string representation for. + + + The string representation of the specified integer value, using the + invariant culture. + + + + + Attempts to convert a into a . + + + The to convert, cannot be null. + + + The converted value. + + + The supported strings are "yes", "no", "y", "n", "on", "off", "0", "1", + as well as any prefix of the strings + and . All strings are treated in a + case-insensitive manner. + + + + + Converts a SQLiteType to a .NET Type object + + The SQLiteType to convert + Returns a .NET Type object + + + + For a given intrinsic type, return a DbType + + The native type to convert + The corresponding (closest match) DbType + + + + Returns the ColumnSize for the given DbType + + The DbType to get the size of + + + + + Determines the default database type name to be used when a + per-connection value is not available. + + + The connection context for type mappings, if any. + + + The default database type name to use. + + + + + If applicable, issues a trace log message warning about falling back to + the default database type name. + + + The database value type. + + + The flags associated with the parent connection object. + + + The textual name of the database type. + + + + + If applicable, issues a trace log message warning about falling back to + the default database value type. + + + The textual name of the database type. + + + The flags associated with the parent connection object. + + + The database value type. + + + + + For a given database value type, return the "closest-match" textual database type name. + + The connection context for custom type mappings, if any. + The database value type. + The flags associated with the parent connection object. + The type name or an empty string if it cannot be determined. + + + + Convert a DbType to a Type + + The DbType to convert from + The closest-match .NET type + + + + For a given type, return the closest-match SQLite TypeAffinity, which only understands a very limited subset of types. + + The type to evaluate + The flags associated with the connection. + The SQLite type affinity for that type. + + + + Builds and returns a map containing the database column types + recognized by this provider. + + + A map containing the database column types recognized by this + provider. + + + + + Determines if a database type is considered to be a string. + + + The database type to check. + + + Non-zero if the database type is considered to be a string, zero + otherwise. + + + + + Determines and returns the runtime configuration setting string that + should be used in place of the specified object value. + + + The object value to convert to a string. + + + Either the string to use in place of the object value -OR- null if it + cannot be determined. + + + + + Determines the default value to be used when a + per-connection value is not available. + + + The connection context for type mappings, if any. + + + The default value to use. + + + + + Converts the object value, which is assumed to have originated + from a , to a string value. + + + The value to be converted to a string. + + + A null value will be returned if the original value is null -OR- + the original value is . Otherwise, + the original value will be converted to a string, using its + (possibly overridden) method and + then returned. + + + + + Determines if the specified textual value appears to be a + value. + + + The textual value to inspect. + + + Non-zero if the text looks like a value, + zero otherwise. + + + + + Determines if the specified textual value appears to be an + value. + + + The textual value to inspect. + + + Non-zero if the text looks like an value, + zero otherwise. + + + + + Determines if the specified textual value appears to be a + value. + + + The textual value to inspect. + + + Non-zero if the text looks like a value, + zero otherwise. + + + + + Determines if the specified textual value appears to be a + value. + + + The object instance configured with + the chosen format. + + + The textual value to inspect. + + + Non-zero if the text looks like a in the + configured format, zero otherwise. + + + + + For a given textual database type name, return the "closest-match" database type. + This method is called during query result processing; therefore, its performance + is critical. + + The connection context for custom type mappings, if any. + The textual name of the database type to match. + The flags associated with the parent connection object. + The .NET DBType the text evaluates to. + + + + The error code used for logging exceptions caught in user-provided + code. + + + + + Returns non-zero if this connection to the database is read-only. + + + + + Sets the status of the memory usage tracking subsystem in the SQLite core library. By default, this is enabled. + If this is disabled, memory usage tracking will not be performed. This is not really a per-connection value, it is + global to the process. + + Non-zero to enable memory usage tracking, zero otherwise. + A standard SQLite return code (i.e. zero for success and non-zero for failure). + + + + Attempts to free as much heap memory as possible for the database connection. + + A standard SQLite return code (i.e. zero for success and non-zero for failure). + + + + Shutdown the SQLite engine so that it can be restarted with different config options. + We depend on auto initialization to recover. + + + + + Determines if the associated native connection handle is open. + + + Non-zero if a database connection is open. + + + + + Returns the fully qualified path and file name for the currently open + database, if any. + + + The name of the attached database to query. + + + The fully qualified path and file name for the currently open database, + if any. + + + + + Opens a database. + + + Implementers should call SQLiteFunction.BindFunctions() and save the array after opening a connection + to bind all attributed user-defined functions and collating sequences to the new connection. + + The filename of the database to open. SQLite automatically creates it if it doesn't exist. + The name of the VFS to use -OR- null to use the default VFS. + The flags associated with the parent connection object + The open flags to use when creating the connection + The maximum size of the pool for the given filename + If true, the connection can be pulled from the connection pool + + + + Closes the currently-open database. + + + After the database has been closed implemeters should call SQLiteFunction.UnbindFunctions() to deallocate all interop allocated + memory associated with the user-defined functions and collating sequences tied to the closed connection. + + Non-zero if connection is being disposed, zero otherwise. + + + + Sets the busy timeout on the connection. SQLiteCommand will call this before executing any command. + + The number of milliseconds to wait before returning SQLITE_BUSY + + + + Returns the text of the last error issued by SQLite + + + + + + Returns the text of the last error issued by SQLite -OR- the specified default error text if + none is available from the SQLite core library. + + + The error text to return in the event that one is not available from the SQLite core library. + + + The error text. + + + + + When pooling is enabled, force this connection to be disposed rather than returned to the pool + + + + + When pooling is enabled, returns the number of pool entries matching the current file name. + + The number of pool entries matching the current file name. + + + + Prepares a SQL statement for execution. + + The source connection preparing the command. Can be null for any caller except LINQ + The SQL command text to prepare + The previous statement in a multi-statement command, or null if no previous statement exists + The timeout to wait before aborting the prepare + The remainder of the statement that was not processed. Each call to prepare parses the + SQL up to to either the end of the text or to the first semi-colon delimiter. The remaining text is returned + here for a subsequent call to Prepare() until all the text has been processed. + Returns an initialized SQLiteStatement. + + + + Steps through a prepared statement. + + The SQLiteStatement to step through + True if a row was returned, False if not. + + + + Returns non-zero if the specified statement is read-only in nature. + + The statement to check. + True if the outer query is read-only. + + + + Resets a prepared statement so it can be executed again. If the error returned is SQLITE_SCHEMA, + transparently attempt to rebuild the SQL statement and throw an error if that was not possible. + + The statement to reset + Returns -1 if the schema changed while resetting, 0 if the reset was sucessful or 6 (SQLITE_LOCKED) if the reset failed due to a lock + + + + Attempts to interrupt the query currently executing on the associated + native database connection. + + + + + This function binds a user-defined function to the connection. + + + The object instance containing + the metadata for the function to be bound. + + + The object instance that implements the + function to be bound. + + + The flags associated with the parent connection object. + + + + + This function unbinds a user-defined function from the connection. + + + The object instance containing + the metadata for the function to be unbound. + + + The flags associated with the parent connection object. + + Non-zero if the function was unbound. + + + + Calls the native SQLite core library in order to create a disposable + module containing the implementation of a virtual table. + + + The module object to be used when creating the native disposable module. + + + The flags for the associated object instance. + + + + + Calls the native SQLite core library in order to cleanup the resources + associated with a module containing the implementation of a virtual table. + + + The module object previously passed to the + method. + + + The flags for the associated object instance. + + + + + Calls the native SQLite core library in order to declare a virtual table + in response to a call into the + or virtual table methods. + + + The virtual table module that is to be responsible for the virtual table + being declared. + + + The string containing the SQL statement describing the virtual table to + be declared. + + + Upon success, the contents of this parameter are undefined. Upon failure, + it should contain an appropriate error message. + + + A standard SQLite return code. + + + + + Calls the native SQLite core library in order to declare a virtual table + function in response to a call into the + or virtual table methods. + + + The virtual table module that is to be responsible for the virtual table + function being declared. + + + The number of arguments to the function being declared. + + + The name of the function being declared. + + + Upon success, the contents of this parameter are undefined. Upon failure, + it should contain an appropriate error message. + + + A standard SQLite return code. + + + + + Returns the current and/or highwater values for the specified database status parameter. + + + The database status parameter to query. + + + Non-zero to reset the highwater value to the current value. + + + If applicable, receives the current value. + + + If applicable, receives the highwater value. + + + A standard SQLite return code. + + + + + Change a limit value for the database. + + + The database limit to change. + + + The new value for the specified limit. + + + The old value for the specified limit -OR- negative one if an error + occurs. + + + + + Change a configuration option value for the database. + + + The database configuration option to change. + + + The new value for the specified configuration option. + + + A standard SQLite return code. + + + + + Enables or disables extension loading by SQLite. + + + True to enable loading of extensions, false to disable. + + + + + Loads a SQLite extension library from the named file. + + + The name of the dynamic link library file containing the extension. + + + The name of the exported function used to initialize the extension. + If null, the default "sqlite3_extension_init" will be used. + + + + + Enables or disables extened result codes returned by SQLite + + true to enable extended result codes, false to disable. + + + + + Returns the numeric result code for the most recent failed SQLite API call + associated with the database connection. + + Result code + + + + Returns the extended numeric result code for the most recent failed SQLite API call + associated with the database connection. + + Extended result code + + + + Add a log message via the SQLite sqlite3_log interface. + + Error code to be logged with the message. + String to be logged. Unlike the SQLite sqlite3_log() + interface, this should be pre-formatted. Consider using the + String.Format() function. + + + + + Checks if the SQLite core library has been initialized in the current process. + + + Non-zero if the SQLite core library has been initialized in the current process, + zero otherwise. + + + + + Creates a new SQLite backup object based on the provided destination + database connection. The source database connection is the one + associated with this object. The source and destination database + connections cannot be the same. + + The destination database connection. + The destination database name. + The source database name. + The newly created backup object. + + + + Copies up to N pages from the source database to the destination + database associated with the specified backup object. + + The backup object to use. + + The number of pages to copy or negative to copy all remaining pages. + + + Set to true if the operation needs to be retried due to database + locking issues. + + + True if there are more pages to be copied, false otherwise. + + + + + Returns the number of pages remaining to be copied from the source + database to the destination database associated with the specified + backup object. + + The backup object to check. + The number of pages remaining to be copied. + + + + Returns the total number of pages in the source database associated + with the specified backup object. + + The backup object to check. + The total number of pages in the source database. + + + + Destroys the backup object, rolling back any backup that may be in + progess. + + The backup object to destroy. + + + + Returns the error message for the specified SQLite return code using + the internal static lookup table. + + The SQLite return code. + The error message or null if it cannot be found. + + + + Returns a string representing the active version of SQLite + + + + + Returns an integer representing the active version of SQLite + + + + + Returns the rowid of the most recent successful INSERT into the database from this connection. + + + + + Returns the number of changes the last executing insert/update caused. + + + + + Returns the amount of memory (in bytes) currently in use by the SQLite core library. This is not really a per-connection + value, it is global to the process. + + + + + Returns the maximum amount of memory (in bytes) used by the SQLite core library since the high-water mark was last reset. + This is not really a per-connection value, it is global to the process. + + + + + Returns non-zero if the underlying native connection handle is owned by this instance. + + + + + Returns the logical list of functions associated with this connection. + + + + + Returns non-zero if the given database connection is in autocommit mode. + Autocommit mode is on by default. Autocommit mode is disabled by a BEGIN + statement. Autocommit mode is re-enabled by a COMMIT or ROLLBACK. + + + + + This field is used to refer to memory allocated for the + SQLITE_DBCONFIG_MAINDBNAME value used with the native + "sqlite3_db_config" API. If allocated, the associated + memeory will be freed when the underlying connection is + closed. + + + + + The opaque pointer returned to us by the sqlite provider + + + + + The user-defined functions registered on this connection + + + + + This is the name of the native library file that contains the + "vtshim" extension [wrapper]. + + + + + This is the flag indicate whether the native library file that + contains the "vtshim" extension must be dynamically loaded by + this class prior to use. + + + + + This is the name of the native entry point for the "vtshim" + extension [wrapper]. + + + + + The modules created using this connection. + + + + + Constructs the object used to interact with the SQLite core library + using the UTF-8 text encoding. + + + The DateTime format to be used when converting string values to a + DateTime and binding DateTime parameters. + + + The to be used when creating DateTime + values. + + + The format string to be used when parsing and formatting DateTime + values. + + + The native handle to be associated with the database connection. + + + The fully qualified file name associated with . + + + Non-zero if the newly created object instance will need to dispose + of when it is no longer needed. + + + + + This method attempts to dispose of all the derived + object instances currently associated with the native database connection. + + + + + Returns the number of times the method has been + called. + + + + + This method determines whether or not a + with a return code of should + be thrown after making a call into the SQLite core library. + + + Non-zero if a to be thrown. This method + will only return non-zero if the method was called + one or more times during a call into the SQLite core library (e.g. when + the sqlite3_prepare*() or sqlite3_step() APIs are used). + + + + + Resets the value of the field. + + + + + Attempts to interrupt the query currently executing on the associated + native database connection. + + + + + This function binds a user-defined function to the connection. + + + The object instance containing + the metadata for the function to be bound. + + + The object instance that implements the + function to be bound. + + + The flags associated with the parent connection object. + + + + + This function binds a user-defined function to the connection. + + + The object instance containing + the metadata for the function to be unbound. + + + The flags associated with the parent connection object. + + Non-zero if the function was unbound and removed. + + + + Attempts to free as much heap memory as possible for the database connection. + + A standard SQLite return code (i.e. zero for success and non-zero for failure). + + + + Attempts to free N bytes of heap memory by deallocating non-essential memory + allocations held by the database library. Memory used to cache database pages + to improve performance is an example of non-essential memory. This is a no-op + returning zero if the SQLite core library was not compiled with the compile-time + option SQLITE_ENABLE_MEMORY_MANAGEMENT. Optionally, attempts to reset and/or + compact the Win32 native heap, if applicable. + + + The requested number of bytes to free. + + + Non-zero to attempt a heap reset. + + + Non-zero to attempt heap compaction. + + + The number of bytes actually freed. This value may be zero. + + + This value will be non-zero if the heap reset was successful. + + + The size of the largest committed free block in the heap, in bytes. + This value will be zero unless heap compaction is enabled. + + + A standard SQLite return code (i.e. zero for success and non-zero + for failure). + + + + + Shutdown the SQLite engine so that it can be restarted with different + configuration options. We depend on auto initialization to recover. + + Returns a standard SQLite result code. + + + + Shutdown the SQLite engine so that it can be restarted with different + configuration options. We depend on auto initialization to recover. + + + Non-zero to reset the database and temporary directories to their + default values, which should be null for both. This parameter has no + effect on non-Windows operating systems. + + Returns a standard SQLite result code. + + + + Determines if the associated native connection handle is open. + + + Non-zero if the associated native connection handle is open. + + + + + Returns the fully qualified path and file name for the currently open + database, if any. + + + The name of the attached database to query. + + + The fully qualified path and file name for the currently open database, + if any. + + + + + This method attempts to determine if a database connection opened + with the specified should be + allowed into the connection pool. + + + The that were specified when the + connection was opened. + + + Non-zero if the connection should (eventually) be allowed into the + connection pool; otherwise, zero. + + + + + Has the sqlite3_errstr() core library API been checked for yet? + If so, is it present? + + + + + Returns the error message for the specified SQLite return code using + the sqlite3_errstr() function, falling back to the internal lookup + table if necessary. + + WARNING: Do not remove this method, it is used via reflection. + + The SQLite return code. + The error message or null if it cannot be found. + + + + Has the sqlite3_stmt_readonly() core library API been checked for yet? + If so, is it present? + + + + + Returns non-zero if the specified statement is read-only in nature. + + The statement to check. + True if the outer query is read-only. + + + + This field is used to keep track of whether or not the + "SQLite_ForceLogPrepare" environment variable has been queried. If so, + it will only be non-zero if the environment variable was present. + + + + + Determines if all calls to prepare a SQL query will be logged, + regardless of the flags for the associated connection. + + + Non-zero to log all calls to prepare a SQL query. + + + + + Determines the file name of the native library containing the native + "vtshim" extension -AND- whether it should be dynamically loaded by + this class. + + + This output parameter will be set to non-zero if the returned native + library file name should be dynamically loaded prior to attempting + the creation of native disposable extension modules. + + + The file name of the native library containing the native "vtshim" + extension -OR- null if it cannot be determined. + + + + + Calls the native SQLite core library in order to create a disposable + module containing the implementation of a virtual table. + + + The module object to be used when creating the native disposable module. + + + The flags for the associated object instance. + + + + + Calls the native SQLite core library in order to cleanup the resources + associated with a module containing the implementation of a virtual table. + + + The module object previously passed to the + method. + + + The flags for the associated object instance. + + + + + Calls the native SQLite core library in order to declare a virtual table + in response to a call into the + or virtual table methods. + + + The virtual table module that is to be responsible for the virtual table + being declared. + + + The string containing the SQL statement describing the virtual table to + be declared. + + + Upon success, the contents of this parameter are undefined. Upon failure, + it should contain an appropriate error message. + + + A standard SQLite return code. + + + + + Calls the native SQLite core library in order to declare a virtual table + function in response to a call into the + or virtual table methods. + + + The virtual table module that is to be responsible for the virtual table + function being declared. + + + The number of arguments to the function being declared. + + + The name of the function being declared. + + + Upon success, the contents of this parameter are undefined. Upon failure, + it should contain an appropriate error message. + + + A standard SQLite return code. + + + + + Builds an error message string fragment containing the + defined values of the + enumeration. + + + The built string fragment. + + + + + Builds an error message string fragment containing the + defined values of the + enumeration. + + + The built string fragment. + + + + + Builds an error message string fragment containing the + defined values of the + enumeration. + + + The built string fragment. + + + + + Returns the current and/or highwater values for the specified + database status parameter. + + + The database status parameter to query. + + + Non-zero to reset the highwater value to the current value. + + + If applicable, receives the current value. + + + If applicable, receives the highwater value. + + + A standard SQLite return code. + + + + + Change a limit value for the database. + + + The database limit to change. + + + The new value for the specified limit. + + + The old value for the specified limit -OR- negative one if an error + occurs. + + + + + Change a configuration option value for the database. + + + The database configuration option to change. + + + The new value for the specified configuration option. + + + A standard SQLite return code. + + + + + Enables or disables extension loading by SQLite. + + + True to enable loading of extensions, false to disable. + + + + + Loads a SQLite extension library from the named file. + + + The name of the dynamic link library file containing the extension. + + + The name of the exported function used to initialize the extension. + If null, the default "sqlite3_extension_init" will be used. + + + + Enables or disables extended result codes returned by SQLite + + + Gets the last SQLite error code + + + Gets the last SQLite extended error code + + + Add a log message via the SQLite sqlite3_log interface. + + + Add a log message via the SQLite sqlite3_log interface. + + + + Allows the setting of a logging callback invoked by SQLite when a + log event occurs. Only one callback may be set. If NULL is passed, + the logging callback is unregistered. + + The callback function to invoke. + Returns a result code + + + + Appends an error message and an appropriate line-ending to a + instance. This is useful because the .NET Compact Framework has a slightly different set + of supported methods for the class. + + + The instance to append to. + + + The message to append. It will be followed by an appropriate line-ending. + + + + + This method attempts to cause the SQLite native library to invalidate + its function pointers that refer to this instance. This is necessary + to prevent calls from native code into delegates that may have been + garbage collected. Normally, these types of issues can only arise for + connections that are added to the pool; howver, it is good practice to + unconditionally invalidate function pointers that may refer to objects + being disposed. + + + Non-zero to also invalidate global function pointers (i.e. those that + are not directly associated with this connection on the native side). + + + Non-zero if this method is being executed within a context where it can + throw an exception in the event of failure; otherwise, zero. + + + Non-zero if this method was successful; otherwise, zero. + + + + + This method attempts to free the cached database name used with the + method. + + + Non-zero if this method is being executed within a context where it can + throw an exception in the event of failure; otherwise, zero. + + + Non-zero if this method was successful; otherwise, zero. + + + + + Creates a new SQLite backup object based on the provided destination + database connection. The source database connection is the one + associated with this object. The source and destination database + connections cannot be the same. + + The destination database connection. + The destination database name. + The source database name. + The newly created backup object. + + + + Copies up to N pages from the source database to the destination + database associated with the specified backup object. + + The backup object to use. + + The number of pages to copy, negative to copy all remaining pages. + + + Set to true if the operation needs to be retried due to database + locking issues; otherwise, set to false. + + + True if there are more pages to be copied, false otherwise. + + + + + Returns the number of pages remaining to be copied from the source + database to the destination database associated with the specified + backup object. + + The backup object to check. + The number of pages remaining to be copied. + + + + Returns the total number of pages in the source database associated + with the specified backup object. + + The backup object to check. + The total number of pages in the source database. + + + + Destroys the backup object, rolling back any backup that may be in + progess. + + The backup object to destroy. + + + + Determines if the SQLite core library has been initialized for the + current process. + + + A boolean indicating whether or not the SQLite core library has been + initialized for the current process. + + + + + Determines if the SQLite core library has been initialized for the + current process. + + + A boolean indicating whether or not the SQLite core library has been + initialized for the current process. + + + + + Helper function to retrieve a column of data from an active statement. + + The statement being step()'d through + The flags associated with the connection. + The column index to retrieve + The type of data contained in the column. If Uninitialized, this function will retrieve the datatype information. + Returns the data in the column + + + + Returns non-zero if the underlying native connection handle is owned + by this instance. + + + + + Returns the logical list of functions associated with this connection. + + + + + Alternate SQLite3 object, overriding many text behaviors to support UTF-16 (Unicode) + + + + + Constructs the object used to interact with the SQLite core library + using the UTF-8 text encoding. + + + The DateTime format to be used when converting string values to a + DateTime and binding DateTime parameters. + + + The to be used when creating DateTime + values. + + + The format string to be used when parsing and formatting DateTime + values. + + + The native handle to be associated with the database connection. + + + The fully qualified file name associated with . + + + Non-zero if the newly created object instance will need to dispose + of when it is no longer needed. + + + + + Overrides SQLiteConvert.ToString() to marshal UTF-16 strings instead of UTF-8 + + A pointer to a UTF-16 string + The length (IN BYTES) of the string + A .NET string + + + + Represents a single SQL backup in SQLite. + + + + + The underlying SQLite object this backup is bound to. + + + + + The actual backup handle. + + + + + The destination database for the backup. + + + + + The destination database name for the backup. + + + + + The source database for the backup. + + + + + The source database name for the backup. + + + + + The last result from the StepBackup method of the SQLite3 class. + This is used to determine if the call to the FinishBackup method of + the SQLite3 class should throw an exception when it receives a non-Ok + return code from the core SQLite library. + + + + + Initializes the backup. + + The base SQLite object. + The backup handle. + The destination database for the backup. + The destination database name for the backup. + The source database for the backup. + The source database name for the backup. + + + + Disposes and finalizes the backup. + + + + + + + + + + Creates temporary tables on the connection so schema information can be queried. + + + The connection upon which to build the schema tables. + + + + + The extra behavioral flags that can be applied to a connection. + + + + + No extra flags. + + + + + Enable logging of all SQL statements to be prepared. + + + + + Enable logging of all bound parameter types and raw values. + + + + + Enable logging of all bound parameter strongly typed values. + + + + + Enable logging of all exceptions caught from user-provided + managed code called from native code via delegates. + + + + + Enable logging of backup API errors. + + + + + Skip adding the extension functions provided by the native + interop assembly. + + + + + When binding parameter values with the + type, use the interop method that accepts an + value. + + + + + When binding parameter values, always bind them as though they were + plain text (i.e. no numeric, date/time, or other conversions should + be attempted). + + + + + When returning column values, always return them as though they were + plain text (i.e. no numeric, date/time, or other conversions should + be attempted). + + + + + Prevent this object instance from + loading extensions. + + + + + Prevent this object instance from + creating virtual table modules. + + + + + Skip binding any functions provided by other managed assemblies when + opening the connection. + + + + + Skip setting the logging related properties of the + object instance that was passed to + the method. + + + + + Enable logging of all virtual table module errors seen by the + method. + + + + + Enable logging of certain virtual table module exceptions that cannot + be easily discovered via other means. + + + + + Enable tracing of potentially important [non-fatal] error conditions + that cannot be easily reported through other means. + + + + + When binding parameter values, always use the invariant culture when + converting their values from strings. + + + + + When binding parameter values, always use the invariant culture when + converting their values to strings. + + + + + Disable using the connection pool by default. If the "Pooling" + connection string property is specified, its value will override + this flag. The precise outcome of combining this flag with the + flag is unspecified; however, + one of the flags will be in effect. + + + + + Enable using the connection pool by default. If the "Pooling" + connection string property is specified, its value will override + this flag. The precise outcome of combining this flag with the + flag is unspecified; however, + one of the flags will be in effect. + + + + + Enable using per-connection mappings between type names and + values. Also see the + , + , and + methods. These + per-connection mappings, when present, override the corresponding + global mappings. + + + + + Disable using global mappings between type names and + values. This may be useful in some very narrow + cases; however, if there are no per-connection type mappings, the + fallback defaults will be used for both type names and their + associated values. Therefore, use of this flag + is not recommended. + + + + + When the property is used, it + should return non-zero if there were ever any rows in the associated + result sets. + + + + + Enable "strict" transaction enlistment semantics. Setting this flag + will cause an exception to be thrown if an attempt is made to enlist + in a transaction with an unavailable or unsupported isolation level. + In the future, more extensive checks may be enabled by this flag as + well. + + + + + Enable mapping of unsupported transaction isolation levels to the + closest supported transaction isolation level. + + + + + When returning column values, attempt to detect the affinity of + textual values by checking if they fully conform to those of the + , + , + , + or types. + + + + + When returning column values, attempt to detect the type of + string values by checking if they fully conform to those of + the , + , + , + or types. + + + + + Skip querying runtime configuration settings for use by the + class, including the default + value and default database type name. + NOTE: If the + and/or + properties are not set explicitly nor set via their connection + string properties and repeated calls to determine these runtime + configuration settings are seen to be a problem, this flag + should be set. + + + + + When binding parameter values with the + type, take their into account as + well as that of the associated . + + + + + If an exception is caught when raising the + event, the transaction + should be rolled back. If this is not specified, the transaction + will continue the commit process instead. + + + + + If an exception is caught when raising the + event, the action should + should be denied. If this is not specified, the action will be + allowed instead. + + + + + If an exception is caught when raising the + event, the operation + should be interrupted. If this is not specified, the operation + will simply continue. + + + + + Attempt to unbind all functions provided by other managed assemblies + when closing the connection. + + + + + When returning column values as a , skip + verifying their affinity. + + + + + Enable using per-connection mappings between type names and + values. Also see the + , + , and + methods. + + + + + Enable using per-connection mappings between type names and + values. Also see the + , + , and + methods. + + + + + If the database type name has not been explicitly set for the + parameter specified, fallback to using the parameter name. + + + + + If the database type name has not been explicitly set for the + parameter specified, fallback to using the database type name + associated with the value. + + + + + When returning column values, skip verifying their affinity. + + + + + Allow transactions to be nested. The outermost transaction still + controls whether or not any changes are ultimately committed or + rolled back. All non-outermost transactions are implemented using + the SAVEPOINT construct. + + + + + When binding parameter values, always bind + values as though they were plain text (i.e. not , + which is the legacy behavior). + + + + + When returning column values, always return + values as though they were plain text (i.e. not , + which is the legacy behavior). + + + + + When binding parameter values, always use + the invariant culture when converting their values to strings. + + + + + When returning column values, always use + the invariant culture when converting their values from strings. + + + + + EXPERIMENTAL -- + Enable waiting for the enlistment to be reset prior to attempting + to create a new enlistment. This may be necessary due to the + semantics used by distributed transactions, which complete + asynchronously. + + + + + When returning column values, always use + the invariant culture when converting their values from strings. + + + + + When returning column values, always use + the invariant culture when converting their values from strings. + + + + + EXPERIMENTAL -- + Enable strict conformance to the ADO.NET standard, e.g. use of + thrown exceptions to indicate common error conditions. + + + + + EXPERIMENTAL -- + When opening a connection, attempt to hide the password from the + connection string, etc. Given the memory architecture of the CLR, + (and P/Invoke) this is not 100% reliable and should not be relied + upon for security critical uses or applications. + + + + + When binding parameter values or returning column values, always + treat them as though they were plain text (i.e. no numeric, + date/time, or other conversions should be attempted). + + + + + When binding parameter values, always use the invariant culture when + converting their values to strings or from strings. + + + + + When binding parameter values or returning column values, always + treat them as though they were plain text (i.e. no numeric, + date/time, or other conversions should be attempted) and always + use the invariant culture when converting their values to strings. + + + + + When binding parameter values or returning column values, always + treat them as though they were plain text (i.e. no numeric, + date/time, or other conversions should be attempted) and always + use the invariant culture when converting their values to strings + or from strings. + + + + + Enables use of all per-connection value handling callbacks. + + + + + Enables use of all applicable + properties as fallbacks for the database type name. + + + + + Enable all logging. + + + + + The default logging related flags for new connections. + + + + + The default extra flags for new connections. + + + + + The default extra flags for new connections with all logging enabled. + + + + + These are the supported status parameters for use with the native + SQLite library. + + + + + This parameter returns the number of lookaside memory slots + currently checked out. + + + + + This parameter returns the approximate number of bytes of + heap memory used by all pager caches associated with the + database connection. The highwater mark associated with + SQLITE_DBSTATUS_CACHE_USED is always 0. + + + + + This parameter returns the approximate number of bytes of + heap memory used to store the schema for all databases + associated with the connection - main, temp, and any ATTACH-ed + databases. The full amount of memory used by the schemas is + reported, even if the schema memory is shared with other + database connections due to shared cache mode being enabled. + The highwater mark associated with SQLITE_DBSTATUS_SCHEMA_USED + is always 0. + + + + + This parameter returns the number malloc attempts that might + have been satisfied using lookaside memory but failed due to + all lookaside memory already being in use. Only the high-water + value is meaningful; the current value is always zero. + + + + + This parameter returns the number malloc attempts that were + satisfied using lookaside memory. Only the high-water value + is meaningful; the current value is always zero. + + + + + This parameter returns the number malloc attempts that might + have been satisfied using lookaside memory but failed due to + the amount of memory requested being larger than the lookaside + slot size. Only the high-water value is meaningful; the current + value is always zero. + + + + + This parameter returns the number malloc attempts that might + have been satisfied using lookaside memory but failed due to + the amount of memory requested being larger than the lookaside + slot size. Only the high-water value is meaningful; the current + value is always zero. + + + + + This parameter returns the number of pager cache hits that + have occurred. The highwater mark associated with + SQLITE_DBSTATUS_CACHE_HIT is always 0. + + + + + This parameter returns the number of pager cache misses that + have occurred. The highwater mark associated with + SQLITE_DBSTATUS_CACHE_MISS is always 0. + + + + + This parameter returns the number of dirty cache entries that + have been written to disk. Specifically, the number of pages + written to the wal file in wal mode databases, or the number + of pages written to the database file in rollback mode + databases. Any pages written as part of transaction rollback + or database recovery operations are not included. If an IO or + other error occurs while writing a page to disk, the effect + on subsequent SQLITE_DBSTATUS_CACHE_WRITE requests is + undefined. The highwater mark associated with + SQLITE_DBSTATUS_CACHE_WRITE is always 0. + + + + + This parameter returns zero for the current value if and only + if all foreign key constraints (deferred or immediate) have + been resolved. The highwater mark is always 0. + + + + + This parameter is similar to DBSTATUS_CACHE_USED, except that + if a pager cache is shared between two or more connections the + bytes of heap memory used by that pager cache is divided evenly + between the attached connections. In other words, if none of + the pager caches associated with the database connection are + shared, this request returns the same value as DBSTATUS_CACHE_USED. + Or, if one or more or the pager caches are shared, the value + returned by this call will be smaller than that returned by + DBSTATUS_CACHE_USED. The highwater mark associated with + SQLITE_DBSTATUS_CACHE_USED_SHARED is always 0. + + + + + This parameter returns the number of dirty cache entries that have + been written to disk in the middle of a transaction due to the page + cache overflowing. Transactions are more efficient if they are + written to disk all at once. When pages spill mid-transaction, that + introduces additional overhead. This parameter can be used help + identify inefficiencies that can be resolved by increasing the cache + size. + + + + + These are the supported configuration verbs for use with the native + SQLite library. They are used with the + method. + + + + + This value represents an unknown (or invalid) option, do not use it. + + + + + This option is used to change the name of the "main" database + schema. The sole argument is a pointer to a constant UTF8 string + which will become the new schema name in place of "main". + + + + + This option is used to configure the lookaside memory allocator. + The value must be an array with three elements. The second element + must be an containing the size of each buffer + slot. The third element must be an containing + the number of slots. The first element must be an + that points to a native memory buffer of bytes equal to or greater + than the product of the second and third element values. + + + + + This option is used to enable or disable the enforcement of + foreign key constraints. + + + + + This option is used to enable or disable triggers. + + + + + This option is used to enable or disable the two-argument version + of the fts3_tokenizer() function which is part of the FTS3 full-text + search engine extension. + + + + + This option is used to enable or disable the loading of extensions. + + + + + This option is used to enable or disable the automatic checkpointing + when a WAL database is closed. + + + + + This option is used to enable or disable the query planner stability + guarantee (QPSG). + + + + + This option is used to enable or disable the extra EXPLAIN QUERY PLAN + output for trigger programs. + + + + + This option is used as part of the process to reset a database back + to an empty state. Because resetting a database is destructive and + irreversible, the process requires the use of this obscure flag and + multiple steps to help ensure that it does not happen by accident. + + + + + This option activates or deactivates the "defensive" flag for a + database connection. When the defensive flag is enabled, language + features that allow ordinary SQL to deliberately corrupt the database + file are disabled. The disabled features include but are not limited + to the following: + ]]> + ]]> + The PRAGMA writable_schema=ON statement. + ]]> + ]]> + The PRAGMA journal_mode=OFF statement. + ]]> + ]]> + Writes to the sqlite_dbpage virtual table. + ]]> + ]]> + Direct writes to shadow tables. + ]]> + ]]> + + + + + This option activates or deactivates the "writable_schema" flag. + + + + + This option activates or deactivates the legacy behavior of the ALTER + TABLE RENAME command such it behaves as it did prior to version 3.24.0 + (2018-06-04). + + + + + This option activates or deactivates the legacy double-quoted string + literal misfeature for DML statement only, that is DELETE, INSERT, + SELECT, and UPDATE statements. + + + + + This option activates or deactivates the legacy double-quoted string + literal misfeature for DDL statements, such as CREATE TABLE and CREATE + INDEX. + + + + + This option is used to enable or disable CREATE VIEW. + + + + + This option activates or deactivates the legacy file format flag. + + + + + This option tells SQLite to assume that database schemas (i.e. the + contents of the sqlite_master tables) are untainted by malicious + content. When the trusted schema option is disabled, SQLite takes + additional defensive steps to protect the application from harm + including: + ]]> + ]]> + Prohibit the use of SQL functions inside triggers, views, CHECK + constraints, DEFAULT clauses, expression indexes, partial indexes, + or generated columns unless those functions are tagged with + SQLITE_INNOCUOUS. + ]]> + ]]> + Prohibit the use of virtual tables inside of triggers or views + unless those virtual tables are tagged with SQLITE_VTAB_INNOCUOUS. + ]]> + This setting defaults to "on" for legacy compatibility, however + all applications are advised to turn it off if possible. This + setting can also be controlled using the PRAGMA trusted_schema + statement. + + + + + These constants are used with the sqlite3_trace_v2() API and the + callbacks registered by it. + + + + + These constants are used with the sqlite3_limit() API. + + + + + This value represents an unknown (or invalid) limit, do not use it. + + + + + The maximum size of any string or BLOB or table row, in bytes. + + + + + The maximum length of an SQL statement, in bytes. + + + + + The maximum number of columns in a table definition or in the + result set of a SELECT or the maximum number of columns in an + index or in an ORDER BY or GROUP BY clause. + + + + + The maximum depth of the parse tree on any expression. + + + + + The maximum number of terms in a compound SELECT statement. + + + + + The maximum number of instructions in a virtual machine program + used to implement an SQL statement. If sqlite3_prepare_v2() or + the equivalent tries to allocate space for more than this many + opcodes in a single prepared statement, an SQLITE_NOMEM error + is returned. + + + + + The maximum number of arguments on a function. + + + + + The maximum number of attached databases. + + + + + The maximum length of the pattern argument to the LIKE or GLOB + operators. + + + + + The maximum index number of any parameter in an SQL statement. + + + + + The maximum depth of recursion for triggers. + + + + + The maximum number of auxiliary worker threads that a single + prepared statement may start. + + + + + Represents a single SQL blob in SQLite. + + + + + The underlying SQLite object this blob is bound to. + + + + + The actual blob handle. + + + + + Initializes the blob. + + The base SQLite object. + The blob handle. + + + + Creates a object. This will not work + for tables that were created WITHOUT ROWID -OR- if the query + does not include the "rowid" column or one of its aliases -OR- + if the was not created with the + flag. + + + The instance with a result set + containing the desired blob column. + + + The index of the blob column. + + + Non-zero to open the blob object for read-only access. + + + The newly created instance -OR- null + if an error occurs. + + + + + Creates a object. This will not work + for tables that were created WITHOUT ROWID. + + + The connection to use when opening the blob object. + + + The name of the database containing the blob object. + + + The name of the table containing the blob object. + + + The name of the column containing the blob object. + + + The integer identifier for the row associated with the desired + blob object. + + + Non-zero to open the blob object for read-only access. + + + The newly created instance -OR- null + if an error occurs. + + + + + Throws an exception if the blob object does not appear to be open. + + + + + Throws an exception if an invalid read/write parameter is detected. + + + When reading, this array will be populated with the bytes read from + the underlying database blob. When writing, this array contains new + values for the specified portion of the underlying database blob. + + + The number of bytes to read or write. + + + The byte offset, relative to the start of the underlying database + blob, where the read or write operation will begin. + + + + + Retargets this object to an underlying database blob for a + different row; the database, table, and column remain exactly + the same. If this operation fails for any reason, this blob + object is automatically disposed. + + + The integer identifier for the new row. + + + + + Queries the total number of bytes for the underlying database blob. + + + The total number of bytes for the underlying database blob. + + + + + Reads data from the underlying database blob. + + + This array will be populated with the bytes read from the + underlying database blob. + + + The number of bytes to read. + + + The byte offset, relative to the start of the underlying + database blob, where the read operation will begin. + + + + + Writes data into the underlying database blob. + + + This array contains the new values for the specified portion of + the underlying database blob. + + + The number of bytes to write. + + + The byte offset, relative to the start of the underlying + database blob, where the write operation will begin. + + + + + Closes the blob, freeing the associated resources. + + + + + Disposes and finalizes the blob. + + + + + The destructor. + + + + + SQLite implementation of DbCommand. + + + + + The default connection string to be used when creating a temporary + connection to execute a command via the static + or + + methods. + + + + + The command text this command is based on + + + + + The connection the command is associated with + + + + + The version of the connection the command is associated with + + + + + Indicates whether or not a DataReader is active on the command. + + + + + The timeout for the command, kludged because SQLite doesn't support per-command timeout values + + + + + Designer support + + + + + Used by DbDataAdapter to determine updating behavior + + + + + The collection of parameters for the command + + + + + The SQL command text, broken into individual SQL statements as they are executed + + + + + Unprocessed SQL text that has not been executed + + + + + Transaction associated with this command + + + + + Constructs a new SQLiteCommand + + + Default constructor + + + + + Initializes the command with the given command text + + The SQL command text + + + + Initializes the command with the given SQL command text and attach the command to the specified + connection. + + The SQL command text + The connection to associate with the command + + + + Initializes the command and associates it with the specified connection. + + The connection to associate with the command + + + + Initializes a command with the given SQL, connection and transaction + + The SQL command text + The connection to associate with the command + The transaction the command should be associated with + + + + Disposes of the command and clears all member variables + + Whether or not the class is being explicitly or implicitly disposed + + + + This method attempts to query the flags associated with the database + connection in use. If the database connection is disposed, the default + flags will be returned. + + + The command containing the databse connection to query the flags from. + + + The connection flags value. + + + + + Clears and destroys all statements currently prepared + + + + + Builds an array of prepared statements for each complete SQL statement in the command text + + + + + Not implemented + + + + + Forwards to the local CreateParameter() function + + + + + + Create a new parameter + + + + + + Verifies that all SQL queries associated with the current command text + can be successfully compiled. A will be + raised if any errors occur. + + + + + This function ensures there are no active readers, that we have a valid connection, + that the connection is open, that all statements are prepared and all parameters are assigned + in preparation for allocating a data reader. + + + + + Creates a new SQLiteDataReader to execute/iterate the array of SQLite prepared statements + + The behavior the data reader should adopt + Returns a SQLiteDataReader object + + + + This method creates a new connection, executes the query using the given + execution type, closes the connection, and returns the results. If the + connection string is null, a temporary in-memory database connection will + be used. + + + The text of the command to be executed. + + + The execution type for the command. This is used to determine which method + of the command object to call, which then determines the type of results + returned, if any. + + + The connection string to the database to be opened, used, and closed. If + this parameter is null, a temporary in-memory databse will be used. + + + The SQL parameter values to be used when building the command object to be + executed, if any. + + + The results of the query -OR- null if no results were produced from the + given execution type. + + + + + This method creates a new connection, executes the query using the given + execution type and command behavior, closes the connection unless a data + reader is created, and returns the results. If the connection string is + null, a temporary in-memory database connection will be used. + + + The text of the command to be executed. + + + The execution type for the command. This is used to determine which method + of the command object to call, which then determines the type of results + returned, if any. + + + The command behavior flags for the command. + + + The connection string to the database to be opened, used, and closed. If + this parameter is null, a temporary in-memory databse will be used. + + + The SQL parameter values to be used when building the command object to be + executed, if any. + + + The results of the query -OR- null if no results were produced from the + given execution type. + + + + + This method executes a query using the given execution type and command + behavior and returns the results. + + + The text of the command to be executed. + + + The execution type for the command. This is used to determine which method + of the command object to call, which then determines the type of results + returned, if any. + + + The command behavior flags for the command. + + + The connection used to create and execute the command. + + + The SQL parameter values to be used when building the command object to be + executed, if any. + + + The results of the query -OR- null if no results were produced from the + given execution type. + + + + + Overrides the default behavior to return a SQLiteDataReader specialization class + + The flags to be associated with the reader. + A SQLiteDataReader + + + + Overrides the default behavior of DbDataReader to return a specialized SQLiteDataReader class + + A SQLiteDataReader + + + + Called by the SQLiteDataReader when the data reader is closed. + + + + + Execute the command and return the number of rows inserted/updated affected by it. + + The number of rows inserted/updated affected by it. + + + + Execute the command and return the number of rows inserted/updated affected by it. + + The flags to be associated with the reader. + The number of rows inserted/updated affected by it. + + + + Execute the command and return the first column of the first row of the resultset + (if present), or null if no resultset was returned. + + The first column of the first row of the first resultset from the query. + + + + Execute the command and return the first column of the first row of the resultset + (if present), or null if no resultset was returned. + + The flags to be associated with the reader. + The first column of the first row of the first resultset from the query. + + + + This method resets all the prepared statements held by this instance + back to their initial states, ready to be re-executed. + + + + + This method resets all the prepared statements held by this instance + back to their initial states, ready to be re-executed. + + + Non-zero if the parameter bindings should be cleared as well. + + + If this is zero, a may be thrown for + any unsuccessful return codes from the native library; otherwise, a + will only be thrown if the connection + or its state is invalid. + + + + + Does nothing. Commands are prepared as they are executed the first time, and kept in prepared state afterwards. + + + + + Clones a command, including all its parameters + + A new SQLiteCommand with the same commandtext, connection and parameters + + + + The SQL command text associated with the command + + + + + The amount of time to wait for the connection to become available before erroring out + + + + + The type of the command. SQLite only supports CommandType.Text + + + + + The connection associated with this command + + + + + Forwards to the local Connection property + + + + + Returns the SQLiteParameterCollection for the given command + + + + + Forwards to the local Parameters property + + + + + The transaction associated with this command. SQLite only supports one transaction per connection, so this property forwards to the + command's underlying connection. + + + + + Forwards to the local Transaction property + + + + + Sets the method the SQLiteCommandBuilder uses to determine how to update inserted or updated rows in a DataTable. + + + + + Determines if the command is visible at design time. Defaults to True. + + + + + SQLite implementation of DbCommandBuilder. + + + + + Default constructor + + + + + Initializes the command builder and associates it with the specified data adapter. + + + + + + Cleans up resources (native and managed) associated with the current instance. + + + Zero when being disposed via garbage collection; otherwise, non-zero. + + + + + Minimal amount of parameter processing. Primarily sets the DbType for the parameter equal to the provider type in the schema + + The parameter to use in applying custom behaviors to a row + The row to apply the parameter to + The type of statement + Whether the application of the parameter is part of a WHERE clause + + + + Returns a valid named parameter + + The name of the parameter + Error + + + + Returns a named parameter for the given ordinal + + The i of the parameter + Error + + + + Returns a placeholder character for the specified parameter i. + + The index of the parameter to provide a placeholder for + Returns a named parameter + + + + Sets the handler for receiving row updating events. Used by the DbCommandBuilder to autogenerate SQL + statements that may not have previously been generated. + + A data adapter to receive events on. + + + + Returns the automatically-generated SQLite command to delete rows from the database + + + + + + Returns the automatically-generated SQLite command to delete rows from the database + + + + + + + Returns the automatically-generated SQLite command to update rows in the database + + + + + + Returns the automatically-generated SQLite command to update rows in the database + + + + + + + Returns the automatically-generated SQLite command to insert rows into the database + + + + + + Returns the automatically-generated SQLite command to insert rows into the database + + + + + + + Places brackets around an identifier + + The identifier to quote + The bracketed identifier + + + + Removes brackets around an identifier + + The quoted (bracketed) identifier + The undecorated identifier + + + + Override helper, which can help the base command builder choose the right keys for the given query + + + + + + + Gets/sets the DataAdapter for this CommandBuilder + + + + + Overridden to hide its property from the designer + + + + + Overridden to hide its property from the designer + + + + + Overridden to hide its property from the designer + + + + + Overridden to hide its property from the designer + + + + + Overridden to hide its property from the designer + + + + + This class represents a single value to be returned + from the class via + its , + , + , + , + , + , + , + , + , + , + , + , + , + , + , or + method. If the value of the + associated public field of this class is null upon returning from the + callback, the null value will only be used if the return type for the + method called is not a value type. + If the value to be returned from the + method is unsuitable (e.g. null with a value type), an exception will + be thrown. + + + + + The value to be returned from the + method -OR- null to + indicate an error. + + + + + The value to be returned from the + method -OR- null to + indicate an error. + + + + + The value to be returned from the + method -OR- null to + indicate an error. + + + + + The value to be returned from the + method. + + + + + The value to be returned from the + method -OR- null to + indicate an error. + + + + + The value to be returned from the + method. + + + + + The value to be returned from the + method -OR- null to + indicate an error. + + + + + The value to be returned from the + method -OR- null to + indicate an error. + + + + + The value to be returned from the + method -OR- null to + indicate an error. + + + + + The value to be returned from the + method -OR- null to + indicate an error. + + + + + The value to be returned from the + method -OR- null to + indicate an error. + + + + + The value to be returned from the + method -OR- null to + indicate an error. + + + + + The value to be returned from the + method -OR- null to + indicate an error. + + + + + The value to be returned from the + method -OR- null to + indicate an error. + + + + + The value to be returned from the + method. + + + + + The value to be returned from the + method. + + + + + This class represents the parameters that are provided + to the methods, with + the exception of the column index (provided separately). + + + + + This class represents the parameters that are provided to + the method, with + the exception of the column index (provided separately). + + + + + Provides the underlying storage for the + property. + + + + + Constructs an instance of this class to pass into a user-defined + callback associated with the + method. + + + The value that was originally specified for the "readOnly" + parameter to the method. + + + + + The value that was originally specified for the "readOnly" + parameter to the method. + + + + + This class represents the parameters that are provided + to the and + methods, with + the exception of the column index (provided separately). + + + + + Provides the underlying storage for the + property. + + + + + Provides the underlying storage for the + property. + + + + + Provides the underlying storage for the + property. + + + + + Provides the underlying storage for the + property. + + + + + Provides the underlying storage for the + property. + + + + + Constructs an instance of this class to pass into a user-defined + callback associated with the + method. + + + The value that was originally specified for the "dataOffset" + parameter to the or + methods. + + + The value that was originally specified for the "buffer" + parameter to the + method. + + + The value that was originally specified for the "bufferOffset" + parameter to the or + methods. + + + The value that was originally specified for the "length" + parameter to the or + methods. + + + + + Constructs an instance of this class to pass into a user-defined + callback associated with the + method. + + + The value that was originally specified for the "dataOffset" + parameter to the or + methods. + + + The value that was originally specified for the "buffer" + parameter to the + method. + + + The value that was originally specified for the "bufferOffset" + parameter to the or + methods. + + + The value that was originally specified for the "length" + parameter to the or + methods. + + + + + The value that was originally specified for the "dataOffset" + parameter to the or + methods. + + + + + The value that was originally specified for the "buffer" + parameter to the + method. + + + + + The value that was originally specified for the "buffer" + parameter to the + method. + + + + + The value that was originally specified for the "bufferOffset" + parameter to the or + methods. + + + + + The value that was originally specified for the "length" + parameter to the or + methods. + + + + + This class represents the parameters and return values for the + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , and + methods. + + + + + Provides the underlying storage for the + property. + + + + + Provides the underlying storage for the + property. + + + + + Provides the underlying storage for the + property. + + + + + Constructs a new instance of this class. Depending on the method + being called, the and/or + parameters may be null. + + + The name of the method that was + responsible for invoking this callback. + + + If the or + method is being called, + this object will contain the array related parameters for that + method. If the method is + being called, this object will contain the blob related parameters + for that method. + + + This may be used by the callback to set the return value for the + called method. + + + + + The name of the method that was + responsible for invoking this callback. + + + + + If the or + method is being called, + this object will contain the array related parameters for that + method. If the method is + being called, this object will contain the blob related parameters + for that method. + + + + + This may be used by the callback to set the return value for the + called method. + + + + + This represents a method that will be called in response to a request to + bind a parameter to a command. If an exception is thrown, it will cause + the parameter binding operation to fail -AND- it will continue to unwind + the call stack. + + + The instance in use. + + + The instance in use. + + + The flags associated with the instance + in use. + + + The instance being bound to the command. + + + The database type name associated with this callback. + + + The ordinal of the parameter being bound to the command. + + + The data originally used when registering this callback. + + + Non-zero if the default handling for the parameter binding call should + be skipped (i.e. the parameter should not be bound at all). Great care + should be used when setting this to non-zero. + + + + + This represents a method that will be called in response to a request + to read a value from a data reader. If an exception is thrown, it will + cause the data reader operation to fail -AND- it will continue to unwind + the call stack. + + + The instance in use. + + + The instance in use. + + + The flags associated with the instance + in use. + + + The parameter and return type data for the column being read from the + data reader. + + + The database type name associated with this callback. + + + The zero based index of the column being read from the data reader. + + + The data originally used when registering this callback. + + + Non-zero if the default handling for the data reader call should be + skipped. If this is set to non-zero and the necessary return value + is unavailable or unsuitable, an exception will be thrown. + + + + + This class represents the custom data type handling callbacks + for a single type name. + + + + + Provides the underlying storage for the + property. + + + + + Provides the underlying storage for the + property. + + + + + Provides the underlying storage for the + property. + + + + + Provides the underlying storage for the + property. + + + + + Provides the underlying storage for the + property. + + + + + Constructs an instance of this class. + + + The custom paramater binding callback. This parameter may be null. + + + The custom data reader value callback. This parameter may be null. + + + The extra data to pass into the parameter binding callback. This + parameter may be null. + + + The extra data to pass into the data reader value callback. This + parameter may be null. + + + + + Creates an instance of the class. + + + The custom paramater binding callback. This parameter may be null. + + + The custom data reader value callback. This parameter may be null. + + + The extra data to pass into the parameter binding callback. This + parameter may be null. + + + The extra data to pass into the data reader value callback. This + parameter may be null. + + + + + The database type name that the callbacks contained in this class + will apply to. This value may not be null. + + + + + The custom paramater binding callback. This value may be null. + + + + + The custom data reader value callback. This value may be null. + + + + + The extra data to pass into the parameter binding callback. This + value may be null. + + + + + The extra data to pass into the data reader value callback. This + value may be null. + + + + + This class represents the mappings between database type names + and their associated custom data type handling callbacks. + + + + + Constructs an (empty) instance of this class. + + + + + Event data for connection event handlers. + + + + + The type of event being raised. + + + + + The associated with this event, if any. + + + + + The transaction associated with this event, if any. + + + + + The command associated with this event, if any. + + + + + The data reader associated with this event, if any. + + + + + The critical handle associated with this event, if any. + + + + + Command or message text associated with this event, if any. + + + + + Extra data associated with this event, if any. + + + + + Constructs the object. + + The type of event being raised. + The base associated + with this event, if any. + The transaction associated with this event, if any. + The command associated with this event, if any. + The data reader associated with this event, if any. + The critical handle associated with this event, if any. + The command or message text, if any. + The extra data, if any. + + + + Raised when an event pertaining to a connection occurs. + + The connection involved. + Extra information about the event. + + + + SQLite implentation of DbConnection. + + + The property can contain the following parameter(s), delimited with a semi-colon: + + + Parameter + Values + Required + Default + + + Data Source + + This may be a file name, the string ":memory:", or any supported URI (starting with SQLite 3.7.7). + Starting with release 1.0.86.0, in order to use more than one consecutive backslash (e.g. for a + UNC path), each of the adjoining backslash characters must be doubled (e.g. "\\Network\Share\test.db" + would become "\\\\Network\Share\test.db"). + + Y + + + + Uri + + If specified, this must be a file name that starts with "file://", "file:", or "/". Any leading + "file://" or "file:" prefix will be stripped off and the resulting file name will be used to open + the database. + + N + null + + + FullUri + + If specified, this must be a URI in a format recognized by the SQLite core library (starting with + SQLite 3.7.7). It will be passed verbatim to the SQLite core library. + + N + null + + + Version + 3 + N + 3 + + + UseUTF16Encoding + + True - The UTF-16 encoding should be used. +
+ False - The UTF-8 encoding should be used. +
+ N + False +
+ + DefaultDbType + + This is the default to use when one cannot be determined based on the + column metadata and the configured type mappings. + + N + null + + + DefaultTypeName + + This is the default type name to use when one cannot be determined based on the column metadata + and the configured type mappings. + + N + null + + + NoDefaultFlags + + True - Do not combine the specified (or existing) connection flags with the value of the + property. +
+ False - Combine the specified (or existing) connection flags with the value of the + property. +
+ N + False +
+ + NoSharedFlags + + True - Do not combine the specified (or existing) connection flags with the value of the + property. +
+ False - Combine the specified (or existing) connection flags with the value of the + property. +
+ N + False +
+ + VfsName + + The name of the VFS to use when opening the database connection. + If this is not specified, the default VFS will be used. + + N + null + + + ZipVfsVersion + + If non-null, this is the "version" of ZipVFS to use. This requires + the System.Data.SQLite interop assembly -AND- primary managed assembly + to be compiled with the INTEROP_INCLUDE_ZIPVFS option; otherwise, this + property does nothing. The valid values are "v2" and "v3". Using + anyother value will cause an exception to be thrown. Please see the + ZipVFS documentation for more information on how to use this parameter. + + N + null + + + DateTimeFormat + + Ticks - Use the value of DateTime.Ticks.
+ ISO8601 - Use the ISO-8601 format. Uses the "yyyy-MM-dd HH:mm:ss.FFFFFFFK" format for UTC + DateTime values and "yyyy-MM-dd HH:mm:ss.FFFFFFF" format for local DateTime values).
+ JulianDay - The interval of time in days and fractions of a day since January 1, 4713 BC.
+ UnixEpoch - The whole number of seconds since the Unix epoch (January 1, 1970).
+ InvariantCulture - Any culture-independent string value that the .NET Framework can interpret as a valid DateTime.
+ CurrentCulture - Any string value that the .NET Framework can interpret as a valid DateTime using the current culture.
+ N + ISO8601 +
+ + DateTimeKind + + Unspecified - Not specified as either UTC or local time. +
+ Utc - The time represented is UTC. +
+ Local - The time represented is local time. +
+ N + Unspecified +
+ + DateTimeFormatString + + The exact DateTime format string to use for all formatting and parsing of all DateTime + values for this connection. + + N + null + + + BaseSchemaName + + Some base data classes in the framework (e.g. those that build SQL queries dynamically) + assume that an ADO.NET provider cannot support an alternate catalog (i.e. database) without supporting + alternate schemas as well; however, SQLite does not fit into this model. Therefore, this value is used + as a placeholder and removed prior to preparing any SQL statements that may contain it. + + N + sqlite_default_schema + + + BinaryGUID + + True - Store GUID columns in binary form +
+ False - Store GUID columns as text +
+ N + True +
+ + Cache Size + + If the argument N is positive then the suggested cache size is set to N. + If the argument N is negative, then the number of cache pages is adjusted + to use approximately abs(N*4096) bytes of memory. Backwards compatibility + note: The behavior of cache_size with a negative N was different in SQLite + versions prior to 3.7.10. In version 3.7.9 and earlier, the number of + pages in the cache was set to the absolute value of N. + + N + -2000 + + + Synchronous + + Normal - Normal file flushing behavior +
+ Full - Full flushing after all writes +
+ Off - Underlying OS flushes I/O's +
+ N + Full +
+ + Page Size + {size in bytes} + N + 4096 + + + Password + + {password} - Using this parameter requires that the legacy CryptoAPI based + codec (or the SQLite Encryption Extension) be enabled at compile-time for + both the native interop assembly and the core managed assemblies; otherwise, + using this parameter may result in an exception being thrown when attempting + to open the connection. + + N + + + + HexPassword + + {hexPassword} - Must contain a sequence of zero or more hexadecimal encoded + byte values without a leading "0x" prefix. Using this parameter requires + that the legacy CryptoAPI based codec (or the SQLite Encryption Extension) + be enabled at compile-time for both the native interop assembly and the + core managed assemblies; otherwise, using this parameter may result in an + exception being thrown when attempting to open the connection. + + N + + + + Enlist + + Y - Automatically enlist in distributed transactions +
+ N - No automatic enlistment +
+ N + Y +
+ + Pooling + + True - Use connection pooling.
+ False - Do not use connection pooling.

+ WARNING: When using the default connection pool implementation, + setting this property to True should be avoided by applications that make + use of COM (either directly or indirectly) due to possible deadlocks that + can occur during the finalization of some COM objects. +
+ N + False +
+ + FailIfMissing + + True - Don't create the database if it does not exist, throw an error instead +
+ False - Automatically create the database if it does not exist +
+ N + False +
+ + Max Page Count + {size in pages} - Limits the maximum number of pages (limits the size) of the database + N + 0 + + + Legacy Format + + True - Use the more compatible legacy 3.x database format +
+ False - Use the newer 3.3x database format which compresses numbers more effectively +
+ N + False +
+ + Default Timeout + {time in seconds}
The default command timeout
+ N + 30 +
+ + BusyTimeout + {time in milliseconds}
Sets the busy timeout for the core library.
+ N + 0 +
+ + WaitTimeout + {time in milliseconds}
+ EXPERIMENTAL -- The wait timeout to use with + method. This is only used when + waiting for the enlistment to be reset prior to enlisting in a transaction, + and then only when the appropriate connection flag is set.
+ N + 30000 +
+ + Journal Mode + + Delete - Delete the journal file after a commit. +
+ Persist - Zero out and leave the journal file on disk after a + commit. +
+ Off - Disable the rollback journal entirely. This saves disk I/O + but at the expense of database safety and integrity. If the application + using SQLite crashes in the middle of a transaction when this journaling + mode is set, then the database file will very likely go corrupt. +
+ Truncate - Truncate the journal file to zero-length instead of + deleting it. +
+ Memory - Store the journal in volatile RAM. This saves disk I/O + but at the expense of database safety and integrity. If the application + using SQLite crashes in the middle of a transaction when this journaling + mode is set, then the database file will very likely go corrupt. +
+ Wal - Use a write-ahead log instead of a rollback journal. +
+ N + Delete +
+ + Read Only + + True - Open the database for read only access +
+ False - Open the database for normal read/write access +
+ N + False +
+ + Max Pool Size + The maximum number of connections for the given connection string that can be in the connection pool + N + 100 + + + Default IsolationLevel + The default transaciton isolation level + N + Serializable + + + Foreign Keys + Enable foreign key constraints + N + False + + + Flags + Extra behavioral flags for the connection. See the enumeration for possible values. + N + Default + + + SetDefaults + + True - Apply the default connection settings to the opened database.
+ False - Skip applying the default connection settings to the opened database. +
+ N + True +
+ + ToFullPath + + True - Attempt to expand the data source file name to a fully qualified path before opening. +
+ False - Skip attempting to expand the data source file name to a fully qualified path before opening. +
+ N + True +
+ + PrepareRetries + + The maximum number of retries when preparing SQL to be executed. This + normally only applies to preparation errors resulting from the database + schema being changed. + + N + 3 + + + ProgressOps + + The approximate number of virtual machine instructions between progress + events. In order for progress events to actually fire, the event handler + must be added to the event as well. + + N + 0 + + + Recursive Triggers + + True - Enable the recursive trigger capability. + False - Disable the recursive trigger capability. + + N + False + +
+
+
+ + + The "invalid value" for the enumeration used + by the property. This constant is shared + by this class and the SQLiteConnectionStringBuilder class. + + + + + The default "stub" (i.e. placeholder) base schema name to use when + returning column schema information. Used as the initial value of + the BaseSchemaName property. This should start with "sqlite_*" + because those names are reserved for use by SQLite (i.e. they cannot + be confused with the names of user objects). + + + + + The managed assembly containing this type. + + + + + Object used to synchronize access to the static instance data + for this class. + + + + + The extra connection flags to be used for all opened connections. + + + + + The instance (for this thread) that + had the most recent call to . + + + + + State of the current connection + + + + + The connection string + + + + + Nesting level of the transactions open on the connection + + + + + Transaction counter for the connection. Currently, this is only used + to build SAVEPOINT names. + + + + + If this flag is non-zero, the method will have + no effect; however, the method will continue to + behave as normal. + + + + + If set, then the connection is currently being disposed. + + + + + The default isolation level for new transactions + + + + + This object is used with lock statements to synchronize access to the + field, below. + + + + + Whether or not the connection is enlisted in a distrubuted transaction + + + + + The per-connection mappings between type names and + values. These mappings override the corresponding global mappings. + + + + + The per-connection mappings between type names and optional callbacks + for parameter binding and value reading. + + + + + The base SQLite object to interop with + + + + + The database filename minus path and extension + + + + + Temporary password storage, emptied after the database has been opened + + + + + The "stub" (i.e. placeholder) base schema name to use when returning + column schema information. + + + + + The extra behavioral flags for this connection, if any. See the + enumeration for a list of + possible values. + + + + + The cached values for all settings that have been fetched on behalf + of this connection. This cache may be cleared by calling the + method. + + + + + The default databse type for this connection. This value will only + be used if the + flag is set. + + + + + The default databse type name for this connection. This value will only + be used if the + flag is set. + + + + + The name of the VFS to be used when opening the database connection. + + + + + Default command timeout + + + + + The default busy timeout to use with the SQLite core library. This is + only used when opening a connection. + + + + + The default wait timeout to use with + method. This is only used when waiting for the enlistment to be reset + prior to enlisting in a transaction, and then only when the appropriate + connection flag is set. + + + + + The maximum number of retries when preparing SQL to be executed. This + normally only applies to preparation errors resulting from the database + schema being changed. + + + + + The approximate number of virtual machine instructions between progress + events. In order for progress events to actually fire, the event handler + must be added to the event as + well. This value will only be used when opening the database. + + + + + Non-zero if the built-in (i.e. framework provided) connection string + parser should be used when opening the connection. + + + + + Constructs a new SQLiteConnection object + + + Default constructor + + + + + Initializes the connection with the specified connection string. + + The connection string to use. + + + + Initializes the connection with a pre-existing native connection handle. + This constructor overload is intended to be used only by the private + method. + + + The native connection handle to use. + + + The file name corresponding to the native connection handle. + + + Non-zero if this instance owns the native connection handle and + should dispose of it when it is no longer needed. + + + + + Initializes the connection with the specified connection string. + + + The connection string to use. + + + Non-zero to parse the connection string using the built-in (i.e. + framework provided) parser when opening the connection. + + + + + Clones the settings and connection string from an existing connection. If the existing connection is already open, this + function will open its own connection, enumerate any attached databases of the original connection, and automatically + attach to them. + + The connection to copy the settings from. + + + + Attempts to lookup the native handle associated with the connection. An exception will + be thrown if this cannot be accomplished. + + + The connection associated with the desired native handle. + + + The native handle associated with the connection or if it + cannot be determined. + + + + + Raises the event. + + + The connection associated with this event. If this parameter is not + null and the specified connection cannot raise events, then the + registered event handlers will not be invoked. + + + A that contains the event data. + + + + + Creates and returns a new managed database connection handle. This + method is intended to be used by implementations of the + interface only. In theory, it + could be used by other classes; however, that usage is not supported. + + + This must be a native database connection handle returned by the + SQLite core library and it must remain valid and open during the + entire duration of the calling method. + + + The new managed database connection handle or null if it cannot be + created. + + + + + Backs up the database, using the specified database connection as the + destination. + + The destination database connection. + The destination database name. + The source database name. + + The number of pages to copy at a time -OR- a negative value to copy all + pages. When a negative value is used, the + may never be invoked. + + + The method to invoke between each step of the backup process. This + parameter may be null (i.e. no callbacks will be performed). If the + callback returns false -OR- throws an exception, the backup is canceled. + + + The number of milliseconds to sleep after encountering a locking error + during the backup process. A value less than zero means that no sleep + should be performed. + + + + + Clears the per-connection cached settings. + + + The total number of per-connection settings cleared. + + + + + Queries and returns the value of the specified setting, using the + cached setting names and values for this connection, when available. + + + The name of the setting. + + + The value to be returned if the setting has not been set explicitly + or cannot be determined. + + + The value of the cached setting is stored here if found; otherwise, + the value of is stored here. + + + Non-zero if the cached setting was found; otherwise, zero. + + + + + Adds or sets the cached setting specified by + to the value specified by . + + + The name of the cached setting to add or replace. + + + The new value of the cached setting. + + + + + Clears the per-connection type mappings. + + + The total number of per-connection type mappings cleared. + + + + + Returns the per-connection type mappings. + + + The per-connection type mappings -OR- null if they are unavailable. + + + + + Adds a per-connection type mapping, possibly replacing one or more + that already exist. + + + The case-insensitive database type name (e.g. "MYDATE"). The value + of this parameter cannot be null. Using an empty string value (or + a string value consisting entirely of whitespace) for this parameter + is not recommended. + + + The value that should be associated with the + specified type name. + + + Non-zero if this mapping should be considered to be the primary one + for the specified . + + + A negative value if nothing was done. Zero if no per-connection type + mappings were replaced (i.e. it was a pure add operation). More than + zero if some per-connection type mappings were replaced. + + + + + Clears the per-connection type callbacks. + + + The total number of per-connection type callbacks cleared. + + + + + Attempts to get the per-connection type callbacks for the specified + database type name. + + + The database type name. + + + Upon success, this parameter will contain the object holding the + callbacks for the database type name. Upon failure, this parameter + will be null. + + + Non-zero upon success; otherwise, zero. + + + + + Sets, resets, or clears the per-connection type callbacks for the + specified database type name. + + + The database type name. + + + The object holding the callbacks for the database type name. If + this parameter is null, any callbacks for the database type name + will be removed if they are present. + + + Non-zero if callbacks were set or removed; otherwise, zero. + + + + + Attempts to bind the specified object + instance to this connection. + + + The object instance containing + the metadata for the function to be bound. + + + The object instance that implements the + function to be bound. + + + + + Attempts to bind the specified object + instance to this connection. + + + The object instance containing + the metadata for the function to be bound. + + + A object instance that helps implement the + function to be bound. For scalar functions, this corresponds to the + type. For aggregate functions, + this corresponds to the type. For + collation functions, this corresponds to the + type. + + + A object instance that helps implement the + function to be bound. For aggregate functions, this corresponds to the + type. For other callback types, it + is not used and must be null. + + + + + Attempts to unbind the specified object + instance to this connection. + + + The object instance containing + the metadata for the function to be unbound. + + Non-zero if the function was unbound. + + + + This method unbinds all registered (known) functions -OR- all previously + bound user-defined functions from this connection. + + + Non-zero to unbind all registered (known) functions -OR- zero to unbind + all functions currently bound to the connection. + + + Non-zero if all the specified user-defined functions were unbound. + + + + + Parses a connection string into component parts using the custom + connection string parser. An exception may be thrown if the syntax + of the connection string is incorrect. + + + The connection string to parse. + + + Non-zero to parse the connection string using the algorithm provided + by the framework itself. This is not applicable when running on the + .NET Compact Framework. + + + Non-zero if names are allowed without values. + + + The list of key/value pairs corresponding to the parameters specified + within the connection string. + + + + + Parses a connection string into component parts using the custom + connection string parser. An exception may be thrown if the syntax + of the connection string is incorrect. + + + The connection that will be using the parsed connection string. + + + The connection string to parse. + + + Non-zero to parse the connection string using the algorithm provided + by the framework itself. This is not applicable when running on the + .NET Compact Framework. + + + Non-zero if names are allowed without values. + + + The list of key/value pairs corresponding to the parameters specified + within the connection string. + + + + + Attempts to escape the specified connection string property name or + value in a way that is compatible with the connection string parser. + + + The connection string property name or value to escape. + + + Non-zero if the equals sign is permitted in the string. If this is + zero and the string contains an equals sign, an exception will be + thrown. + + + The original string, with all special characters escaped. If the + original string contains equals signs, they will not be escaped. + Instead, they will be preserved verbatim. + + + + + Builds a connection string from a list of key/value pairs. + + + The list of key/value pairs corresponding to the parameters to be + specified within the connection string. + + + The connection string. Depending on how the connection string was + originally parsed, the returned connection string value may not be + usable in a subsequent call to the method. + + + + + Disposes and finalizes the connection, if applicable. + + + + + Cleans up resources (native and managed) associated with the current instance. + + + Zero when being disposed via garbage collection; otherwise, non-zero. + + + + + Creates a clone of the connection. All attached databases and user-defined functions are cloned. If the existing connection is open, the cloned connection + will also be opened. + + + + + + Creates a database file. This just creates a zero-byte file which SQLite + will turn into a database when the file is opened properly. + + The file to create + + + + Raises the state change event when the state of the connection changes + + The new connection state. If this is different + from the previous state, the event is + raised. + The event data created for the raised event, if + it was actually raised. + + + + Determines and returns the fallback default isolation level when one cannot be + obtained from an existing connection instance. + + + The fallback default isolation level for this connection instance -OR- + if it cannot be determined. + + + + + Determines and returns the default isolation level for this connection instance. + + + The default isolation level for this connection instance -OR- + if it cannot be determined. + + + + + OBSOLETE. Creates a new SQLiteTransaction if one isn't already active on the connection. + + This parameter is ignored. + When TRUE, SQLite defers obtaining a write lock until a write operation is requested. + When FALSE, a writelock is obtained immediately. The default is TRUE, but in a multi-threaded multi-writer + environment, one may instead choose to lock the database immediately to avoid any possible writer deadlock. + Returns a SQLiteTransaction object. + + + + OBSOLETE. Creates a new SQLiteTransaction if one isn't already active on the connection. + + When TRUE, SQLite defers obtaining a write lock until a write operation is requested. + When FALSE, a writelock is obtained immediately. The default is false, but in a multi-threaded multi-writer + environment, one may instead choose to lock the database immediately to avoid any possible writer deadlock. + Returns a SQLiteTransaction object. + + + + Creates a new if one isn't already active on the connection. + + Supported isolation levels are Serializable, ReadCommitted and Unspecified. + + Unspecified will use the default isolation level specified in the connection string. If no isolation level is specified in the + connection string, Serializable is used. + Serializable transactions are the default. In this mode, the engine gets an immediate lock on the database, and no other threads + may begin a transaction. Other threads may read from the database, but not write. + With a ReadCommitted isolation level, locks are deferred and elevated as needed. It is possible for multiple threads to start + a transaction in ReadCommitted mode, but if a thread attempts to commit a transaction while another thread + has a ReadCommitted lock, it may timeout or cause a deadlock on both threads until both threads' CommandTimeout's are reached. + + Returns a SQLiteTransaction object. + + + + Creates a new if one isn't already + active on the connection. + + Returns the new transaction object. + + + + Forwards to the local function + + Supported isolation levels are Unspecified, Serializable, and ReadCommitted + + + + + This method is not implemented; however, the + event will still be raised. + + + + + + When the database connection is closed, all commands linked to this connection are automatically reset. + + + + + Clears the connection pool associated with the connection. Any other active connections using the same database file + will be discarded instead of returned to the pool when they are closed. + + + + + + Clears all connection pools. Any active connections will be discarded instead of sent to the pool when they are closed. + + + + + Create a new and associate it with this connection. + + Returns a new command object already assigned to this connection. + + + + Forwards to the local function. + + + + + + Attempts to create a new object instance + using this connection and the specified database name. + + + The name of the database for the newly created session. + + + The newly created session -OR- null if it cannot be created. + + + + + Attempts to create a new object instance + using this connection and the specified raw data. + + + The raw data that contains a change set (or patch set). + + + The newly created change set -OR- null if it cannot be created. + + + + + Attempts to create a new object instance + using this connection and the specified raw data. + + + The raw data that contains a change set (or patch set). + + + The flags used to create the change set iterator. + + + The newly created change set -OR- null if it cannot be created. + + + + + Attempts to create a new object instance + using this connection and the specified stream. + + + The stream where the raw data that contains a change set (or patch set) + may be read. + + + The stream where the raw data that contains a change set (or patch set) + may be written. + + + The newly created change set -OR- null if it cannot be created. + + + + + Attempts to create a new object instance + using this connection and the specified stream. + + + The stream where the raw data that contains a change set (or patch set) + may be read. + + + The stream where the raw data that contains a change set (or patch set) + may be written. + + + The flags used to create the change set iterator. + + + The newly created change set -OR- null if it cannot be created. + + + + + Attempts to create a new object + instance using this connection. + + + The newly created change group -OR- null if it cannot be created. + + + + + Determines if the legacy connection string parser should be used. + + + The connection that will be using the parsed connection string. + + + Non-zero if the legacy connection string parser should be used. + + + + + Parses a connection string into component parts using the custom + connection string parser. An exception may be thrown if the syntax + of the connection string is incorrect. + + + The connection string to parse. + + + Non-zero if names are allowed without values. + + + The list of key/value pairs corresponding to the parameters specified + within the connection string. + + + + + Parses a connection string into component parts using the custom + connection string parser. An exception may be thrown if the syntax + of the connection string is incorrect. + + + The connection that will be using the parsed connection string. + + + The connection string to parse. + + + Non-zero if names are allowed without values. + + + The list of key/value pairs corresponding to the parameters specified + within the connection string. + + + + + Parses a connection string using the built-in (i.e. framework provided) + connection string parser class and returns the key/value pairs. An + exception may be thrown if the connection string is invalid or cannot be + parsed. When compiled for the .NET Compact Framework, the custom + connection string parser is always used instead because the framework + provided one is unavailable there. + + + The connection that will be using the parsed connection string. + + + The connection string to parse. + + + Non-zero to throw an exception if any connection string values are not of + the type. This is not applicable when running on + the .NET Compact Framework. + + The list of key/value pairs. + + + + Manual distributed transaction enlistment support + + The distributed transaction to enlist in + + + + EXPERIMENTAL -- + Waits for the enlistment associated with this connection to be reset. + This method always throws when + running on the .NET Compact Framework. + + + The approximate maximum number of milliseconds to wait before timing + out the wait operation. + + + The return value to use if the connection has been disposed; if this + value is null, will be raised + if the connection has been disposed. + + + Non-zero if the enlistment assciated with this connection was reset; + otherwise, zero. It should be noted that this method returning a + non-zero value does not necessarily guarantee that the connection + can enlist in a new transaction (i.e. due to potentical race with + other threads); therefore, callers should generally use try/catch + when calling the method. + + + + + Looks for a key in the array of key/values of the parameter string. If not found, return the specified default value + + The list to look in + The key to find + The default value to return if the key is not found + The value corresponding to the specified key, or the default value if not found. + + + + Attempts to convert the string value to an enumerated value of the specified type. + + The enumerated type to convert the string value to. + The string value to be converted. + Non-zero to make the conversion case-insensitive. + The enumerated value upon success or null upon error. + + + + Attempts to convert an input string into a byte value. + + + The string value to be converted. + + + The number styles to use for the conversion. + + + Upon sucess, this will contain the parsed byte value. + Upon failure, the value of this parameter is undefined. + + + Non-zero upon success; zero on failure. + + + + + Change a limit value for the database. + + + The database limit to change. + + + The new value for the specified limit. + + + The old value for the specified limit -OR- negative one if an error + occurs. + + + + + Change a configuration option value for the database. + + + The database configuration option to change. + + + The new value for the specified configuration option. + + + + + Enables or disables extension loading. + + + True to enable loading of extensions, false to disable. + + + + + Loads a SQLite extension library from the named dynamic link library file. + + + The name of the dynamic link library file containing the extension. + + + + + Loads a SQLite extension library from the named dynamic link library file. + + + The name of the dynamic link library file containing the extension. + + + The name of the exported function used to initialize the extension. + If null, the default "sqlite3_extension_init" will be used. + + + + + Creates a disposable module containing the implementation of a virtual + table. + + + The module object to be used when creating the disposable module. + + + + + Parses a string containing a sequence of zero or more hexadecimal + encoded byte values and returns the resulting byte array. The + "0x" prefix is not allowed on the input string. + + + The input string containing zero or more hexadecimal encoded byte + values. + + + A byte array containing the parsed byte values or null if an error + was encountered. + + + + + Creates and returns a string containing the hexadecimal encoded byte + values from the input array. + + + The input array of bytes. + + + The resulting string or null upon failure. + + + + + Parses a string containing a sequence of zero or more hexadecimal + encoded byte values and returns the resulting byte array. The + "0x" prefix is not allowed on the input string. + + + The input string containing zero or more hexadecimal encoded byte + values. + + + Upon failure, this will contain an appropriate error message. + + + A byte array containing the parsed byte values or null if an error + was encountered. + + + + + This method figures out what the default connection pool setting should + be based on the connection flags. When present, the "Pooling" connection + string property value always overrides the value returned by this method. + + + Non-zero if the connection pool should be enabled by default; otherwise, + zero. + + + + + Determines the transaction isolation level that should be used by + the caller, primarily based upon the one specified by the caller. + If mapping of transaction isolation levels is enabled, the returned + transaction isolation level may be significantly different than the + originally specified one. + + + The originally specified transaction isolation level. + + + The transaction isolation level that should be used. + + + + + Opens the connection using the parameters found in the . + + + + + Opens the connection using the parameters found in the and then returns it. + + The current connection object. + + + + This method causes any pending database operation to abort and return at + its earliest opportunity. This routine is typically called in response + to a user action such as pressing "Cancel" or Ctrl-C where the user wants + a long query operation to halt immediately. It is safe to call this + routine from any thread. However, it is not safe to call this routine + with a database connection that is closed or might close before this method + returns. + + + + + Checks if this connection to the specified database should be considered + read-only. An exception will be thrown if the database name specified + via cannot be found. + + + The name of a database associated with this connection -OR- null for the + main database. + + + Non-zero if this connection to the specified database should be considered + read-only. + + + + + Returns various global memory statistics for the SQLite core library via + a dictionary of key/value pairs. Currently, only the "MemoryUsed" and + "MemoryHighwater" keys are returned and they have values that correspond + to the values that could be obtained via the + and connection properties. + + + This dictionary will be populated with the global memory statistics. It + will be created if necessary. + + + + + Attempts to free as much heap memory as possible for this database connection. + + + + + Attempts to free N bytes of heap memory by deallocating non-essential memory + allocations held by the database library. Memory used to cache database pages + to improve performance is an example of non-essential memory. This is a no-op + returning zero if the SQLite core library was not compiled with the compile-time + option SQLITE_ENABLE_MEMORY_MANAGEMENT. Optionally, attempts to reset and/or + compact the Win32 native heap, if applicable. + + + The requested number of bytes to free. + + + Non-zero to attempt a heap reset. + + + Non-zero to attempt heap compaction. + + + The number of bytes actually freed. This value may be zero. + + + This value will be non-zero if the heap reset was successful. + + + The size of the largest committed free block in the heap, in bytes. + This value will be zero unless heap compaction is enabled. + + + A standard SQLite return code (i.e. zero for success and non-zero + for failure). + + + + + Sets the status of the memory usage tracking subsystem in the SQLite core library. By default, this is enabled. + If this is disabled, memory usage tracking will not be performed. This is not really a per-connection value, it is + global to the process. + + Non-zero to enable memory usage tracking, zero otherwise. + A standard SQLite return code (i.e. zero for success and non-zero for failure). + + + + Queries and returns the value of the specified setting, using the + cached setting names and values for the last connection that used + the method, when available. + + + The name of the setting. + + + The value to be returned if the setting has not been set explicitly + or cannot be determined. + + + The value of the cached setting is stored here if found; otherwise, + the value of is stored here. + + + Non-zero if the cached setting was found; otherwise, zero. + + + + + Adds or sets the cached setting specified by + to the value specified by using the cached + setting names and values for the last connection that used the + method, when available. + + + The name of the cached setting to add or replace. + + + The new value of the cached setting. + + + + + Passes a shutdown request to the SQLite core library. Does not throw + an exception if the shutdown request fails. + + + A standard SQLite return code (i.e. zero for success and non-zero for + failure). + + + + + Passes a shutdown request to the SQLite core library. Throws an + exception if the shutdown request fails and the no-throw parameter + is non-zero. + + + Non-zero to reset the database and temporary directories to their + default values, which should be null for both. + + + When non-zero, throw an exception if the shutdown request fails. + + + + Enables or disables extended result codes returned by SQLite + + + Enables or disables extended result codes returned by SQLite + + + Enables or disables extended result codes returned by SQLite + + + Add a log message via the SQLite sqlite3_log interface. + + + Add a log message via the SQLite sqlite3_log interface. + + + + Change the password (or assign a password) to an open database. + + + No readers or writers may be active for this process. The database must already be open + and if it already was password protected, the existing password must already have been supplied. + + The new password to assign to the database + + + + Change the password (or assign a password) to an open database. + + + No readers or writers may be active for this process. The database must already be open + and if it already was password protected, the existing password must already have been supplied. + + The new password to assign to the database + + + + Sets the password for a password-protected database. A password-protected database is + unusable for any operation until the password has been set. + + The password for the database + + + + Sets the password for a password-protected database. A password-protected database is + unusable for any operation until the password has been set. + + The password for the database + + + + Queries or modifies the number of retries or the retry interval (in milliseconds) for + certain I/O operations that may fail due to anti-virus software. + + The number of times to retry the I/O operation. A negative value + will cause the current count to be queried and replace that negative value. + The number of milliseconds to wait before retrying the I/O + operation. This number is multiplied by the number of retry attempts so far to come + up with the final number of milliseconds to wait. A negative value will cause the + current interval to be queried and replace that negative value. + Zero for success, non-zero for error. + + + + Sets the chunk size for the primary file associated with this database + connection. + + + The new chunk size for the main database, in bytes. + + + Zero for success, non-zero for error. + + + + + Removes one set of surrounding single -OR- double quotes from the string + value and returns the resulting string value. If the string is null, empty, + or contains quotes that are not balanced, nothing is done and the original + string value will be returned. + + The string value to process. + + The string value, modified to remove one set of surrounding single -OR- + double quotes, if applicable. + + + + + Determines the directory to be used when dealing with the "|DataDirectory|" + macro in a database file name. + + + The directory to use in place of the "|DataDirectory|" macro -OR- null if it + cannot be determined. + + + + + Expand the filename of the data source, resolving the |DataDirectory| + macro as appropriate. + + The database filename to expand + + Non-zero if the returned file name should be converted to a full path + (except when using the .NET Compact Framework). + + The expanded path and filename of the filename + + + + The following commands are used to extract schema information out of the database. Valid schema types are: + + + MetaDataCollections + + + DataSourceInformation + + + Catalogs + + + Columns + + + ForeignKeys + + + Indexes + + + IndexColumns + + + Tables + + + Views + + + ViewColumns + + + + + Returns the MetaDataCollections schema + + A DataTable of the MetaDataCollections schema + + + + Returns schema information of the specified collection + + The schema collection to retrieve + A DataTable of the specified collection + + + + Retrieves schema information using the specified constraint(s) for the specified collection + + The collection to retrieve. + + The restrictions to impose. Typically, this may include: + + + restrictionValues element index + usage + + + 0 + The database (or catalog) name, if applicable. + + + 1 + The schema name. This is not used by this provider. + + + 2 + The table name, if applicable. + + + 3 + + Depends on . + When "IndexColumns", it is the index name; otherwise, it is the column name. + + + + 4 + + Depends on . + When "IndexColumns", it is the column name; otherwise, it is not used. + + + + + A DataTable of the specified collection + + + + Builds a MetaDataCollections schema datatable + + DataTable + + + + Builds a DataSourceInformation datatable + + DataTable + + + + Build a Columns schema + + The catalog (attached database) to query, can be null + The table to retrieve schema information for, can be null + The column to retrieve schema information for, can be null + DataTable + + + + Returns index information for the given database and catalog + + The catalog (attached database) to query, can be null + The name of the index to retrieve information for, can be null + The table to retrieve index information for, can be null + DataTable + + + + Retrieves table schema information for the database and catalog + + The catalog (attached database) to retrieve tables on + The table to retrieve, can be null + The table type, can be null + DataTable + + + + Retrieves view schema information for the database + + The catalog (attached database) to retrieve views on + The view name, can be null + DataTable + + + + Retrieves catalog (attached databases) schema information for the database + + The catalog to retrieve, can be null + DataTable + + + + Returns the base column information for indexes in a database + + The catalog to retrieve indexes for (can be null) + The table to restrict index information by (can be null) + The index to restrict index information by (can be null) + The source column to restrict index information by (can be null) + A DataTable containing the results + + + + Returns detailed column information for a specified view + + The catalog to retrieve columns for (can be null) + The view to restrict column information by (can be null) + The source column to restrict column information by (can be null) + A DataTable containing the results + + + + Retrieves foreign key information from the specified set of filters + + An optional catalog to restrict results on + An optional table to restrict results on + An optional foreign key name to restrict results on + A DataTable with the results of the query + + + + Static variable to store the connection event handlers to call. + + + + + This event is raised whenever the database is opened or closed. + + + + + This event is raised when events related to the lifecycle of a + SQLiteConnection object occur. + + + + + This property is used to obtain or set the custom connection pool + implementation to use, if any. Setting this property to null will + cause the default connection pool implementation to be used. + + + + + Returns the number of pool entries for the file name associated with this connection. + + + + + The connection string containing the parameters for the connection + + + For the complete list of supported connection string properties, + please see . + + + + + Returns the data source file name without extension or path. + + + + + Returns the fully qualified path and file name for the currently open + database, if any. + + + + + Returns the string "main". + + + + + Gets/sets the default command timeout for newly-created commands. This is especially useful for + commands used internally such as inside a SQLiteTransaction, where setting the timeout is not possible. + This can also be set in the ConnectionString with "Default Timeout" + + + + + Gets/sets the default busy timeout to use with the SQLite core library. This is only used when + opening a connection. + + + + + EXPERIMENTAL -- + The wait timeout to use with method. + This is only used when waiting for the enlistment to be reset prior to + enlisting in a transaction, and then only when the appropriate connection + flag is set. + + + + + The maximum number of retries when preparing SQL to be executed. This + normally only applies to preparation errors resulting from the database + schema being changed. + + + + + The approximate number of virtual machine instructions between progress + events. In order for progress events to actually fire, the event handler + must be added to the event as + well. This value will only be used when the underlying native progress + callback needs to be changed. + + + + + Non-zero if the built-in (i.e. framework provided) connection string + parser should be used when opening the connection. + + + + + Gets/sets the extra behavioral flags for this connection. See the + enumeration for a list of + possible values. + + + + + Gets/sets the default database type for this connection. This value + will only be used when not null. + + + + + Gets/sets the default database type name for this connection. This + value will only be used when not null. + + + + + Gets/sets the VFS name for this connection. This value will only be + used when opening the database. + + + + + Returns non-zero if the underlying native connection handle is + owned by this instance. + + + + + Returns the version of the underlying SQLite database engine + + + + + Returns the rowid of the most recent successful INSERT into the database from this connection. + + + + + Returns the number of rows changed by the last INSERT, UPDATE, or DELETE statement executed on + this connection. + + + + + Returns non-zero if the given database connection is in autocommit mode. + Autocommit mode is on by default. Autocommit mode is disabled by a BEGIN + statement. Autocommit mode is re-enabled by a COMMIT or ROLLBACK. + + + + + Returns the amount of memory (in bytes) currently in use by the SQLite core library. + + + + + Returns the maximum amount of memory (in bytes) used by the SQLite core library since the high-water mark was last reset. + + + + + Returns a string containing the define constants (i.e. compile-time + options) used to compile the core managed assembly, delimited with + spaces. + + + + + Returns the version of the underlying SQLite core library. + + + + + This method returns the string whose value is the same as the + SQLITE_SOURCE_ID C preprocessor macro used when compiling the + SQLite core library. + + + + + Returns a string containing the compile-time options used to + compile the SQLite core native library, delimited with spaces. + + + + + This method returns the version of the interop SQLite assembly + used. If the SQLite interop assembly is not in use or the + necessary information cannot be obtained for any reason, a null + value may be returned. + + + + + This method returns the string whose value contains the unique + identifier for the source checkout used to build the interop + assembly. If the SQLite interop assembly is not in use or the + necessary information cannot be obtained for any reason, a null + value may be returned. + + + + + Returns a string containing the compile-time options used to + compile the SQLite interop assembly, delimited with spaces. + + + + + This method returns the version of the managed components used + to interact with the SQLite core library. If the necessary + information cannot be obtained for any reason, a null value may + be returned. + + + + + This method returns the string whose value contains the unique + identifier for the source checkout used to build the managed + components currently executing. If the necessary information + cannot be obtained for any reason, a null value may be returned. + + + + + The default connection flags to be used for all opened connections + when they are not present in the connection string. + + + + + The extra connection flags to be used for all opened connections. + + + + + Returns the state of the connection. + + + + + This event is raised periodically during long running queries. Changing + the value of the property will + determine if the operation in progress will continue or be interrupted. + For the entire duration of the event, the associated connection and + statement objects must not be modified, either directly or indirectly, by + the called code. + + + + + This event is raised whenever SQLite encounters an action covered by the + authorizer during query preparation. Changing the value of the + property will determine if + the specific action will be allowed, ignored, or denied. For the entire + duration of the event, the associated connection and statement objects + must not be modified, either directly or indirectly, by the called code. + + + + + This event is raised whenever SQLite makes an update/delete/insert into the database on + this connection. It only applies to the given connection. + + + + + This event is raised whenever SQLite is committing a transaction. + Return non-zero to trigger a rollback. + + + + + This event is raised whenever SQLite statement first begins executing on + this connection. It only applies to the given connection. + + + + + This event is raised whenever SQLite is rolling back a transaction. + + + + + Returns the instance. + + + + + The I/O file cache flushing behavior for the connection + + + + + Normal file flushing at critical sections of the code + + + + + Full file flushing after every write operation + + + + + Use the default operating system's file flushing, SQLite does not explicitly flush the file buffers after writing + + + + + Raised each time the number of virtual machine instructions is + approximately equal to the value of the + property. + + The connection performing the operation. + A that contains the + event data. + + + + Raised when authorization is required to perform an action contained + within a SQL query. + + The connection performing the action. + A that contains the + event data. + + + + Raised when a transaction is about to be committed. To roll back a transaction, set the + rollbackTrans boolean value to true. + + The connection committing the transaction + Event arguments on the transaction + + + + Raised when data is inserted, updated and deleted on a given connection + + The connection committing the transaction + The event parameters which triggered the event + + + + Raised when a statement first begins executing on a given connection + + The connection executing the statement + Event arguments of the trace + + + + Raised between each backup step. + + + The source database connection. + + + The source database name. + + + The destination database connection. + + + The destination database name. + + + The number of pages copied with each step. + + + The number of pages remaining to be copied. + + + The total number of pages in the source database. + + + Set to true if the operation needs to be retried due to database + locking issues; otherwise, set to false. + + + True to continue with the backup process or false to halt the backup + process, rolling back any changes that have been made so far. + + + + + The event data associated with progress reporting events. + + + + + The user-defined native data associated with this event. Currently, + this will always contain the value of . + + + + + The return code for the current call into the progress callback. + + + + + Constructs an instance of this class with default property values. + + + + + Constructs an instance of this class with specific property values. + + + The user-defined native data associated with this event. + + + The progress return code. + + + + + The data associated with a call into the authorizer. + + + + + The user-defined native data associated with this event. Currently, + this will always contain the value of . + + + + + The action code responsible for the current call into the authorizer. + + + + + The first string argument for the current call into the authorizer. + The exact value will vary based on the action code, see the + enumeration for possible + values. + + + + + The second string argument for the current call into the authorizer. + The exact value will vary based on the action code, see the + enumeration for possible + values. + + + + + The database name for the current call into the authorizer, if + applicable. + + + + + The name of the inner-most trigger or view that is responsible for + the access attempt or a null value if this access attempt is directly + from top-level SQL code. + + + + + The return code for the current call into the authorizer. + + + + + Constructs an instance of this class with default property values. + + + + + Constructs an instance of this class with specific property values. + + + The user-defined native data associated with this event. + + + The authorizer action code. + + + The first authorizer argument. + + + The second authorizer argument. + + + The database name, if applicable. + + + The name of the inner-most trigger or view that is responsible for + the access attempt or a null value if this access attempt is directly + from top-level SQL code. + + + The authorizer return code. + + + + + Whenever an update event is triggered on a connection, this enum will indicate + exactly what type of operation is being performed. + + + + + A row is being deleted from the given database and table + + + + + A row is being inserted into the table. + + + + + A row is being updated in the table. + + + + + Passed during an Update callback, these event arguments detail the type of update operation being performed + on the given connection. + + + + + The name of the database being updated (usually "main" but can be any attached or temporary database) + + + + + The name of the table being updated + + + + + The type of update being performed (insert/update/delete) + + + + + The RowId affected by this update. + + + + + Event arguments raised when a transaction is being committed + + + + + Set to true to abort the transaction and trigger a rollback + + + + + Passed during an Trace callback, these event arguments contain the UTF-8 rendering of the SQL statement text + + + + + SQL statement text as the statement first begins executing + + + + + This interface represents a custom connection pool implementation + usable by System.Data.SQLite. + + + + + Counts the number of pool entries matching the specified file name. + + + The file name to match or null to match all files. + + + The pool entry counts for each matching file. + + + The total number of connections successfully opened from any pool. + + + The total number of connections successfully closed from any pool. + + + The total number of pool entries for all matching files. + + + + + Disposes of all pooled connections associated with the specified + database file name. + + + The database file name. + + + + + Disposes of all pooled connections. + + + + + Adds a connection to the pool of those associated with the + specified database file name. + + + The database file name. + + + The database connection handle. + + + The connection pool version at the point the database connection + handle was received from the connection pool. This is also the + connection pool version that the database connection handle was + created under. + + + + + Removes a connection from the pool of those associated with the + specified database file name with the intent of using it to + interact with the database. + + + The database file name. + + + The new maximum size of the connection pool for the specified + database file name. + + + The connection pool version associated with the returned database + connection handle, if any. + + + The database connection handle associated with the specified + database file name or null if it cannot be obtained. + + + + + This default method implementations in this class should not be used by + applications that make use of COM (either directly or indirectly) due + to possible deadlocks that can occur during finalization of some COM + objects. + + + + + This field is used to synchronize access to the private static data + in this class. + + + + + When this field is non-null, it will be used to provide the + implementation of all the connection pool methods; otherwise, + the default method implementations will be used. + + + + + The dictionary of connection pools, based on the normalized file + name of the SQLite database. + + + + + The default version number new pools will get. + + + + + The number of connections successfully opened from any pool. + This value is incremented by the Remove method. + + + + + The number of connections successfully closed from any pool. + This value is incremented by the Add method. + + + + + Counts the number of pool entries matching the specified file name. + + + The file name to match or null to match all files. + + + The pool entry counts for each matching file. + + + The total number of connections successfully opened from any pool. + + + The total number of connections successfully closed from any pool. + + + The total number of pool entries for all matching files. + + + + + Disposes of all pooled connections associated with the specified + database file name. + + + The database file name. + + + + + Disposes of all pooled connections. + + + + + Adds a connection to the pool of those associated with the + specified database file name. + + + The database file name. + + + The database connection handle. + + + The connection pool version at the point the database connection + handle was received from the connection pool. This is also the + connection pool version that the database connection handle was + created under. + + + + + Removes a connection from the pool of those associated with the + specified database file name with the intent of using it to + interact with the database. + + + The database file name. + + + The new maximum size of the connection pool for the specified + database file name. + + + The connection pool version associated with the returned database + connection handle, if any. + + + The database connection handle associated with the specified + database file name or null if it cannot be obtained. + + + + + This method is used to obtain a reference to the custom connection + pool implementation currently in use, if any. + + + The custom connection pool implementation or null if the default + connection pool implementation should be used. + + + + + This method is used to set the reference to the custom connection + pool implementation to use, if any. + + + The custom connection pool implementation to use or null if the + default connection pool implementation should be used. + + + + + We do not have to thread-lock anything in this function, because it + is only called by other functions above which already take the lock. + + + The pool queue to resize. + + + If a function intends to add to the pool, this is true, which + forces the resize to take one more than it needs from the pool. + + + + + Keeps track of connections made on a specified file. The PoolVersion + dictates whether old objects get returned to the pool or discarded + when no longer in use. + + + + + The queue of weak references to the actual database connection + handles. + + + + + This pool version associated with the database connection + handles in this pool queue. + + + + + The maximum size of this pool queue. + + + + + Constructs a connection pool queue using the specified version + and maximum size. Normally, all the database connection + handles in this pool are associated with a single database file + name. + + + The initial pool version for this connection pool queue. + + + The initial maximum size for this connection pool queue. + + + + + SQLite implementation of DbConnectionStringBuilder. + + + + + Properties of this class + + + + + Constructs a new instance of the class + + + Default constructor + + + + + Constructs a new instance of the class using the specified connection string. + + The connection string to parse + + + + Private initializer, which assigns the connection string and resets the builder + + The connection string to assign + + + + Helper function for retrieving values from the connectionstring + + The keyword to retrieve settings for + The resulting parameter value + Returns true if the value was found and returned + + + + Fallback method for MONO, which doesn't implement DbConnectionStringBuilder.GetProperties() + + The hashtable to fill with property descriptors + + + + Gets/Sets the default version of the SQLite engine to instantiate. Currently the only valid value is 3, indicating version 3 of the sqlite library. + + + + + Gets/Sets the synchronization mode (file flushing) of the connection string. Default is "Normal". + + + + + Gets/Sets the encoding for the connection string. The default is "False" which indicates UTF-8 encoding. + + + + + Gets/Sets whether or not to use connection pooling. The default is "False" + + + + + Gets/Sets whethor not to store GUID's in binary format. The default is True + which saves space in the database. + + + + + Gets/Sets the filename to open on the connection string. + + + + + An alternate to the data source property + + + + + An alternate to the data source property that uses the SQLite URI syntax. + + + + + Gets/sets the default command timeout for newly-created commands. This is especially useful for + commands used internally such as inside a SQLiteTransaction, where setting the timeout is not possible. + + + + + Gets/sets the busy timeout to use with the SQLite core library. + + + + + EXPERIMENTAL -- + The wait timeout to use with + method. + This is only used when waiting for the enlistment to be reset + prior to enlisting in a transaction, and then only when the + appropriate connection flag is set. + + + + + Gets/sets the maximum number of retries when preparing SQL to be executed. + This normally only applies to preparation errors resulting from the database + schema being changed. + + + + + Gets/sets the approximate number of virtual machine instructions between + progress events. In order for progress events to actually fire, the event + handler must be added to the event + as well. + + + + + Determines whether or not the connection will automatically participate + in the current distributed transaction (if one exists) + + + + + If set to true, will throw an exception if the database specified in the connection + string does not exist. If false, the database will be created automatically. + + + + + If enabled, uses the legacy 3.xx format for maximum compatibility, but results in larger + database sizes. + + + + + When enabled, the database will be opened for read-only access and writing will be disabled. + + + + + Gets/sets the database encryption password + + + + + Gets/sets the database encryption hexadecimal password + + + + + Gets/Sets the page size for the connection. + + + + + Gets/Sets the maximum number of pages the database may hold + + + + + Gets/Sets the cache size for the connection. + + + + + Gets/Sets the DateTime format for the connection. + + + + + Gets/Sets the DateTime kind for the connection. + + + + + Gets/sets the DateTime format string used for formatting + and parsing purposes. + + + + + Gets/Sets the placeholder base schema name used for + .NET Framework compatibility purposes. + + + + + Determines how SQLite handles the transaction journal file. + + + + + Sets the default isolation level for transactions on the connection. + + + + + Gets/sets the default database type for the connection. + + + + + Gets/sets the default type name for the connection. + + + + + Gets/sets the VFS name for the connection. + + + + + If enabled, use foreign key constraints + + + + + Enable or disable the recursive trigger capability. + + + + + If non-null, this is the version of ZipVFS to use. This requires the + System.Data.SQLite interop assembly -AND- primary managed assembly to + be compiled with the INTEROP_INCLUDE_ZIPVFS option; otherwise, this + property does nothing. + + + + + Gets/Sets the extra behavioral flags. + + + + + If enabled, apply the default connection settings to opened databases. + + + + + If enabled, attempt to resolve the provided data source file name to a + full path before opening. + + + + + If enabled, skip using the configured default connection flags. + + + + + If enabled, skip using the configured shared connection flags. + + + + + SQLite has very limited types, and is inherently text-based. The first 5 types below represent the sum of all types SQLite + understands. The DateTime extension to the spec is for internal use only. + + + + + Not used + + + + + All integers in SQLite default to Int64 + + + + + All floating point numbers in SQLite default to double + + + + + The default data type of SQLite is text + + + + + Typically blob types are only seen when returned from a function + + + + + Null types can be returned from functions + + + + + Used internally by this provider + + + + + Used internally by this provider + + + + + These are the event types associated with the + + delegate (and its corresponding event) and the + class. + + + + + Not used. + + + + + Not used. + + + + + The connection is being opened. + + + + + The connection string has been parsed. + + + + + The connection was opened. + + + + + The method was called on the + connection. + + + + + A transaction was created using the connection. + + + + + The connection was enlisted into a transaction. + + + + + A command was created using the connection. + + + + + A data reader was created using the connection. + + + + + An instance of a derived class has + been created to wrap a native resource. + + + + + The connection is being closed. + + + + + The connection was closed. + + + + + A command is being disposed. + + + + + A data reader is being disposed. + + + + + A data reader is being closed. + + + + + A native resource was opened (i.e. obtained) from the pool. + + + + + A native resource was closed (i.e. released) to the pool. + + + + + This implementation of SQLite for ADO.NET can process date/time fields in + databases in one of six formats. + + + ISO8601 format is more compatible, readable, fully-processable, but less + accurate as it does not provide time down to fractions of a second. + JulianDay is the numeric format the SQLite uses internally and is arguably + the most compatible with 3rd party tools. It is not readable as text + without post-processing. Ticks less compatible with 3rd party tools that + query the database, and renders the DateTime field unreadable as text + without post-processing. UnixEpoch is more compatible with Unix systems. + InvariantCulture allows the configured format for the invariant culture + format to be used and is human readable. CurrentCulture allows the + configured format for the current culture to be used and is also human + readable. + + The preferred order of choosing a DateTime format is JulianDay, ISO8601, + and then Ticks. Ticks is mainly present for legacy code support. + + + + + Use the value of DateTime.Ticks. This value is not recommended and is not well supported with LINQ. + + + + + Use the ISO-8601 format. Uses the "yyyy-MM-dd HH:mm:ss.FFFFFFFK" format for UTC DateTime values and + "yyyy-MM-dd HH:mm:ss.FFFFFFF" format for local DateTime values). + + + + + The interval of time in days and fractions of a day since January 1, 4713 BC. + + + + + The whole number of seconds since the Unix epoch (January 1, 1970). + + + + + Any culture-independent string value that the .NET Framework can interpret as a valid DateTime. + + + + + Any string value that the .NET Framework can interpret as a valid DateTime using the current culture. + + + + + The default format for this provider. + + + + + This enum determines how SQLite treats its journal file. + + + By default SQLite will create and delete the journal file when needed during a transaction. + However, for some computers running certain filesystem monitoring tools, the rapid + creation and deletion of the journal file can cause those programs to fail, or to interfere with SQLite. + + If a program or virus scanner is interfering with SQLite's journal file, you may receive errors like "unable to open database file" + when starting a transaction. If this is happening, you may want to change the default journal mode to Persist. + + + + + The default mode, this causes SQLite to use the existing journaling mode for the database. + + + + + SQLite will create and destroy the journal file as-needed. + + + + + When this is set, SQLite will keep the journal file even after a transaction has completed. It's contents will be erased, + and the journal re-used as often as needed. If it is deleted, it will be recreated the next time it is needed. + + + + + This option disables the rollback journal entirely. Interrupted transactions or a program crash can cause database + corruption in this mode! + + + + + SQLite will truncate the journal file to zero-length instead of deleting it. + + + + + SQLite will store the journal in volatile RAM. This saves disk I/O but at the expense of database safety and integrity. + If the application using SQLite crashes in the middle of a transaction when the MEMORY journaling mode is set, then the + database file will very likely go corrupt. + + + + + SQLite uses a write-ahead log instead of a rollback journal to implement transactions. The WAL journaling mode is persistent; + after being set it stays in effect across multiple database connections and after closing and reopening the database. A database + in WAL journaling mode can only be accessed by SQLite version 3.7.0 or later. + + + + + Possible values for the "synchronous" database setting. This setting determines + how often the database engine calls the xSync method of the VFS. + + + + + Use the default "synchronous" database setting. Currently, this should be + the same as using the FULL mode. + + + + + The database engine continues without syncing as soon as it has handed + data off to the operating system. If the application running SQLite + crashes, the data will be safe, but the database might become corrupted + if the operating system crashes or the computer loses power before that + data has been written to the disk surface. + + + + + The database engine will still sync at the most critical moments, but + less often than in FULL mode. There is a very small (though non-zero) + chance that a power failure at just the wrong time could corrupt the + database in NORMAL mode. + + + + + The database engine will use the xSync method of the VFS to ensure that + all content is safely written to the disk surface prior to continuing. + This ensures that an operating system crash or power failure will not + corrupt the database. FULL synchronous is very safe, but it is also + slower. + + + + + The requested command execution type. This controls which method of the + object will be called. + + + + + Do nothing. No method will be called. + + + + + The command is not expected to return a result -OR- the result is not + needed. The or + method + will be called. + + + + + The command is expected to return a scalar result -OR- the result should + be limited to a scalar result. The + or method will + be called. + + + + + The command is expected to return result. + The or + method will + be called. + + + + + Use the default command execution type. Using this value is the same + as using the value. + + + + + The action code responsible for the current call into the authorizer. + + + + + No action is being performed. This value should not be used from + external code. + + + + + No longer used. + + + + + An index will be created. The action-specific arguments are the + index name and the table name. + + + + + + A table will be created. The action-specific arguments are the + table name and a null value. + + + + + A temporary index will be created. The action-specific arguments + are the index name and the table name. + + + + + A temporary table will be created. The action-specific arguments + are the table name and a null value. + + + + + A temporary trigger will be created. The action-specific arguments + are the trigger name and the table name. + + + + + A temporary view will be created. The action-specific arguments are + the view name and a null value. + + + + + A trigger will be created. The action-specific arguments are the + trigger name and the table name. + + + + + A view will be created. The action-specific arguments are the view + name and a null value. + + + + + A DELETE statement will be executed. The action-specific arguments + are the table name and a null value. + + + + + An index will be dropped. The action-specific arguments are the + index name and the table name. + + + + + A table will be dropped. The action-specific arguments are the tables + name and a null value. + + + + + A temporary index will be dropped. The action-specific arguments are + the index name and the table name. + + + + + A temporary table will be dropped. The action-specific arguments are + the table name and a null value. + + + + + A temporary trigger will be dropped. The action-specific arguments + are the trigger name and the table name. + + + + + A temporary view will be dropped. The action-specific arguments are + the view name and a null value. + + + + + A trigger will be dropped. The action-specific arguments are the + trigger name and the table name. + + + + + A view will be dropped. The action-specific arguments are the view + name and a null value. + + + + + An INSERT statement will be executed. The action-specific arguments + are the table name and a null value. + + + + + A PRAGMA statement will be executed. The action-specific arguments + are the name of the PRAGMA and the new value or a null value. + + + + + A table column will be read. The action-specific arguments are the + table name and the column name. + + + + + A SELECT statement will be executed. The action-specific arguments + are both null values. + + + + + A transaction will be started, committed, or rolled back. The + action-specific arguments are the name of the operation (BEGIN, + COMMIT, or ROLLBACK) and a null value. + + + + + An UPDATE statement will be executed. The action-specific arguments + are the table name and the column name. + + + + + A database will be attached to the connection. The action-specific + arguments are the database file name and a null value. + + + + + A database will be detached from the connection. The action-specific + arguments are the database name and a null value. + + + + + The schema of a table will be altered. The action-specific arguments + are the database name and the table name. + + + + + An index will be deleted and then recreated. The action-specific + arguments are the index name and a null value. + + + + + A table will be analyzed to gathers statistics about it. The + action-specific arguments are the table name and a null value. + + + + + A virtual table will be created. The action-specific arguments are + the table name and the module name. + + + + + A virtual table will be dropped. The action-specific arguments are + the table name and the module name. + + + + + A SQL function will be called. The action-specific arguments are a + null value and the function name. + + + + + A savepoint will be created, released, or rolled back. The + action-specific arguments are the name of the operation (BEGIN, + RELEASE, or ROLLBACK) and the savepoint name. + + + + + A recursive query will be executed. The action-specific arguments + are two null values. + + + + + The possible return codes for the progress callback. + + + + + The operation should continue. + + + + + The operation should be interrupted. + + + + + The return code for the current call into the authorizer. + + + + + The action will be allowed. + + + + + The overall action will be disallowed and an error message will be + returned from the query preparation method. + + + + + The specific action will be disallowed; however, the overall action + will continue. The exact effects of this return code vary depending + on the specific action, please refer to the SQLite core library + documentation for futher details. + + + + + Class used internally to determine the datatype of a column in a resultset + + + + + The DbType of the column, or DbType.Object if it cannot be determined + + + + + The affinity of a column, used for expressions or when Type is DbType.Object + + + + + Constructs a default instance of this type. + + + + + Constructs an instance of this type with the specified field values. + + + The type affinity to use for the new instance. + + + The database type to use for the new instance. + + + + + SQLite implementation of DbDataAdapter. + + + + + This class is just a shell around the DbDataAdapter. Nothing from + DbDataAdapter is overridden here, just a few constructors are defined. + + + Default constructor. + + + + + Constructs a data adapter using the specified select command. + + + The select command to associate with the adapter. + + + + + Constructs a data adapter with the supplied select command text and + associated with the specified connection. + + + The select command text to associate with the data adapter. + + + The connection to associate with the select command. + + + + + Constructs a data adapter with the specified select command text, + and using the specified database connection string. + + + The select command text to use to construct a select command. + + + A connection string suitable for passing to a new SQLiteConnection, + which is associated with the select command. + + + + + Constructs a data adapter with the specified select command text, + and using the specified database connection string. + + + The select command text to use to construct a select command. + + + A connection string suitable for passing to a new SQLiteConnection, + which is associated with the select command. + + + Non-zero to parse the connection string using the built-in (i.e. + framework provided) parser when opening the connection. + + + + + Cleans up resources (native and managed) associated with the current instance. + + + Zero when being disposed via garbage collection; otherwise, non-zero. + + + + + Raised by the underlying DbDataAdapter when a row is being updated + + The event's specifics + + + + Raised by DbDataAdapter after a row is updated + + The event's specifics + + + + Row updating event handler + + + + + Row updated event handler + + + + + Gets/sets the select command for this DataAdapter + + + + + Gets/sets the insert command for this DataAdapter + + + + + Gets/sets the update command for this DataAdapter + + + + + Gets/sets the delete command for this DataAdapter + + + + + SQLite implementation of DbDataReader. + + + + + Underlying command this reader is attached to + + + + + The flags pertaining to the associated connection (via the command). + + + + + Index of the current statement in the command being processed + + + + + Current statement being Read() + + + + + State of the current statement being processed. + -1 = First Step() executed, so the first Read() will be ignored + 0 = Actively reading + 1 = Finished reading + 2 = Non-row-returning statement, no records + + + + + Number of records affected by the insert/update statements executed on the command + + + + + Count of fields (columns) in the row-returning statement currently being processed + + + + + The number of calls to Step() that have returned true (i.e. the number of rows that + have been read in the current result set). + + + + + Maps the field (column) names to their corresponding indexes within the results. + + + + + Datatypes of active fields (columns) in the current statement, used for type-restricting data + + + + + The behavior of the datareader + + + + + If set, then dispose of the command object when the reader is finished + + + + + If set, then raise an exception when the object is accessed after being disposed. + + + + + An array of rowid's for the active statement if CommandBehavior.KeyInfo is specified + + + + + Matches the version of the connection. + + + + + The "stub" (i.e. placeholder) base schema name to use when returning + column schema information. Matches the base schema name used by the + associated connection. + + + + + Internal constructor, initializes the datareader and sets up to begin executing statements + + The SQLiteCommand this data reader is for + The expected behavior of the data reader + + + + Dispose of all resources used by this datareader. + + + + + + Closes the datareader, potentially closing the connection as well if CommandBehavior.CloseConnection was specified. + + + + + Throw an error if the datareader is closed + + + + + Throw an error if a row is not loaded + + + + + Enumerator support + + Returns a DbEnumerator object. + + + + Forces the connection flags cached by this data reader to be refreshed + from the underlying connection. + + + + + This method is used to make sure the result set is open and a row is currently available. + + + + + SQLite is inherently un-typed. All datatypes in SQLite are natively strings. The definition of the columns of a table + and the affinity of returned types are all we have to go on to type-restrict data in the reader. + + This function attempts to verify that the type of data being requested of a column matches the datatype of the column. In + the case of columns that are not backed into a table definition, we attempt to match up the affinity of a column (int, double, string or blob) + to a set of known types that closely match that affinity. It's not an exact science, but its the best we can do. + + + This function throws an InvalidTypeCast() exception if the requested type doesn't match the column's definition or affinity. + + The index of the column to type-check + The type we want to get out of the column + + + + Invokes the data reader value callback configured for the database + type name associated with the specified column. If no data reader + value callback is available for the database type name, do nothing. + + + The index of the column being read. + + + The extra event data to pass into the callback. + + + Non-zero if the default handling for the data reader call should be + skipped. If this is set to non-zero and the necessary return value + is unavailable or unsuitable, an exception will be thrown. + + + + + Attempts to query the integer identifier for the current row. This + will not work for tables that were created WITHOUT ROWID -OR- if the + query does not include the "rowid" column or one of its aliases -OR- + if the was not created with the + flag. + + + The index of the BLOB column. + + + The integer identifier for the current row -OR- null if it could not + be determined. + + + + + Retrieves the column as a object. + This will not work for tables that were created WITHOUT ROWID + -OR- if the query does not include the "rowid" column or one + of its aliases -OR- if the was + not created with the + flag. + + The index of the column. + + Non-zero to open the blob object for read-only access. + + A new object. + + + + Retrieves the column as a boolean value + + The index of the column. + bool + + + + Retrieves the column as a single byte value + + The index of the column. + byte + + + + Retrieves a column as an array of bytes (blob) + + The index of the column. + The zero-based index of where to begin reading the data + The buffer to write the bytes into + The zero-based index of where to begin writing into the array + The number of bytes to retrieve + The actual number of bytes written into the array + + To determine the number of bytes in the column, pass a null value for the buffer. The total length will be returned. + + + + + Returns the column as a single character + + The index of the column. + char + + + + Retrieves a column as an array of chars (blob) + + The index of the column. + The zero-based index of where to begin reading the data + The buffer to write the characters into + The zero-based index of where to begin writing into the array + The number of bytes to retrieve + The actual number of characters written into the array + + To determine the number of characters in the column, pass a null value for the buffer. The total length will be returned. + + + + + Retrieves the name of the back-end datatype of the column + + The index of the column. + string + + + + Retrieve the column as a date/time value + + The index of the column. + DateTime + + + + Retrieve the column as a decimal value + + The index of the column. + decimal + + + + Returns the column as a double + + The index of the column. + double + + + + Determines and returns the of the + specified column. + + + The index of the column. + + + The associated with the specified + column, if any. + + + + + Returns the .NET type of a given column + + The index of the column. + Type + + + + Returns a column as a float value + + The index of the column. + float + + + + Returns the column as a Guid + + The index of the column. + Guid + + + + Returns the column as a short + + The index of the column. + Int16 + + + + Retrieves the column as an int + + The index of the column. + Int32 + + + + Retrieves the column as a long + + The index of the column. + Int64 + + + + Retrieves the name of the column + + The index of the column. + string + + + + Returns the name of the database associated with the specified column. + + The index of the column. + string + + + + Returns the name of the table associated with the specified column. + + The index of the column. + string + + + + Returns the original name of the specified column. + + The index of the column. + string + + + + Retrieves the i of a column, given its name + + The name of the column to retrieve + The int i of the column + + + + Schema information in SQLite is difficult to map into .NET conventions, so a lot of work must be done + to gather the necessary information so it can be represented in an ADO.NET manner. + + Returns a DataTable containing the schema information for the active SELECT statement being processed. + + + + Retrieves the column as a string + + The index of the column. + string + + + + Retrieves the column as an object corresponding to the underlying datatype of the column + + The index of the column. + object + + + + Retreives the values of multiple columns, up to the size of the supplied array + + The array to fill with values from the columns in the current resultset + The number of columns retrieved + + + + Returns a collection containing all the column names and values for the + current row of data in the current resultset, if any. If there is no + current row or no current resultset, an exception may be thrown. + + + The collection containing the column name and value information for the + current row of data in the current resultset or null if this information + cannot be obtained. + + + + + Returns True if the specified column is null + + The index of the column. + True or False + + + + Moves to the next resultset in multiple row-returning SQL command. + + True if the command was successful and a new resultset is available, False otherwise. + + + + This method attempts to query the database connection associated with + the data reader in use. If the underlying command or connection is + unavailable, a null value will be returned. + + + The connection object -OR- null if it is unavailable. + + + + + Retrieves the SQLiteType for a given column and row value. + + + The original SQLiteType structure, based only on the column. + + + The textual value of the column for a given row. + + + The SQLiteType structure. + + + + + Retrieves the SQLiteType for a given column, and caches it to avoid repetetive interop calls. + + The flags associated with the parent connection object. + The index of the column. + A SQLiteType structure + + + + Reads the next row from the resultset + + True if a new row was successfully loaded and is ready for processing + + + + Not implemented. Returns 0 + + + + + Returns the number of columns in the current resultset + + + + + Returns the number of rows seen so far in the current result set. + + + + + Returns the number of visible fields in the current resultset + + + + + Returns True if the resultset has rows that can be fetched + + + + + Returns True if the data reader is closed + + + + + Returns the number of rows affected by the statement being executed. + The value returned may not be accurate for DDL statements. Also, it + will be -1 for any statement that does not modify the database (e.g. + SELECT). If an otherwise read-only statement modifies the database + indirectly (e.g. via a virtual table or user-defined function), the + value returned is undefined. + + + + + Indexer to retrieve data from a column given its name + + The name of the column to retrieve data for + The value contained in the column + + + + Indexer to retrieve data from a column given its i + + The index of the column. + The value contained in the column + + + + SQLite exception class. + + + + + This value was copied from the "WinError.h" file included with the + Platform SDK for Windows 10. + + + + + Private constructor for use with serialization. + + + Holds the serialized object data about the exception being thrown. + + + Contains contextual information about the source or destination. + + + + + Public constructor for generating a SQLite exception given the error + code and message. + + + The SQLite return code to report. + + + Message text to go along with the return code message text. + + + + + Public constructor that uses the base class constructor for the error + message. + + Error message text. + + + + Public constructor that uses the default base class constructor. + + + + + Public constructor that uses the base class constructor for the error + message and inner exception. + + Error message text. + The original (inner) exception. + + + + Adds extra information to the serialized object data specific to this + class type. This is only used for serialization. + + + Holds the serialized object data about the exception being thrown. + + + Contains contextual information about the source or destination. + + + + + This method performs extra initialization tasks. It may be called by + any of the constructors of this class. It must not throw exceptions. + + + + + Maps a Win32 error code to an HRESULT. + + + The specified Win32 error code. It must be within the range of zero + (0) to 0xFFFF (65535). + + + Non-zero if the HRESULT should indicate success; otherwise, zero. + + + The integer value of the HRESULT. + + + + + Attempts to map the specified onto an + existing HRESULT -OR- a Win32 error code wrapped in an HRESULT. The + mappings may not have perfectly matching semantics; however, they do + have the benefit of being unique within the context of this exception + type. + + + The to map. + + + The integer HRESULT value -OR- null if there is no known mapping. + + + + + Returns the error message for the specified SQLite return code. + + The SQLite return code. + The error message or null if it cannot be found. + + + + Returns the composite error message based on the SQLite return code + and the optional detailed error message. + + The SQLite return code. + Optional detailed error message. + Error message text for the return code. + + + + Gets the associated SQLite result code for this exception as a + . This property returns the same + underlying value as the property. + + + + + Gets the associated SQLite return code for this exception as an + . For desktop versions of the .NET Framework, + this property overrides the property of the same name within the + + class. This property returns the same underlying value as the + property. + + + + + SQLite error codes. Actually, this enumeration represents a return code, + which may also indicate success in one of several ways (e.g. SQLITE_OK, + SQLITE_ROW, and SQLITE_DONE). Therefore, the name of this enumeration is + something of a misnomer. + + + + + The error code is unknown. This error code + is only used by the managed wrapper itself. + + + + + Successful result + + + + + SQL error or missing database + + + + + Internal logic error in SQLite + + + + + Access permission denied + + + + + Callback routine requested an abort + + + + + The database file is locked + + + + + A table in the database is locked + + + + + A malloc() failed + + + + + Attempt to write a readonly database + + + + + Operation terminated by sqlite3_interrupt() + + + + + Some kind of disk I/O error occurred + + + + + The database disk image is malformed + + + + + Unknown opcode in sqlite3_file_control() + + + + + Insertion failed because database is full + + + + + Unable to open the database file + + + + + Database lock protocol error + + + + + Database is empty + + + + + The database schema changed + + + + + String or BLOB exceeds size limit + + + + + Abort due to constraint violation + + + + + Data type mismatch + + + + + Library used incorrectly + + + + + Uses OS features not supported on host + + + + + Authorization denied + + + + + Auxiliary database format error + + + + + 2nd parameter to sqlite3_bind out of range + + + + + File opened that is not a database file + + + + + Notifications from sqlite3_log() + + + + + Warnings from sqlite3_log() + + + + + sqlite3_step() has another row ready + + + + + sqlite3_step() has finished executing + + + + + Used to mask off extended result codes + + + + + A collation sequence was referenced by a schema and it cannot be + found. + + + + + An internal operation failed and it may succeed if retried. + + + + + The specified snapshot has been overwritten by a checkpoint. + + + + + A file read operation failed. + + + + + A file read operation returned less data than requested. + + + + + A file write operation failed. + + + + + A file synchronization operation failed. + + + + + A directory synchronization operation failed. + + + + + A file truncate operation failed. + + + + + A file metadata operation failed. + + + + + A file unlock operation failed. + + + + + A file lock operation failed. + + + + + A file delete operation failed. + + + + + Not currently used. + + + + + Out-of-memory during a file operation. + + + + + A file existence/status operation failed. + + + + + A check for a reserved lock failed. + + + + + A file lock operation failed. + + + + + A file close operation failed. + + + + + A directory close operation failed. + + + + + A shared memory open operation failed. + + + + + A shared memory size operation failed. + + + + + A shared memory lock operation failed. + + + + + A shared memory map operation failed. + + + + + A file seek operation failed. + + + + + A file delete operation failed because it does not exist. + + + + + A file memory mapping operation failed. + + + + + The temporary directory path could not be obtained. + + + + + A path string conversion operation failed. + + + + + Reserved. + + + + + An attempt to authenticate failed. + + + + + An attempt to begin a file system transaction failed. + + + + + An attempt to commit a file system transaction failed. + + + + + An attempt to rollback a file system transaction failed. + + + + + A database table is locked in shared-cache mode. + + + + + A virtual table in the database is locked. + + + + + A database file is locked due to a recovery operation. + + + + + A database file is locked due to snapshot semantics. + + + + + A database file cannot be opened because no temporary directory is available. + + + + + A database file cannot be opened because its path represents a directory. + + + + + A database file cannot be opened because its full path could not be obtained. + + + + + A database file cannot be opened because a path string conversion operation failed. + + + + + No longer used. + + + + + A database file is a symbolic link and cannot be opened. + + + + + A virtual table is malformed. + + + + + A required sequence table is missing or corrupt. + + + + + A database file is read-only due to a recovery operation. + + + + + A database file is read-only because a lock could not be obtained. + + + + + A database file is read-only because it needs rollback processing. + + + + + A database file is read-only because it was moved while open. + + + + + The shared-memory file is read-only and it should be read-write. + + + + + Unable to create journal file because the directory is read-only. + + + + + An operation is being aborted due to rollback processing. + + + + + A CHECK constraint failed. + + + + + A commit hook produced a unsuccessful return code. + + + + + A FOREIGN KEY constraint failed. + + + + + Not currently used. + + + + + A NOT NULL constraint failed. + + + + + A PRIMARY KEY constraint failed. + + + + + The RAISE function was used by a trigger-program. + + + + + A UNIQUE constraint failed. + + + + + Not currently used. + + + + + A ROWID constraint failed. + + + + + A database cursor is busy and cannot be moved. + + + + + Frames were recovered from the WAL log file. + + + + + Pages were recovered from the journal file. + + + + + An automatic index was created to process a query. + + + + + User authentication failed. + + + + + Success. Prevents the extension from unloading until the process + terminates. + + + + + Success. The specified file name refers to a symbolic link. + + + + + SQLite implementation of . + + + SQLite implementation of . + + + + + Constructs a new instance. + + + + + Cleans up resources (native and managed) associated with the current instance. + + + + + Cleans up resources associated with the current instance. + + + + + Static instance member which returns an instanced class. + + + + + Creates and returns a new object. + + The new object. + + + + Creates and returns a new object. + + The new object. + + + + Creates and returns a new object. + + The new object. + + + + Creates and returns a new object. + + The new object. + + + + Creates and returns a new object. + + The new object. + + + + Creates and returns a new object. + + The new object. + + + + Will provide a object in .NET 3.5. + + The class or interface type to query for. + + + + + This event is raised whenever SQLite raises a logging event. + Note that this should be set as one of the first things in the + application. This event is provided for backward compatibility only. + New code should use the class instead. + + + + + This abstract class is designed to handle user-defined functions easily. An instance of the derived class is made for each + connection to the database. + + + Although there is one instance of a class derived from SQLiteFunction per database connection, the derived class has no access + to the underlying connection. This is necessary to deter implementers from thinking it would be a good idea to make database + calls during processing. + + It is important to distinguish between a per-connection instance, and a per-SQL statement context. One instance of this class + services all SQL statements being stepped through on that connection, and there can be many. One should never store per-statement + information in member variables of user-defined function classes. + + For aggregate functions, always create and store your per-statement data in the contextData object on the 1st step. This data will + be automatically freed for you (and Dispose() called if the item supports IDisposable) when the statement completes. + + + + + The base connection this function is attached to + + + + + Internal array used to keep track of aggregate function context data + + + + + The connection flags associated with this object (this should be the + same value as the flags associated with the parent connection object). + + + + + Holds a reference to the callback function for user functions + + + + + Holds a reference to the callbakc function for stepping in an aggregate function + + + + + Holds a reference to the callback function for finalizing an aggregate function + + + + + Holds a reference to the callback function for collating sequences + + + + + Current context of the current callback. Only valid during a callback + + + + + This static dictionary contains all the registered (known) user-defined + functions declared using the proper attributes. The contained dictionary + values are always null and are not currently used. + + + + + Internal constructor, initializes the function's internal variables. + + + + + Constructs an instance of this class using the specified data-type + conversion parameters. + + + The DateTime format to be used when converting string values to a + DateTime and binding DateTime parameters. + + + The to be used when creating DateTime + values. + + + The format string to be used when parsing and formatting DateTime + values. + + + Non-zero to create a UTF-16 data-type conversion context; otherwise, + a UTF-8 data-type conversion context will be created. + + + + + Disposes of any active contextData variables that were not automatically cleaned up. Sometimes this can happen if + someone closes the connection while a DataReader is open. + + + + + Placeholder for a user-defined disposal routine + + True if the object is being disposed explicitly + + + + Cleans up resources associated with the current instance. + + + + + Scalar functions override this method to do their magic. + + + Parameters passed to functions have only an affinity for a certain data type, there is no underlying schema available + to force them into a certain type. Therefore the only types you will ever see as parameters are + DBNull.Value, Int64, Double, String or byte[] array. + + The arguments for the command to process + You may return most simple types as a return value, null or DBNull.Value to return null, DateTime, or + you may return an Exception-derived class if you wish to return an error to SQLite. Do not actually throw the error, + just return it! + + + + Aggregate functions override this method to do their magic. + + + Typically you'll be updating whatever you've placed in the contextData field and returning as quickly as possible. + + The arguments for the command to process + The 1-based step number. This is incrememted each time the step method is called. + A placeholder for implementers to store contextual data pertaining to the current context. + + + + Aggregate functions override this method to finish their aggregate processing. + + + If you implemented your aggregate function properly, + you've been recording and keeping track of your data in the contextData object provided, and now at this stage you should have + all the information you need in there to figure out what to return. + NOTE: It is possible to arrive here without receiving a previous call to Step(), in which case the contextData will + be null. This can happen when no rows were returned. You can either return null, or 0 or some other custom return value + if that is the case. + + Your own assigned contextData, provided for you so you can return your final results. + You may return most simple types as a return value, null or DBNull.Value to return null, DateTime, or + you may return an Exception-derived class if you wish to return an error to SQLite. Do not actually throw the error, + just return it! + + + + + User-defined collating sequences override this method to provide a custom string sorting algorithm. + + The first string to compare. + The second strnig to compare. + 1 if param1 is greater than param2, 0 if they are equal, or -1 if param1 is less than param2. + + + + Converts an IntPtr array of context arguments to an object array containing the resolved parameters the pointers point to. + + + Parameters passed to functions have only an affinity for a certain data type, there is no underlying schema available + to force them into a certain type. Therefore the only types you will ever see as parameters are + DBNull.Value, Int64, Double, String or byte[] array. + + The number of arguments + A pointer to the array of arguments + An object array of the arguments once they've been converted to .NET values + + + + Takes the return value from Invoke() and Final() and figures out how to return it to SQLite's context. + + The context the return value applies to + The parameter to return to SQLite + + + + Internal scalar callback function, which wraps the raw context pointer and calls the virtual Invoke() method. + WARNING: Must not throw exceptions. + + A raw context pointer + Number of arguments passed in + A pointer to the array of arguments + + + + Internal collating sequence function, which wraps up the raw string pointers and executes the Compare() virtual function. + WARNING: Must not throw exceptions. + + Not used + Length of the string pv1 + Pointer to the first string to compare + Length of the string pv2 + Pointer to the second string to compare + Returns -1 if the first string is less than the second. 0 if they are equal, or 1 if the first string is greater + than the second. Returns 0 if an exception is caught. + + + + Internal collating sequence function, which wraps up the raw string pointers and executes the Compare() virtual function. + WARNING: Must not throw exceptions. + + Not used + Length of the string pv1 + Pointer to the first string to compare + Length of the string pv2 + Pointer to the second string to compare + Returns -1 if the first string is less than the second. 0 if they are equal, or 1 if the first string is greater + than the second. Returns 0 if an exception is caught. + + + + The internal aggregate Step function callback, which wraps the raw context pointer and calls the virtual Step() method. + WARNING: Must not throw exceptions. + + + This function takes care of doing the lookups and getting the important information put together to call the Step() function. + That includes pulling out the user's contextData and updating it after the call is made. We use a sorted list for this so + binary searches can be done to find the data. + + A raw context pointer + Number of arguments passed in + A pointer to the array of arguments + + + + An internal aggregate Final function callback, which wraps the context pointer and calls the virtual Final() method. + WARNING: Must not throw exceptions. + + A raw context pointer + + + + Using reflection, enumerate all assemblies in the current appdomain looking for classes that + have a SQLiteFunctionAttribute attribute, and registering them accordingly. + + + + + Manual method of registering a function. The type must still have the SQLiteFunctionAttributes in order to work + properly, but this is a workaround for the Compact Framework where enumerating assemblies is not currently supported. + + The type of the function to register + + + + Alternative method of registering a function. This method + does not require the specified type to be annotated with + . + + + The name of the function to register. + + + The number of arguments accepted by the function. + + + The type of SQLite function being resitered (e.g. scalar, + aggregate, or collating sequence). + + + The that actually implements the function. + This will only be used if the + and parameters are null. + + + The to be used for all calls into the + , + , + and virtual methods. + + + The to be used for all calls into the + virtual method. This + parameter is only necessary for aggregate functions. + + + + + Replaces a registered function, disposing of the associated (old) + value if necessary. + + + The attribute that describes the function to replace. + + + The new value to use. + + + Non-zero if an existing registered function was replaced; otherwise, + zero. + + + + + Creates a instance based on the specified + . + + + The containing the metadata about + the function to create. + + + The created function -OR- null if the function could not be created. + + + Non-zero if the function was created; otherwise, zero. + + + + + Called by the SQLiteBase derived classes, this method binds all registered (known) user-defined functions to a connection. + It is done this way so that all user-defined functions will access the database using the same encoding scheme + as the connection (UTF-8 or UTF-16). + + + The wrapper functions that interop with SQLite will create a unique cookie value, which internally is a pointer to + all the wrapped callback functions. The interop function uses it to map CDecl callbacks to StdCall callbacks. + + The base object on which the functions are to bind. + The flags associated with the parent connection object. + Returns a logical list of functions which the connection should retain until it is closed. + + + + Called by the SQLiteBase derived classes, this method unbinds all registered (known) + functions -OR- all previously bound user-defined functions from a connection. + + The base object from which the functions are to be unbound. + The flags associated with the parent connection object. + + Non-zero to unbind all registered (known) functions -OR- zero to unbind all functions + currently bound to the connection. + + Non-zero if all the specified user-defined functions were unbound. + + + + This function binds a user-defined function to a connection. + + + The object instance associated with the + that the function should be bound to. + + + The object instance containing + the metadata for the function to be bound. + + + The object instance that implements the + function to be bound. + + + The flags associated with the parent connection object. + + + + + This function unbinds a user-defined functions from a connection. + + + The object instance associated with the + that the function should be bound to. + + + The object instance containing + the metadata for the function to be bound. + + + The object instance that implements the + function to be bound. + + + The flags associated with the parent connection object. + + Non-zero if the function was unbound. + + + + Returns a reference to the underlying connection's SQLiteConvert class, which can be used to convert + strings and DateTime's into the current connection's encoding schema. + + + + + This type is used with the + method. + + + This is always the string literal "Invoke". + + + The arguments for the scalar function. + + + The result of the scalar function. + + + + + This type is used with the + method. + + + This is always the string literal "Step". + + + The arguments for the aggregate function. + + + The step number (one based). This is incrememted each time the + method is called. + + + A placeholder for implementers to store contextual data pertaining + to the current context. + + + + + This type is used with the + method. + + + This is always the string literal "Final". + + + A placeholder for implementers to store contextual data pertaining + to the current context. + + + The result of the aggregate function. + + + + + This type is used with the + method. + + + This is always the string literal "Compare". + + + The first string to compare. + + + The second strnig to compare. + + + A positive integer if the parameter is + greater than the parameter, a negative + integer if the parameter is less than + the parameter, or zero if they are + equal. + + + + + This class implements a SQLite function using a . + All the virtual methods of the class are + implemented using calls to the , + , , + and strongly typed delegate types + or via the method. + The arguments are presented in the same order they appear in + the associated methods with one exception: + the first argument is the name of the virtual method being implemented. + + + + + This error message is used by the overridden virtual methods when + a required property (e.g. + or ) has not been + set. + + + + + This error message is used by the overridden + method when the result does not have a type of . + + + + + Constructs an empty instance of this class. + + + + + Constructs an instance of this class using the specified + as the + implementation. + + + The to be used for all calls into the + , , and + virtual methods needed by the + base class. + + + The to be used for all calls into the + virtual methods needed by the + base class. + + + + + Returns the list of arguments for the method, + as an of . The first + argument is always the literal string "Invoke". + + + The original arguments received by the method. + + + Non-zero if the returned arguments are going to be used with the + type; otherwise, zero. + + + The arguments to pass to the configured . + + + + + Returns the list of arguments for the method, + as an of . The first + argument is always the literal string "Step". + + + The original arguments received by the method. + + + The step number (one based). This is incrememted each time the + method is called. + + + A placeholder for implementers to store contextual data pertaining + to the current context. + + + Non-zero if the returned arguments are going to be used with the + type; otherwise, zero. + + + The arguments to pass to the configured . + + + + + Updates the output arguments for the method, + using an of . The first + argument is always the literal string "Step". Currently, only the + parameter is updated. + + + The original arguments received by the method. + + + A placeholder for implementers to store contextual data pertaining + to the current context. + + + Non-zero if the returned arguments are going to be used with the + type; otherwise, zero. + + + The arguments to pass to the configured . + + + + + Returns the list of arguments for the method, + as an of . The first + argument is always the literal string "Final". + + + A placeholder for implementers to store contextual data pertaining + to the current context. + + + Non-zero if the returned arguments are going to be used with the + type; otherwise, zero. + + + The arguments to pass to the configured . + + + + + Returns the list of arguments for the method, + as an of . The first + argument is always the literal string "Compare". + + + The first string to compare. + + + The second strnig to compare. + + + Non-zero if the returned arguments are going to be used with the + type; otherwise, zero. + + + The arguments to pass to the configured . + + + + + This virtual method is the implementation for scalar functions. + See the method for more + details. + + + The arguments for the scalar function. + + + The result of the scalar function. + + + + + This virtual method is part of the implementation for aggregate + functions. See the method + for more details. + + + The arguments for the aggregate function. + + + The step number (one based). This is incrememted each time the + method is called. + + + A placeholder for implementers to store contextual data pertaining + to the current context. + + + + + This virtual method is part of the implementation for aggregate + functions. See the method + for more details. + + + A placeholder for implementers to store contextual data pertaining + to the current context. + + + The result of the aggregate function. + + + + + This virtual method is part of the implementation for collating + sequences. See the method + for more details. + + + The first string to compare. + + + The second strnig to compare. + + + A positive integer if the parameter is + greater than the parameter, a negative + integer if the parameter is less than + the parameter, or zero if they are + equal. + + + + + The to be used for all calls into the + , , and + virtual methods needed by the + base class. + + + + + The to be used for all calls into the + virtual methods needed by the + base class. + + + + + Extends SQLiteFunction and allows an inherited class to obtain the collating sequence associated with a function call. + + + User-defined functions can call the GetCollationSequence() method in this class and use it to compare strings and char arrays. + + + + + Obtains the collating sequence in effect for the given function. + + + + + + Cleans up resources (native and managed) associated with the current instance. + + + Zero when being disposed via garbage collection; otherwise, non-zero. + + + + + The type of user-defined function to declare + + + + + Scalar functions are designed to be called and return a result immediately. Examples include ABS(), Upper(), Lower(), etc. + + + + + Aggregate functions are designed to accumulate data until the end of a call and then return a result gleaned from the accumulated data. + Examples include SUM(), COUNT(), AVG(), etc. + + + + + Collating sequences are used to sort textual data in a custom manner, and appear in an ORDER BY clause. Typically text in an ORDER BY is + sorted using a straight case-insensitive comparison function. Custom collating sequences can be used to alter the behavior of text sorting + in a user-defined manner. + + + + + An internal callback delegate declaration. + + Raw native context pointer for the user function. + Total number of arguments to the user function. + Raw native pointer to the array of raw native argument pointers. + + + + An internal final callback delegate declaration. + + Raw context pointer for the user function + + + + Internal callback delegate for implementing collating sequences + + Not used + Length of the string pv1 + Pointer to the first string to compare + Length of the string pv2 + Pointer to the second string to compare + Returns -1 if the first string is less than the second. 0 if they are equal, or 1 if the first string is greater + than the second. + + + + The type of collating sequence + + + + + The built-in BINARY collating sequence + + + + + The built-in NOCASE collating sequence + + + + + The built-in REVERSE collating sequence + + + + + A custom user-defined collating sequence + + + + + The encoding type the collation sequence uses + + + + + The collation sequence is UTF8 + + + + + The collation sequence is UTF16 little-endian + + + + + The collation sequence is UTF16 big-endian + + + + + A struct describing the collating sequence a function is executing in + + + + + The name of the collating sequence + + + + + The type of collating sequence + + + + + The text encoding of the collation sequence + + + + + Context of the function that requested the collating sequence + + + + + Calls the base collating sequence to compare two strings + + The first string to compare + The second string to compare + -1 if s1 is less than s2, 0 if s1 is equal to s2, and 1 if s1 is greater than s2 + + + + Calls the base collating sequence to compare two character arrays + + The first array to compare + The second array to compare + -1 if c1 is less than c2, 0 if c1 is equal to c2, and 1 if c1 is greater than c2 + + + + A simple custom attribute to enable us to easily find user-defined functions in + the loaded assemblies and initialize them in SQLite as connections are made. + + + + + Default constructor, initializes the internal variables for the function. + + + + + Constructs an instance of this class. This sets the initial + , , and + properties to null. + + + The name of the function, as seen by the SQLite core library. + + + The number of arguments that the function will accept. + + + The type of function being declared. This will either be Scalar, + Aggregate, or Collation. + + + + + The function's name as it will be used in SQLite command text. + + + + + The number of arguments this function expects. -1 if the number of arguments is variable. + + + + + The type of function this implementation will be. + + + + + The object instance that describes the class + containing the implementation for the associated function. The value of + this property will not be used if either the or + property values are set to non-null. + + + + + The that refers to the implementation for the + associated function. If this property value is set to non-null, it will + be used instead of the property value. + + + + + The that refers to the implementation for the + associated function. If this property value is set to non-null, it will + be used instead of the property value. + + + + + This class provides key info for a given SQLite statement. + + Providing key information for a given statement is non-trivial :( + + + + + + This function does all the nasty work at determining what keys need to be returned for + a given statement. + + + + + + + + Make sure all the subqueries are open and ready and sync'd with the current rowid + of the table they're supporting + + + + + Release any readers on any subqueries + + + + + Append all the columns we've added to the original query to the schema + + + + + + How many additional columns of keyinfo we're holding + + + + + Used to support CommandBehavior.KeyInfo + + + + + Used to keep track of the per-table RowId column metadata. + + + + + A single sub-query for a given table/database. + + + + + Event data for logging event handlers. + + + + + The error code. The type of this object value should be + or . + + + + + SQL statement text as the statement first begins executing + + + + + Extra data associated with this event, if any. + + + + + Constructs the object. + + Should be null. + + The error code. The type of this object value should be + or . + + The error message, if any. + The extra data, if any. + + + + Raised when a log event occurs. + + The current connection + Event arguments of the trace + + + + Manages the SQLite custom logging functionality and the associated + callback for the whole process. + + + + + Object used to synchronize access to the static instance data + for this class. + + + + + Member variable to store the AppDomain.DomainUnload event handler. + + + + + The default log event handler. + + + + + The log callback passed to native SQLite engine. This must live + as long as the SQLite library has a pointer to it. + + + + + The base SQLite object to interop with. + + + + + The number of times that the + has been called when the logging subystem was actually eligible + to be initialized (i.e. without the "No_SQLiteLog" environment + variable being set). + + + + + This will be non-zero if an attempt was already made to initialize + the (managed) logging subsystem. + + + + + This will be non-zero if logging is currently enabled. + + + + + Initializes the SQLite logging facilities. + + + + + Initializes the SQLite logging facilities. + + + The name of the managed class that called this method. This + parameter may be null. + + + + + Handles the AppDomain being unloaded. + + Should be null. + The data associated with this event. + + + + Log a message to all the registered log event handlers without going + through the SQLite library. + + The message to be logged. + + + + Log a message to all the registered log event handlers without going + through the SQLite library. + + The SQLite error code. + The message to be logged. + + + + Log a message to all the registered log event handlers without going + through the SQLite library. + + The integer error code. + The message to be logged. + + + + Log a message to all the registered log event handlers without going + through the SQLite library. + + + The error code. The type of this object value should be + System.Int32 or SQLiteErrorCode. + + The message to be logged. + + + + Creates and initializes the default log event handler. + + + + + Adds the default log event handler to the list of handlers. + + + + + Removes the default log event handler from the list of handlers. + + + + + Internal proxy function that calls any registered application log + event handlers. + + WARNING: This method is used more-or-less directly by native code, + do not modify its type signature. + + + The extra data associated with this message, if any. + + + The error code associated with this message. + + + The message string to be logged. + + + + + Default logger. Currently, uses the Trace class (i.e. sends events + to the current trace listeners, if any). + + Should be null. + The data associated with this event. + + + + Member variable to store the application log handler to call. + + + + + This event is raised whenever SQLite raises a logging event. + Note that this should be set as one of the first things in the + application. + + + + + If this property is true, logging is enabled; otherwise, logging is + disabled. When logging is disabled, no logging events will fire. + + + + + MetaDataCollections specific to SQLite + + + + + Returns a list of databases attached to the connection + + + + + Returns column information for the specified table + + + + + Returns index information for the optionally-specified table + + + + + Returns base columns for the given index + + + + + Returns the tables in the given catalog + + + + + Returns user-defined views in the given catalog + + + + + Returns underlying column information on the given view + + + + + Returns foreign key information for the given catalog + + + + + Returns the triggers on the database + + + + + SQLite implementation of DbParameter. + + + + + This value represents an "unknown" . + + + + + The command associated with this parameter. + + + + + The data type of the parameter + + + + + The version information for mapping the parameter + + + + + The value of the data in the parameter + + + + + The source column for the parameter + + + + + The column name + + + + + The data size, unused by SQLite + + + + + The database type name associated with this parameter, if any. + + + + + Constructor used when creating for use with a specific command. + + + The command associated with this parameter. + + + + + Default constructor + + + + + Constructs a named parameter given the specified parameter name + + The parameter name + + + + Constructs a named parameter given the specified parameter name and initial value + + The parameter name + The initial value of the parameter + + + + Constructs a named parameter of the specified type + + The parameter name + The datatype of the parameter + + + + Constructs a named parameter of the specified type and source column reference + + The parameter name + The data type + The source column + + + + Constructs a named parameter of the specified type, source column and row version + + The parameter name + The data type + The source column + The row version information + + + + Constructs an unnamed parameter of the specified data type + + The datatype of the parameter + + + + Constructs an unnamed parameter of the specified data type and sets the initial value + + The datatype of the parameter + The initial value of the parameter + + + + Constructs an unnamed parameter of the specified data type and source column + + The datatype of the parameter + The source column + + + + Constructs an unnamed parameter of the specified data type, source column and row version + + The data type + The source column + The row version information + + + + Constructs a named parameter of the specified type and size + + The parameter name + The data type + The size of the parameter + + + + Constructs a named parameter of the specified type, size and source column + + The name of the parameter + The data type + The size of the parameter + The source column + + + + Constructs a named parameter of the specified type, size, source column and row version + + The name of the parameter + The data type + The size of the parameter + The source column + The row version information + + + + Constructs a named parameter of the specified type, size, source column and row version + + The name of the parameter + The data type + The size of the parameter + Only input parameters are supported in SQLite + Ignored + Ignored + Ignored + The source column + The row version information + The initial value to assign the parameter + + + + Constructs a named parameter, yet another flavor + + The name of the parameter + The data type + The size of the parameter + Only input parameters are supported in SQLite + Ignored + Ignored + The source column + The row version information + Whether or not this parameter is for comparing NULL's + The intial value to assign the parameter + + + + Constructs an unnamed parameter of the specified type and size + + The data type + The size of the parameter + + + + Constructs an unnamed parameter of the specified type, size, and source column + + The data type + The size of the parameter + The source column + + + + Constructs an unnamed parameter of the specified type, size, source column and row version + + The data type + The size of the parameter + The source column + The row version information + + + + Resets the DbType of the parameter so it can be inferred from the value + + + + + Clones a parameter + + A new, unassociated SQLiteParameter + + + + The command associated with this parameter. + + + + + Whether or not the parameter can contain a null value + + + + + Returns the datatype of the parameter + + + + + Supports only input parameters + + + + + Returns the parameter name + + + + + Returns the size of the parameter + + + + + Gets/sets the source column + + + + + Used by DbCommandBuilder to determine the mapping for nullable fields + + + + + Gets and sets the row version + + + + + Gets and sets the parameter value. If no datatype was specified, the datatype will assume the type from the value given. + + + + + The database type name associated with this parameter, if any. + + + + + SQLite implementation of DbParameterCollection. + + + + + The underlying command to which this collection belongs + + + + + The internal array of parameters in this collection + + + + + Determines whether or not all parameters have been bound to their statement(s) + + + + + Initializes the collection + + The command to which the collection belongs + + + + Retrieves an enumerator for the collection + + An enumerator for the underlying array + + + + Adds a parameter to the collection + + The parameter name + The data type + The size of the value + The source column + A SQLiteParameter object + + + + Adds a parameter to the collection + + The parameter name + The data type + The size of the value + A SQLiteParameter object + + + + Adds a parameter to the collection + + The parameter name + The data type + A SQLiteParameter object + + + + Adds a parameter to the collection + + The parameter to add + A zero-based index of where the parameter is located in the array + + + + Adds a parameter to the collection + + The parameter to add + A zero-based index of where the parameter is located in the array + + + + Adds a named/unnamed parameter and its value to the parameter collection. + + Name of the parameter, or null to indicate an unnamed parameter + The initial value of the parameter + Returns the SQLiteParameter object created during the call. + + + + Adds an array of parameters to the collection + + The array of parameters to add + + + + Adds an array of parameters to the collection + + The array of parameters to add + + + + Clears the array and resets the collection + + + + + Determines if the named parameter exists in the collection + + The name of the parameter to check + True if the parameter is in the collection + + + + Determines if the parameter exists in the collection + + The SQLiteParameter to check + True if the parameter is in the collection + + + + Not implemented + + + + + + + Retrieve a parameter by name from the collection + + The name of the parameter to fetch + A DbParameter object + + + + Retrieves a parameter by its index in the collection + + The index of the parameter to retrieve + A DbParameter object + + + + Returns the index of a parameter given its name + + The name of the parameter to find + -1 if not found, otherwise a zero-based index of the parameter + + + + Returns the index of a parameter + + The parameter to find + -1 if not found, otherwise a zero-based index of the parameter + + + + Inserts a parameter into the array at the specified location + + The zero-based index to insert the parameter at + The parameter to insert + + + + Removes a parameter from the collection + + The parameter to remove + + + + Removes a parameter from the collection given its name + + The name of the parameter to remove + + + + Removes a parameter from the collection given its index + + The zero-based parameter index to remove + + + + Re-assign the named parameter to a new parameter object + + The name of the parameter to replace + The new parameter + + + + Re-assign a parameter at the specified index + + The zero-based index of the parameter to replace + The new parameter + + + + Un-binds all parameters from their statements + + + + + This function attempts to map all parameters in the collection to all statements in a Command. + Since named parameters may span multiple statements, this function makes sure all statements are bound + to the same named parameter. Unnamed parameters are bound in sequence. + + + + + Returns false + + + + + Returns false + + + + + Returns false + + + + + Returns null + + + + + Returns a count of parameters in the collection + + + + + Overloaded to specialize the return value of the default indexer + + Name of the parameter to get/set + The specified named SQLite parameter + + + + Overloaded to specialize the return value of the default indexer + + The index of the parameter to get/set + The specified SQLite parameter + + + + Represents a single SQL statement in SQLite. + + + + + The underlying SQLite object this statement is bound to + + + + + The command text of this SQL statement + + + + + The actual statement pointer + + + + + An index from which unnamed parameters begin + + + + + Names of the parameters as SQLite understands them to be + + + + + Parameters for this statement + + + + + Command this statement belongs to (if any) + + + + + The flags associated with the parent connection object. + + + + + Initializes the statement and attempts to get all information about parameters in the statement + + The base SQLite object + The flags associated with the parent connection object + The statement + The command text for this statement + The previous command in a multi-statement command + + + + Disposes and finalizes the statement + + + + + If the underlying database connection is open, fetches the number of changed rows + resulting from the most recent query; otherwise, does nothing. + + + The number of changes when true is returned. + Undefined if false is returned. + + + The read-only flag when true is returned. + Undefined if false is returned. + + Non-zero if the number of changed rows was fetched. + + + + Called by SQLiteParameterCollection, this function determines if the specified parameter name belongs to + this statement, and if so, keeps a reference to the parameter so it can be bound later. + + The parameter name to map + The parameter to assign it + + + + Bind all parameters, making sure the caller didn't miss any + + + + + This method attempts to query the database connection associated with + the statement in use. If the underlying command or connection is + unavailable, a null value will be returned. + + + The connection object -OR- null if it is unavailable. + + + + + Invokes the parameter binding callback configured for the database + type name associated with the specified column. If no parameter + binding callback is available for the database type name, do + nothing. + + + The index of the column being read. + + + The instance being bound to the + command. + + + Non-zero if the default handling for the parameter binding call + should be skipped (i.e. the parameter should not be bound at all). + Great care should be used when setting this to non-zero. + + + + + Perform the bind operation for an individual parameter + + The index of the parameter to bind + The parameter we're binding + + + + SQLite implementation of DbTransaction that does not support nested transactions. + + + + + Base class used by to implement DbTransaction for SQLite. + + + + + The connection to which this transaction is bound. + + + + + Matches the version of the connection. + + + + + The isolation level for this transaction. + + + + + Constructs the transaction object, binding it to the supplied connection + + The connection to open a transaction on + TRUE to defer the writelock, or FALSE to lock immediately + + + + Disposes the transaction. If it is currently active, any changes are rolled back. + + + + + Rolls back the active transaction. + + + + + Attempts to start a transaction. An exception will be thrown if the transaction cannot + be started for any reason. + + TRUE to defer the writelock, or FALSE to lock immediately + + + + Issue a ROLLBACK command against the database connection, + optionally re-throwing any caught exception. + + + Non-zero to re-throw caught exceptions. + + + + + Checks the state of this transaction, optionally throwing an exception if a state + inconsistency is found. + + + Non-zero to throw an exception if a state inconsistency is found. + + + Non-zero if this transaction is valid; otherwise, false. + + + + + Gets the isolation level of the transaction. SQLite only supports Serializable transactions. + + + + + Returns the underlying connection to which this transaction applies. + + + + + Forwards to the local Connection property + + + + + Constructs the transaction object, binding it to the supplied connection + + The connection to open a transaction on + TRUE to defer the writelock, or FALSE to lock immediately + + + + Disposes the transaction. If it is currently active, any changes are rolled back. + + + + + Commits the current transaction. + + + + + Attempts to start a transaction. An exception will be thrown if the transaction cannot + be started for any reason. + + TRUE to defer the writelock, or FALSE to lock immediately + + + + Issue a ROLLBACK command against the database connection, + optionally re-throwing any caught exception. + + + Non-zero to re-throw caught exceptions. + + + + + SQLite implementation of DbTransaction that does support nested transactions. + + + + + The original transaction level for the associated connection + when this transaction was created (i.e. begun). + + + + + The SAVEPOINT name for this transaction, if any. This will + only be non-null if this transaction is a nested one. + + + + + Constructs the transaction object, binding it to the supplied connection + + The connection to open a transaction on + TRUE to defer the writelock, or FALSE to lock immediately + + + + Disposes the transaction. If it is currently active, any changes are rolled back. + + + + + Commits the current transaction. + + + + + Attempts to start a transaction. An exception will be thrown if the transaction cannot + be started for any reason. + + TRUE to defer the writelock, or FALSE to lock immediately + + + + Issue a ROLLBACK command against the database connection, + optionally re-throwing any caught exception. + + + Non-zero to re-throw caught exceptions. + + + + + Constructs the name of a new savepoint for this transaction. It + should only be called from the constructor of this class. + + + The name of the new savepoint -OR- null if it cannot be constructed. + + + + + This static class provides some methods that are shared between the + native library pre-loader and other classes. + + + + + This lock is used to protect the static and + fields. + + + + + This type is only present when running on Mono. + + + + + This type is only present when running on .NET Core. + + + + + Keeps track of whether we are running on Mono. Initially null, it is + set by the method on its first call. Later, it + is returned verbatim by the method. + + + + + Keeps track of whether we are running on .NET Core. Initially null, + it is set by the method on its first + call. Later, it is returned verbatim by the + method. + + + + + Keeps track of whether we successfully invoked the + method. Initially null, it is set by + the method on its first call. + + + + + Determines the ID of the current process. Only used for debugging. + + + The ID of the current process -OR- zero if it cannot be determined. + + + + + Determines whether or not this assembly is running on Mono. + + + Non-zero if this assembly is running on Mono. + + + + + Determines whether or not this assembly is running on .NET Core. + + + Non-zero if this assembly is running on .NET Core. + + + + + Resets the cached value for the "PreLoadSQLite_BreakIntoDebugger" + configuration setting. + + + + + If the "PreLoadSQLite_BreakIntoDebugger" configuration setting is + present (e.g. via the environment), give the interactive user an + opportunity to attach a debugger to the current process; otherwise, + do nothing. + + + + + Determines the ID of the current thread. Only used for debugging. + + + The ID of the current thread -OR- zero if it cannot be determined. + + + + + Determines if the specified flags are present within the flags + associated with the parent connection object. + + + The flags associated with the parent connection object. + + + The flags to check for. + + + Non-zero if the specified flag or flags were present; otherwise, + zero. + + + + + Determines if preparing a query should be logged. + + + The flags associated with the parent connection object. + + + Non-zero if the query preparation should be logged; otherwise, zero. + + + + + Determines if pre-parameter binding should be logged. + + + The flags associated with the parent connection object. + + + Non-zero if the pre-parameter binding should be logged; otherwise, + zero. + + + + + Determines if parameter binding should be logged. + + + The flags associated with the parent connection object. + + + Non-zero if the parameter binding should be logged; otherwise, zero. + + + + + Determines if an exception in a native callback should be logged. + + + The flags associated with the parent connection object. + + + Non-zero if the exception should be logged; otherwise, zero. + + + + + Determines if backup API errors should be logged. + + + The flags associated with the parent connection object. + + + Non-zero if the backup API error should be logged; otherwise, zero. + + + + + Determines if logging for the class is + disabled. + + + The flags associated with the parent connection object. + + + Non-zero if logging for the class is + disabled; otherwise, zero. + + + + + Determines if errors should be logged. + + + The flags associated with the parent connection object. + + + Non-zero if the error should be logged; + otherwise, zero. + + + + + Determines if exceptions should be + logged. + + + The flags associated with the parent connection object. + + + Non-zero if the exception should be + logged; otherwise, zero. + + + + + Determines if the current process is running on one of the Windows + [sub-]platforms. + + + Non-zero when running on Windows; otherwise, zero. + + + + + This is a wrapper around the + method. + On Mono, it has to call the method overload without the + parameter, due to a bug in Mono. + + + This is used for culture-specific formatting. + + + The format string. + + + An array the objects to format. + + + The resulting string. + + + + + This static class provides a thin wrapper around the native library + loading features of the underlying platform. + + + + + Attempts to load the specified native library file using the Win32 + API. + + + The file name of the native library to load. + + + The native module handle upon success -OR- IntPtr.Zero on failure. + + + + + Attempts to determine the machine name of the current process using + the Win32 API. + + + The machine name for the current process -OR- null on failure. + + + + + Attempts to load the specified native library file using the POSIX + API. + + + The file name of the native library to load. + + + The native module handle upon success -OR- IntPtr.Zero on failure. + + + + + Attempts to determine the machine name of the current process using + the POSIX API. + + + The machine name for the current process -OR- null on failure. + + + + + Attempts to load the specified native library file. + + + The file name of the native library to load. + + + The native module handle upon success -OR- IntPtr.Zero on failure. + + + + + Attempts to determine the machine name of the current process. + + + The machine name for the current process -OR- null on failure. + + + + + This delegate is used to wrap the concept of loading a native + library, based on a file name, and returning the loaded module + handle. + + + The file name of the native library to load. + + + The native module handle upon success -OR- IntPtr.Zero on failure. + + + + + This delegate is used to wrap the concept of querying the machine + name of the current process. + + + The machine name for the current process -OR- null on failure. + + + + + This class declares P/Invoke methods to call native POSIX APIs. + + + + + For use with dlopen(), bind function calls lazily. + + + + + For use with dlopen(), bind function calls immediately. + + + + + For use with dlopen(), make symbols globally available. + + + + + For use with dlopen(), opposite of RTLD_GLOBAL, and the default. + + + + + For use with dlopen(), the defaults used by this class. + + + + + This is the P/Invoke method that wraps the native Unix uname + function. See the POSIX documentation for full details on what it + does. + + + Structure containing a preallocated byte buffer to fill with the + requested information. + + + Zero for success and less than zero upon failure. + + + + + This is the P/Invoke method that wraps the native Unix dlopen + function. See the POSIX documentation for full details on what it + does. + + + The name of the executable library. + + + This must be a combination of the individual bit flags RTLD_LAZY, + RTLD_NOW, RTLD_GLOBAL, and/or RTLD_LOCAL. + + + The native module handle upon success -OR- IntPtr.Zero on failure. + + + + + This is the P/Invoke method that wraps the native Unix dlclose + function. See the POSIX documentation for full details on what it + does. + + + The handle to the loaded native library. + + + Zero upon success -OR- non-zero on failure. + + + + + These are the characters used to separate the string fields within + the raw buffer returned by the P/Invoke method. + + + + + This method is a wrapper around the P/Invoke + method that extracts and returns the human readable strings from + the raw buffer. + + + This structure, which contains strings, will be filled based on the + data placed in the raw buffer returned by the + P/Invoke method. + + + Non-zero upon success; otherwise, zero. + + + + + This structure is used when running on POSIX operating systems + to store information about the current machine, including the + human readable name of the operating system as well as that of + the underlying hardware. + + + + + This structure is passed directly to the P/Invoke method to + obtain the information about the current machine, including + the human readable name of the operating system as well as + that of the underlying hardware. + + + + + This class declares P/Invoke methods to call native Win32 APIs. + + + + + This is the P/Invoke method that wraps the native Win32 LoadLibrary + function. See the MSDN documentation for full details on what it + does. + + + The name of the executable library. + + + The native module handle upon success -OR- IntPtr.Zero on failure. + + + + + This is the P/Invoke method that wraps the native Win32 GetSystemInfo + function. See the MSDN documentation for full details on what it + does. + + + The system information structure to be filled in by the function. + + + + + This enumeration contains the possible values for the processor + architecture field of the system information structure. + + + + + This structure contains information about the current computer. This + includes the processor type, page size, memory addresses, etc. + + + + + This class declares P/Invoke methods to call native SQLite APIs. + + + + + The file extension used for dynamic link libraries. + + + + + The file extension used for the XML configuration file. + + + + + This is the name of the XML configuration file specific to the + System.Data.SQLite assembly. + + + + + This is the XML configuratrion file token that will be replaced with + the qualified path to the directory containing the XML configuration + file. + + + + + This is the environment variable token that will be replaced with + the qualified path to the directory containing this assembly. + + + + + This is the environment variable token that will be replaced with an + abbreviation of the target framework attribute value associated with + this assembly. + + + + + This lock is used to protect the static _SQLiteNativeModuleFileName, + _SQLiteNativeModuleHandle, and processorArchitecturePlatforms fields. + + + + + This dictionary stores the mappings between target framework names + and their associated (NuGet) abbreviations. These mappings are only + used by the method. + + + + + This dictionary stores the mappings between processor architecture + names and platform names. These mappings are now used for two + purposes. First, they are used to determine if the assembly code + base should be used instead of the location, based upon whether one + or more of the named sub-directories exist within the assembly code + base. Second, they are used to assist in loading the appropriate + SQLite interop assembly into the current process. + + + + + This is the cached return value from the + method -OR- null if that method + has never returned a valid value. + + + + + When this field is non-zero, it indicates the + method was not able to locate a + suitable assembly directory. The + method will check this + field and skips calls into the + method whenever it is non-zero. + + + + + This is the cached return value from the + method -OR- null if that method + has never returned a valid value. + + + + + When this field is non-zero, it indicates the + method was not able to locate a + suitable XML configuration file name. The + method will check this + field and skips calls into the + method whenever it is non-zero. + + + + + For now, this method simply calls the Initialize method. + + + + + Attempts to initialize this class by pre-loading the native SQLite + library for the processor architecture of the current process. + + + + + Combines two path strings. + + + The first path -OR- null. + + + The second path -OR- null. + + + The combined path string -OR- null if both of the original path + strings are null. + + + + + Resets the cached XML configuration file name value, thus forcing the + next call to method to rely + upon the method to fetch the + XML configuration file name. + + + + + Queries and returns the cached XML configuration file name for the + assembly containing the managed System.Data.SQLite components, if + available. If the cached XML configuration file name value is not + available, the method will + be used to obtain the XML configuration file name. + + + The XML configuration file name -OR- null if it cannot be determined + or does not exist. + + + + + Queries and returns the XML configuration file name for the assembly + containing the managed System.Data.SQLite components. + + + The XML configuration file name -OR- null if it cannot be determined + or does not exist. + + + + + If necessary, replaces all supported XML configuration file tokens + with their associated values. + + + The name of the XML configuration file being read. + + + A setting value read from the XML configuration file. + + + The value of the will all supported XML + configuration file tokens replaced. No return value is reserved + to indicate an error. This method cannot fail. + + + + + Queries and returns the value of the specified setting, using the + specified XML configuration file. + + + The name of the XML configuration file to read. + + + The name of the setting. + + + The value to be returned if the setting has not been set explicitly + or cannot be determined. + + + Non-zero to expand any environment variable references contained in + the setting value to be returned. This has no effect on the .NET + Compact Framework. + + + The value of the setting -OR- the default value specified by + if it has not been set explicitly or + cannot be determined. + + + + + Attempts to determine the target framework attribute value that is + associated with the specified managed assembly, if applicable. + + + The managed assembly to read the target framework attribute value + from. + + + The value of the target framework attribute value for the specified + managed assembly -OR- null if it cannot be determined. If this + assembly was compiled with a version of the .NET Framework prior to + version 4.0, the value returned MAY reflect that version of the .NET + Framework instead of the one associated with the specified managed + assembly. + + + + + Accepts a long target framework attribute value and makes it into a + much shorter version, suitable for use with NuGet packages. + + + The long target framework attribute value to convert. + + + The short target framework attribute value -OR- null if it cannot + be determined or converted. + + + + + If necessary, replaces all supported environment variable tokens + with their associated values. + + + A setting value read from an environment variable. + + + The value of the will all supported + environment variable tokens replaced. No return value is reserved + to indicate an error. This method cannot fail. + + + + + Queries and returns the value of the specified setting, using the XML + configuration file and/or the environment variables for the current + process and/or the current system, when available. + + + The name of the setting. + + + The value to be returned if the setting has not been set explicitly + or cannot be determined. + + + The value of the setting -OR- the default value specified by + if it has not been set explicitly or + cannot be determined. By default, all references to existing + environment variables will be expanded to their corresponding values + within the value to be returned unless either the "No_Expand" or + "No_Expand_" environment variable is set [to + anything]. + + + + + Resets the cached assembly directory value, thus forcing the next + call to method to rely + upon the method to fetch the + assembly directory. + + + + + Queries and returns the cached directory for the assembly currently + being executed, if available. If the cached assembly directory value + is not available, the method will + be used to obtain the assembly directory. + + + The directory for the assembly currently being executed -OR- null if + it cannot be determined. + + + + + Queries and returns the directory for the assembly currently being + executed. + + + The directory for the assembly currently being executed -OR- null if + it cannot be determined. + + + + + The name of the environment variable containing the processor + architecture of the current process. + + + + + The native module file name for the native SQLite library or null. + + + + + The native module handle for the native SQLite library or the value + IntPtr.Zero. + + + + + Determines the base file name (without any directory information) + for the native SQLite library to be pre-loaded by this class. + + + The base file name for the native SQLite library to be pre-loaded by + this class -OR- null if its value cannot be determined. + + + + + Searches for the native SQLite library in the directory containing + the assembly currently being executed as well as the base directory + for the current application domain. + + + Upon success, this parameter will be modified to refer to the base + directory containing the native SQLite library. + + + Upon success, this parameter will be modified to refer to the name + of the immediate directory (i.e. the offset from the base directory) + containing the native SQLite library. + + + Upon success, this parameter will be modified to non-zero only if + the base directory itself should be allowed for loading the native + library. + + + Non-zero (success) if the native SQLite library was found; otherwise, + zero (failure). + + + + + Queries and returns the base directory of the current application + domain. + + + The base directory for the current application domain -OR- null if it + cannot be determined. + + + + + Determines if the dynamic link library file name requires a suffix + and adds it if necessary. + + + The original dynamic link library file name to inspect. + + + The dynamic link library file name, possibly modified to include an + extension. + + + + + Queries and returns the processor architecture of the current + process. + + + The processor architecture of the current process -OR- null if it + cannot be determined. + + + + + Given the processor architecture, returns the name of the platform. + + + The processor architecture to be translated to a platform name. + + + The platform name for the specified processor architecture -OR- null + if it cannot be determined. + + + + + Attempts to load the native SQLite library based on the specified + directory and processor architecture. + + + The base directory to use, null for default (the base directory of + the current application domain). This directory should contain the + processor architecture specific sub-directories. + + + The requested processor architecture, null for default (the + processor architecture of the current process). This caller should + almost always specify null for this parameter. + + + Non-zero indicates that the native SQLite library can be loaded + from the base directory itself. + + + The candidate native module file name to load will be stored here, + if necessary. + + + The native module handle as returned by LoadLibrary will be stored + here, if necessary. This value will be IntPtr.Zero if the call to + LoadLibrary fails. + + + Non-zero if the native module was loaded successfully; otherwise, + zero. + + + + + 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 <?xml version="1.0" standalone="yes"?> + <DocumentElement> + <DataTypes> + <TypeName>smallint</TypeName> + <ProviderDbType>10</ProviderDbType> + <ColumnSize>5</ColumnSize> + <DataType>System.Int16</DataType> + <CreateFormat>smallint</CreateFormat> + <IsAutoIncrementable>false</IsAutoIncrementable> + <IsCaseSensitive>false</IsCaseSensitive> + <IsFixedLength>true</IsFixedLength> + <IsFixedPrecisionScale>true</IsFixedPrecisionScale> + <IsLong>false</IsLong> + <IsNullable>true</ [rest of string was truncated]";. + + + + + Looks up a localized string similar to ALL,ALTER,AND,AS,AUTOINCREMENT,BETWEEN,BY,CASE,CHECK,COLLATE,COMMIT,CONSTRAINT,CREATE,CROSS,DEFAULT,DEFERRABLE,DELETE,DISTINCT,DROP,ELSE,ESCAPE,EXCEPT,FOREIGN,FROM,FULL,GROUP,HAVING,IN,INDEX,INNER,INSERT,INTERSECT,INTO,IS,ISNULL,JOIN,LEFT,LIMIT,NATURAL,NOT,NOTNULL,NULL,ON,OR,ORDER,OUTER,PRIMARY,REFERENCES,RIGHT,ROLLBACK,SELECT,SET,TABLE,THEN,TO,TRANSACTION,UNION,UNIQUE,UPDATE,USING,VALUES,WHEN,WHERE. + + + + + Looks up a localized string similar to <?xml version="1.0" encoding="utf-8" ?> + <DocumentElement> + <MetaDataCollections> + <CollectionName>MetaDataCollections</CollectionName> + <NumberOfRestrictions>0</NumberOfRestrictions> + <NumberOfIdentifierParts>0</NumberOfIdentifierParts> + </MetaDataCollections> + <MetaDataCollections> + <CollectionName>DataSourceInformation</CollectionName> + <NumberOfRestrictions>0</NumberOfRestrictions> + <NumberOfIdentifierParts>0</NumberOfIdentifierParts> + </MetaDataCollections> + <MetaDataC [rest of string was truncated]";. + + + + + This interface represents a virtual table implementation written in + native code. + + + + + + int (*xCreate)(sqlite3 *db, void *pAux, + int argc, char *const*argv, + sqlite3_vtab **ppVTab, + char **pzErr); + + + The xCreate method is called to create a new instance of a virtual table + in response to a CREATE VIRTUAL TABLE statement. + If the xCreate method is the same pointer as the xConnect method, then the + virtual table is an eponymous virtual table. + If the xCreate method is omitted (if it is a NULL pointer) then the virtual + table is an eponymous-only virtual table. + + + The db parameter is a pointer to the SQLite database connection that + is executing the CREATE VIRTUAL TABLE statement. + The pAux argument is the copy of the client data pointer that was the + fourth argument to the sqlite3_create_module() or + sqlite3_create_module_v2() call that registered the + virtual table module. + The argv parameter is an array of argc pointers to null terminated strings. + The first string, argv[0], is the name of the module being invoked. The + module name is the name provided as the second argument to + sqlite3_create_module() and as the argument to the USING clause of the + CREATE VIRTUAL TABLE statement that is running. + The second, argv[1], is the name of the database in which the new virtual table is being created. The database name is "main" for the primary database, or + "temp" for TEMP database, or the name given at the end of the ATTACH + statement for attached databases. The third element of the array, argv[2], + is the name of the new virtual table, as specified following the TABLE + keyword in the CREATE VIRTUAL TABLE statement. + If present, the fourth and subsequent strings in the argv[] array report + the arguments to the module name in the CREATE VIRTUAL TABLE statement. + + + The job of this method is to construct the new virtual table object + (an sqlite3_vtab object) and return a pointer to it in *ppVTab. + + + As part of the task of creating a new sqlite3_vtab structure, this + method must invoke sqlite3_declare_vtab() to tell the SQLite + core about the columns and datatypes in the virtual table. + The sqlite3_declare_vtab() API has the following prototype: + + + int sqlite3_declare_vtab(sqlite3 *db, const char *zCreateTable) + + + The first argument to sqlite3_declare_vtab() must be the same + database connection pointer as the first parameter to this method. + The second argument to sqlite3_declare_vtab() must a zero-terminated + UTF-8 string that contains a well-formed CREATE TABLE statement that + defines the columns in the virtual table and their data types. + The name of the table in this CREATE TABLE statement is ignored, + as are all constraints. Only the column names and datatypes matter. + The CREATE TABLE statement string need not to be + held in persistent memory. The string can be + deallocated and/or reused as soon as the sqlite3_declare_vtab() + routine returns. + + + The xCreate method need not initialize the pModule, nRef, and zErrMsg + fields of the sqlite3_vtab object. The SQLite core will take care of + that chore. + + + The xCreate should return SQLITE_OK if it is successful in + creating the new virtual table, or SQLITE_ERROR if it is not successful. + If not successful, the sqlite3_vtab structure must not be allocated. + An error message may optionally be returned in *pzErr if unsuccessful. + Space to hold the error message string must be allocated using + an SQLite memory allocation function like + sqlite3_malloc() or sqlite3_mprintf() as the SQLite core will + attempt to free the space using sqlite3_free() after the error has + been reported up to the application. + + + If the xCreate method is omitted (left as a NULL pointer) then the + virtual table is an eponymous-only virtual table. New instances of + the virtual table cannot be created using CREATE VIRTUAL TABLE and the + virtual table can only be used via its module name. + Note that SQLite versions prior to 3.9.0 (2015-10-14) do not understand + eponymous-only virtual tables and will segfault if an attempt is made + to CREATE VIRTUAL TABLE on an eponymous-only virtual table because + the xCreate method was not checked for null. + + + If the xCreate method is the exact same pointer as the xConnect method, + that indicates that the virtual table does not need to initialize backing + store. Such a virtual table can be used as an eponymous virtual table + or as a named virtual table using CREATE VIRTUAL TABLE or both. + + + If a column datatype contains the special keyword "HIDDEN" + (in any combination of upper and lower case letters) then that keyword + it is omitted from the column datatype name and the column is marked + as a hidden column internally. + A hidden column differs from a normal column in three respects: + + + ]]> + ]]> Hidden columns are not listed in the dataset returned by + "PRAGMA table_info", + ]]>]]> Hidden columns are not included in the expansion of a "*" + expression in the result set of a SELECT, and + ]]>]]> Hidden columns are not included in the implicit column-list + used by an INSERT statement that lacks an explicit column-list. + ]]>]]> + + + For example, if the following SQL is passed to sqlite3_declare_vtab(): + + + CREATE TABLE x(a HIDDEN VARCHAR(12), b INTEGER, c INTEGER Hidden); + + + Then the virtual table would be created with two hidden columns, + and with datatypes of "VARCHAR(12)" and "INTEGER". + + + An example use of hidden columns can be seen in the FTS3 virtual + table implementation, where every FTS virtual table + contains an FTS hidden column that is used to pass information from the + virtual table into FTS auxiliary functions and to the FTS MATCH operator. + + + A virtual table that contains hidden columns can be used like + a table-valued function in the FROM clause of a SELECT statement. + The arguments to the table-valued function become constraints on + the HIDDEN columns of the virtual table. + + + For example, the "generate_series" extension (located in the + ext/misc/series.c + file in the source tree) + implements an eponymous virtual table with the following schema: + + + CREATE TABLE generate_series( + value, + start HIDDEN, + stop HIDDEN, + step HIDDEN + ); + + + The sqlite3_module.xBestIndex method in the implementation of this + table checks for equality constraints against the HIDDEN columns, and uses + those as input parameters to determine the range of integer "value" outputs + to generate. Reasonable defaults are used for any unconstrained columns. + For example, to list all integers between 5 and 50: + + + SELECT value FROM generate_series(5,50); + + + The previous query is equivalent to the following: + + + SELECT value FROM generate_series WHERE start=5 AND stop=50; + + + Arguments on the virtual table name are matched to hidden columns + in order. The number of arguments can be less than the + number of hidden columns, in which case the latter hidden columns are + unconstrained. However, an error results if there are more arguments + than there are hidden columns in the virtual table. + + + Beginning with SQLite version 3.14.0 (2016-08-08), + the CREATE TABLE statement that + is passed into sqlite3_declare_vtab() may contain a WITHOUT ROWID clause. + This is useful for cases where the virtual table rows + cannot easily be mapped into unique integers. A CREATE TABLE + statement that includes WITHOUT ROWID must define one or more columns as + the PRIMARY KEY. Every column of the PRIMARY KEY must individually be + NOT NULL and all columns for each row must be collectively unique. + + + Note that SQLite does not enforce the PRIMARY KEY for a WITHOUT ROWID + virtual table. Enforcement is the responsibility of the underlying + virtual table implementation. But SQLite does assume that the PRIMARY KEY + constraint is valid - that the identified columns really are UNIQUE and + NOT NULL - and it uses that assumption to optimize queries against the + virtual table. + + + The rowid column is not accessible on a + WITHOUT ROWID virtual table (of course). + + + The xUpdate method was originally designed around having a + ROWID as a single value. The xUpdate method has been expanded to + accommodate an arbitrary PRIMARY KEY in place of the ROWID, but the + PRIMARY KEY must still be only one column. For this reason, SQLite + will reject any WITHOUT ROWID virtual table that has more than one + PRIMARY KEY column and a non-NULL xUpdate method. + + + + The native database connection handle. + + + The original native pointer value that was provided to the + sqlite3_create_module(), sqlite3_create_module_v2() or + sqlite3_create_disposable_module() functions. + + + The number of arguments from the CREATE VIRTUAL TABLE statement. + + + The array of string arguments from the CREATE VIRTUAL TABLE + statement. + + + Upon success, this parameter must be modified to point to the newly + created native sqlite3_vtab derived structure. + + + Upon failure, this parameter must be modified to point to the error + message, with the underlying memory having been obtained from the + sqlite3_malloc() function. + + + A standard SQLite return code. + + + + + + int (*xConnect)(sqlite3*, void *pAux, + int argc, char *const*argv, + sqlite3_vtab **ppVTab, + char **pzErr); + + + The xConnect method is very similar to xCreate. + It has the same parameters and constructs a new sqlite3_vtab structure + just like xCreate. + And it must also call sqlite3_declare_vtab() like xCreate. + + + The difference is that xConnect is called to establish a new + connection to an existing virtual table whereas xCreate is called + to create a new virtual table from scratch. + + + The xCreate and xConnect methods are only different when the + virtual table has some kind of backing store that must be initialized + the first time the virtual table is created. The xCreate method creates + and initializes the backing store. The xConnect method just connects + to an existing backing store. When xCreate and xConnect are the same, + the table is an eponymous virtual table. + + + As an example, consider a virtual table implementation that + provides read-only access to existing comma-separated-value (CSV) + files on disk. There is no backing store that needs to be created + or initialized for such a virtual table (since the CSV files already + exist on disk) so the xCreate and xConnect methods will be identical + for that module. + + + Another example is a virtual table that implements a full-text index. + The xCreate method must create and initialize data structures to hold + the dictionary and posting lists for that index. The xConnect method, + on the other hand, only has to locate and use an existing dictionary + and posting lists that were created by a prior xCreate call. + + + The xConnect method must return SQLITE_OK if it is successful + in creating the new virtual table, or SQLITE_ERROR if it is not + successful. If not successful, the sqlite3_vtab structure must not be + allocated. An error message may optionally be returned in *pzErr if + unsuccessful. + Space to hold the error message string must be allocated using + an SQLite memory allocation function like + sqlite3_malloc() or sqlite3_mprintf() as the SQLite core will + attempt to free the space using sqlite3_free() after the error has + been reported up to the application. + + + The xConnect method is required for every virtual table implementation, + though the xCreate and xConnect pointers of the sqlite3_module object + may point to the same function if the virtual table does not need to + initialize backing store. + + + + The native database connection handle. + + + The original native pointer value that was provided to the + sqlite3_create_module(), sqlite3_create_module_v2() or + sqlite3_create_disposable_module() functions. + + + The number of arguments from the CREATE VIRTUAL TABLE statement. + + + The array of string arguments from the CREATE VIRTUAL TABLE + statement. + + + Upon success, this parameter must be modified to point to the newly + created native sqlite3_vtab derived structure. + + + Upon failure, this parameter must be modified to point to the error + message, with the underlying memory having been obtained from the + sqlite3_malloc() function. + + + A standard SQLite return code. + + + + + + SQLite uses the xBestIndex method of a virtual table module to determine + the best way to access the virtual table. + The xBestIndex method has a prototype like this: + + + int (*xBestIndex)(sqlite3_vtab *pVTab, sqlite3_index_info*); + + + The SQLite core communicates with the xBestIndex method by filling + in certain fields of the sqlite3_index_info structure and passing a + pointer to that structure into xBestIndex as the second parameter. + The xBestIndex method fills out other fields of this structure which + forms the reply. The sqlite3_index_info structure looks like this: + + + struct sqlite3_index_info { + /* Inputs */ + const int nConstraint; /* Number of entries in aConstraint */ + const struct sqlite3_index_constraint { + int iColumn; /* Column constrained. -1 for ROWID */ + unsigned char op; /* Constraint operator */ + unsigned char usable; /* True if this constraint is usable */ + int iTermOffset; /* Used internally - xBestIndex should ignore */ + } *const aConstraint; /* Table of WHERE clause constraints */ + const int nOrderBy; /* Number of terms in the ORDER BY clause */ + const struct sqlite3_index_orderby { + int iColumn; /* Column number */ + unsigned char desc; /* True for DESC. False for ASC. */ + } *const aOrderBy; /* The ORDER BY clause */ + /* Outputs */ + struct sqlite3_index_constraint_usage { + int argvIndex; /* if >0, constraint is part of argv to xFilter */ + unsigned char omit; /* Do not code a test for this constraint */ + } *const aConstraintUsage; + int idxNum; /* Number used to identify the index */ + char *idxStr; /* String, possibly obtained from sqlite3_malloc */ + int needToFreeIdxStr; /* Free idxStr using sqlite3_free() if true */ + int orderByConsumed; /* True if output is already ordered */ + double estimatedCost; /* Estimated cost of using this index */ + ]]>/* Fields below are only available in SQLite 3.8.2 and later */]]> + sqlite3_int64 estimatedRows; /* Estimated number of rows returned */ + ]]>/* Fields below are only available in SQLite 3.9.0 and later */]]> + int idxFlags; /* Mask of SQLITE_INDEX_SCAN_* flags */ + ]]>/* Fields below are only available in SQLite 3.10.0 and later */]]> + sqlite3_uint64 colUsed; /* Input: Mask of columns used by statement */ + }; + + + Note the warnings on the "estimatedRows", "idxFlags", and colUsed fields. + These fields were added with SQLite versions 3.8.2, 3.9.0, and 3.10.0, respectively. + Any extension that reads or writes these fields must first check that the + version of the SQLite library in use is greater than or equal to appropriate + version - perhaps comparing the value returned from sqlite3_libversion_number() + against constants 3008002, 3009000, and/or 3010000. The result of attempting + to access these fields in an sqlite3_index_info structure created by an + older version of SQLite are undefined. + + + In addition, there are some defined constants: + + + #define SQLITE_INDEX_CONSTRAINT_EQ 2 + #define SQLITE_INDEX_CONSTRAINT_GT 4 + #define SQLITE_INDEX_CONSTRAINT_LE 8 + #define SQLITE_INDEX_CONSTRAINT_LT 16 + #define SQLITE_INDEX_CONSTRAINT_GE 32 + #define SQLITE_INDEX_CONSTRAINT_MATCH 64 + #define SQLITE_INDEX_CONSTRAINT_LIKE 65 /* 3.10.0 and later */ + #define SQLITE_INDEX_CONSTRAINT_GLOB 66 /* 3.10.0 and later */ + #define SQLITE_INDEX_CONSTRAINT_REGEXP 67 /* 3.10.0 and later */ + #define SQLITE_INDEX_CONSTRAINT_NE 68 /* 3.21.0 and later */ + #define SQLITE_INDEX_CONSTRAINT_ISNOT 69 /* 3.21.0 and later */ + #define SQLITE_INDEX_CONSTRAINT_ISNOTNULL 70 /* 3.21.0 and later */ + #define SQLITE_INDEX_CONSTRAINT_ISNULL 71 /* 3.21.0 and later */ + #define SQLITE_INDEX_CONSTRAINT_IS 72 /* 3.21.0 and later */ + #define SQLITE_INDEX_CONSTRAINT_FUNCTION 150 /* 3.25.0 and later */ + #define SQLITE_INDEX_SCAN_UNIQUE 1 /* Scan visits at most 1 row */ + + + The SQLite core calls the xBestIndex method when it is compiling a query + that involves a virtual table. In other words, SQLite calls this method + when it is running sqlite3_prepare() or the equivalent. + By calling this method, the + SQLite core is saying to the virtual table that it needs to access + some subset of the rows in the virtual table and it wants to know the + most efficient way to do that access. The xBestIndex method replies + with information that the SQLite core can then use to conduct an + efficient search of the virtual table. + + + While compiling a single SQL query, the SQLite core might call + xBestIndex multiple times with different settings in sqlite3_index_info. + The SQLite core will then select the combination that appears to + give the best performance. + + + Before calling this method, the SQLite core initializes an instance + of the sqlite3_index_info structure with information about the + query that it is currently trying to process. This information + derives mainly from the WHERE clause and ORDER BY or GROUP BY clauses + of the query, but also from any ON or USING clauses if the query is a + join. The information that the SQLite core provides to the xBestIndex + method is held in the part of the structure that is marked as "Inputs". + The "Outputs" section is initialized to zero. + + + The information in the sqlite3_index_info structure is ephemeral + and may be overwritten or deallocated as soon as the xBestIndex method + returns. If the xBestIndex method needs to remember any part of the + sqlite3_index_info structure, it should make a copy. Care must be + take to store the copy in a place where it will be deallocated, such + as in the idxStr field with needToFreeIdxStr set to 1. + + + Note that xBestIndex will always be called before xFilter, since + the idxNum and idxStr outputs from xBestIndex are required inputs to + xFilter. However, there is no guarantee that xFilter will be called + following a successful xBestIndex. + + + The xBestIndex method is required for every virtual table implementation. + + + The main thing that the SQLite core is trying to communicate to + the virtual table is the constraints that are available to limit + the number of rows that need to be searched. The aConstraint[] array + contains one entry for each constraint. There will be exactly + nConstraint entries in that array. + + + Each constraint will usually correspond to a term in the WHERE clause + or in a USING or ON clause that is of the form + + + column OP EXPR + + + Where "column" is a column in the virtual table, OP is an operator + like "=" or "<", and EXPR is an arbitrary expression. So, for example, + if the WHERE clause contained a term like this: + + + a = 5 + + + Then one of the constraints would be on the "a" column with + operator "=" and an expression of "5". Constraints need not have a + literal representation of the WHERE clause. The query optimizer might + make transformations to the + WHERE clause in order to extract as many constraints + as it can. So, for example, if the WHERE clause contained something + like this: + + + x BETWEEN 10 AND 100 AND 999>y + + + The query optimizer might translate this into three separate constraints: + + + x >= 10 + x <= 100 + y < 999 + + + For each such constraint, the aConstraint[].iColumn field indicates which + column appears on the left-hand side of the constraint. + The first column of the virtual table is column 0. + The rowid of the virtual table is column -1. + The aConstraint[].op field indicates which operator is used. + The SQLITE_INDEX_CONSTRAINT_* constants map integer constants + into operator values. + Columns occur in the order they were defined by the call to + sqlite3_declare_vtab() in the xCreate or xConnect method. + Hidden columns are counted when determining the column index. + + + If the xFindFunction() method for the virtual table is defined, and + if xFindFunction() sometimes returns SQLITE_INDEX_CONSTRAINT_FUNCTION or + larger, then the constraints might also be of the form: + + + FUNCTION( column, EXPR) + + + In this case the aConstraint[].op value is the same as the value + returned by xFindFunction() for FUNCTION. + + + The aConstraint[] array contains information about all constraints + that apply to the virtual table. But some of the constraints might + not be usable because of the way tables are ordered in a join. + The xBestIndex method must therefore only consider constraints + that have an aConstraint[].usable flag which is true. + + + In addition to WHERE clause constraints, the SQLite core also + tells the xBestIndex method about the ORDER BY clause. + (In an aggregate query, the SQLite core might put in GROUP BY clause + information in place of the ORDER BY clause information, but this fact + should not make any difference to the xBestIndex method.) + If all terms of the ORDER BY clause are columns in the virtual table, + then nOrderBy will be the number of terms in the ORDER BY clause + and the aOrderBy[] array will identify the column for each term + in the order by clause and whether or not that column is ASC or DESC. + + + In SQLite version 3.10.0 (2016-01-06) and later, + the colUsed field is available + to indicate which fields of the virtual table are actually used by the + statement being prepared. If the lowest bit of colUsed is set, that + means that the first column is used. The second lowest bit corresponds + to the second column. And so forth. If the most significant bit of + colUsed is set, that means that one or more columns other than the + first 63 columns are used. If column usage information is needed by the + xFilter method, then the required bits must be encoded into either + the idxNum or idxStr output fields. + + + Given all of the information above, the job of the xBestIndex + method it to figure out the best way to search the virtual table. + + + The xBestIndex method fills the idxNum and idxStr fields with + information that communicates an indexing strategy to the xFilter + method. The information in idxNum and idxStr is arbitrary as far + as the SQLite core is concerned. The SQLite core just copies the + information through to the xFilter method. Any desired meaning can + be assigned to idxNum and idxStr as long as xBestIndex and xFilter + agree on what that meaning is. + + + The idxStr value may be a string obtained from an SQLite + memory allocation function such as sqlite3_mprintf(). + If this is the case, then the needToFreeIdxStr flag must be set to + true so that the SQLite core will know to call sqlite3_free() on + that string when it has finished with it, and thus avoid a memory leak. + The idxStr value may also be a static constant string, in which case + the needToFreeIdxStr boolean should remain false. + + + If the virtual table will output rows in the order specified by + the ORDER BY clause, then the orderByConsumed flag may be set to + true. If the output is not automatically in the correct order + then orderByConsumed must be left in its default false setting. + This will indicate to the SQLite core that it will need to do a + separate sorting pass over the data after it comes out of the virtual table. + + + The estimatedCost field should be set to the estimated number + of disk access operations required to execute this query against + the virtual table. The SQLite core will often call xBestIndex + multiple times with different constraints, obtain multiple cost + estimates, then choose the query plan that gives the lowest estimate. + The SQLite core initializes estimatedCost to a very large value + prior to invoking xBestIndex, so if xBestIndex determines that the + current combination of parameters is undesirable, it can leave the + estimatedCost field unchanged to discourage its use. + + + If the current version of SQLite is 3.8.2 or greater, the estimatedRows + field may be set to an estimate of the number of rows returned by the + proposed query plan. If this value is not explicitly set, the default + estimate of 25 rows is used. + + + If the current version of SQLite is 3.9.0 or greater, the idxFlags field + may be set to SQLITE_INDEX_SCAN_UNIQUE to indicate that the virtual table + will return only zero or one rows given the input constraints. Additional + bits of the idxFlags field might be understood in later versions of SQLite. + + + The aConstraintUsage[] array contains one element for each of + the nConstraint constraints in the inputs section of the + sqlite3_index_info structure. + The aConstraintUsage[] array is used by xBestIndex to tell the + core how it is using the constraints. + + + The xBestIndex method may set aConstraintUsage[].argvIndex + entries to values greater than zero. + Exactly one entry should be set to 1, another to 2, another to 3, + and so forth up to as many or as few as the xBestIndex method wants. + The EXPR of the corresponding constraints will then be passed + in as the argv[] parameters to xFilter. + + + For example, if the aConstraint[3].argvIndex is set to 1, then + when xFilter is called, the argv[0] passed to xFilter will have + the EXPR value of the aConstraint[3] constraint. + + + By default, the SQLite core double checks all constraints on + each row of the virtual table that it receives. If such a check + is redundant, the xBestFilter method can suppress that double-check by + setting aConstraintUsage[].omit. + + + The xBestIndex method should return SQLITE_OK on success. If any + kind of fatal error occurs, an appropriate error code (ex: SQLITE_NOMEM) + should be returned instead. + + + If xBestIndex returns SQLITE_CONSTRAINT, that does not indicate an + error. Rather, SQLITE_CONSTRAINT indicates that the particular combination + of input parameters specified should not be used in the query plan. + The SQLITE_CONSTRAINT return is useful for table-valued functions that + have required parameters. If the aConstraint[].usable field is false + for one of the required parameter, then the xBestIndex method should + return SQLITE_CONSTRAINT. + + + The following example will better illustrate the use of SQLITE_CONSTRAINT + as a return value from xBestIndex: + + + SELECT * FROM realtab, tablevaluedfunc(realtab.x); + + + Assuming that the first hidden column of "tablevaluedfunc" is "param1", + the query above is semantically equivalent to this: + + + SELECT * FROM realtab, tablevaluedfunc + WHERE tablevaluedfunc.param1 = realtab.x; + + + The query planner must decide between many possible implementations + of this query, but two plans in particular are of note: + + ]]> + ]]>Scan all + rows of realtab and for each row, find rows in tablevaluedfunc where + param1 is equal to realtab.x + ]]>]]>Scan all rows of tablevalued func and for each row find rows + in realtab where x is equal to tablevaluedfunc.param1. + ]]>]]> + + The xBestIndex method will be invoked once for each of the potential + plans above. For plan 1, the aConstraint[].usable flag for for the + SQLITE_CONSTRAINT_EQ constraint on the param1 column will be true because + the right-hand side value for the "param1 = ?" constraint will be known, + since it is determined by the outer realtab loop. + But for plan 2, the aConstraint[].usable flag for "param1 = ?" will be false + because the right-hand side value is determined by an inner loop and is thus + an unknown quantity. Because param1 is a required input to the table-valued + functions, the xBestIndex method should return SQLITE_CONSTRAINT when presented + with plan 2, indicating that a required input is missing. This forces the + query planner to select plan 1. + + + + The native pointer to the sqlite3_vtab derived structure. + + + The native pointer to the sqlite3_index_info structure. + + + A standard SQLite return code. + + + + + + int (*xDisconnect)(sqlite3_vtab *pVTab); + + + This method releases a connection to a virtual table. + Only the sqlite3_vtab object is destroyed. + The virtual table is not destroyed and any backing store + associated with the virtual table persists. + + This method undoes the work of xConnect. + + This method is a destructor for a connection to the virtual table. + Contrast this method with xDestroy. The xDestroy is a destructor + for the entire virtual table. + + + The xDisconnect method is required for every virtual table implementation, + though it is acceptable for the xDisconnect and xDestroy methods to be + the same function if that makes sense for the particular virtual table. + + + + The native pointer to the sqlite3_vtab derived structure. + + + A standard SQLite return code. + + + + + + int (*xDestroy)(sqlite3_vtab *pVTab); + + + This method releases a connection to a virtual table, just like + the xDisconnect method, and it also destroys the underlying + table implementation. This method undoes the work of xCreate. + + + The xDisconnect method is called whenever a database connection + that uses a virtual table is closed. The xDestroy method is only + called when a DROP TABLE statement is executed against the virtual table. + + + The xDestroy method is required for every virtual table implementation, + though it is acceptable for the xDisconnect and xDestroy methods to be + the same function if that makes sense for the particular virtual table. + + + + The native pointer to the sqlite3_vtab derived structure. + + + A standard SQLite return code. + + + + + + int (*xOpen)(sqlite3_vtab *pVTab, sqlite3_vtab_cursor **ppCursor); + + + The xOpen method creates a new cursor used for accessing (read and/or + writing) a virtual table. A successful invocation of this method + will allocate the memory for the sqlite3_vtab_cursor (or a subclass), + initialize the new object, and make *ppCursor point to the new object. + The successful call then returns SQLITE_OK. + + + For every successful call to this method, the SQLite core will + later invoke the xClose method to destroy + the allocated cursor. + + + The xOpen method need not initialize the pVtab field of the + sqlite3_vtab_cursor structure. The SQLite core will take care + of that chore automatically. + + + A virtual table implementation must be able to support an arbitrary + number of simultaneously open cursors. + + + When initially opened, the cursor is in an undefined state. + The SQLite core will invoke the xFilter method + on the cursor prior to any attempt to position or read from the cursor. + + + The xOpen method is required for every virtual table implementation. + + + + The native pointer to the sqlite3_vtab derived structure. + + + Upon success, this parameter must be modified to point to the newly + created native sqlite3_vtab_cursor derived structure. + + + A standard SQLite return code. + + + + + + int (*xClose)(sqlite3_vtab_cursor*); + + + The xClose method closes a cursor previously opened by + xOpen. + The SQLite core will always call xClose once for each cursor opened + using xOpen. + + + This method must release all resources allocated by the + corresponding xOpen call. The routine will not be called again even if it + returns an error. The SQLite core will not use the + sqlite3_vtab_cursor again after it has been closed. + + + The xClose method is required for every virtual table implementation. + + + + The native pointer to the sqlite3_vtab_cursor derived structure. + + + A standard SQLite return code. + + + + + + int (*xFilter)(sqlite3_vtab_cursor*, int idxNum, const char *idxStr, + int argc, sqlite3_value **argv); + + + This method begins a search of a virtual table. + The first argument is a cursor opened by xOpen. + The next two arguments define a particular search index previously + chosen by xBestIndex. The specific meanings of idxNum and idxStr + are unimportant as long as xFilter and xBestIndex agree on what + that meaning is. + + + The xBestIndex function may have requested the values of + certain expressions using the aConstraintUsage[].argvIndex values + of the sqlite3_index_info structure. + Those values are passed to xFilter using the argc and argv parameters. + + + If the virtual table contains one or more rows that match the + search criteria, then the cursor must be left point at the first row. + Subsequent calls to xEof must return false (zero). + If there are no rows match, then the cursor must be left in a state + that will cause the xEof to return true (non-zero). + The SQLite engine will use + the xColumn and xRowid methods to access that row content. + The xNext method will be used to advance to the next row. + + + This method must return SQLITE_OK if successful, or an sqlite + error code if an error occurs. + + + The xFilter method is required for every virtual table implementation. + + + + The native pointer to the sqlite3_vtab_cursor derived structure. + + + Number used to help identify the selected index. + + + The native pointer to the UTF-8 encoded string containing the + string used to help identify the selected index. + + + The number of native pointers to sqlite3_value structures specified + in . + + + An array of native pointers to sqlite3_value structures containing + filtering criteria for the selected index. + + + A standard SQLite return code. + + + + + + int (*xNext)(sqlite3_vtab_cursor*); + + + The xNext method advances a virtual table cursor + to the next row of a result set initiated by xFilter. + If the cursor is already pointing at the last row when this + routine is called, then the cursor no longer points to valid + data and a subsequent call to the xEof method must return true (non-zero). + If the cursor is successfully advanced to another row of content, then + subsequent calls to xEof must return false (zero). + + + This method must return SQLITE_OK if successful, or an sqlite + error code if an error occurs. + + + The xNext method is required for every virtual table implementation. + + + + The native pointer to the sqlite3_vtab_cursor derived structure. + + + A standard SQLite return code. + + + + + + int (*xEof)(sqlite3_vtab_cursor*); + + + The xEof method must return false (zero) if the specified cursor + currently points to a valid row of data, or true (non-zero) otherwise. + This method is called by the SQL engine immediately after each + xFilter and xNext invocation. + + + The xEof method is required for every virtual table implementation. + + + + The native pointer to the sqlite3_vtab_cursor derived structure. + + + Non-zero if no more rows are available; zero otherwise. + + + + + + int (*xColumn)(sqlite3_vtab_cursor*, sqlite3_context*, int N); + + + The SQLite core invokes this method in order to find the value for + the N-th column of the current row. N is zero-based so the first column + is numbered 0. + The xColumn method may return its result back to SQLite using one of the + following interface: + + + ]]> + ]]> sqlite3_result_blob() + ]]>]]> sqlite3_result_double() + ]]>]]> sqlite3_result_int() + ]]>]]> sqlite3_result_int64() + ]]>]]> sqlite3_result_null() + ]]>]]> sqlite3_result_text() + ]]>]]> sqlite3_result_text16() + ]]>]]> sqlite3_result_text16le() + ]]>]]> sqlite3_result_text16be() + ]]>]]> sqlite3_result_zeroblob() + ]]>]]> + + + If the xColumn method implementation calls none of the functions above, + then the value of the column defaults to an SQL NULL. + + + To raise an error, the xColumn method should use one of the result_text() + methods to set the error message text, then return an appropriate + error code. The xColumn method must return SQLITE_OK on success. + + + The xColumn method is required for every virtual table implementation. + + + + The native pointer to the sqlite3_vtab_cursor derived structure. + + + The native pointer to the sqlite3_context structure to be used + for returning the specified column value to the SQLite core + library. + + + The zero-based index corresponding to the column containing the + value to be returned. + + + A standard SQLite return code. + + + + + + int (*xRowid)(sqlite3_vtab_cursor *pCur, sqlite_int64 *pRowid); + + + A successful invocation of this method will cause *pRowid to be + filled with the rowid of row that the + virtual table cursor pCur is currently pointing at. + This method returns SQLITE_OK on success. + It returns an appropriate error code on failure. + + + The xRowid method is required for every virtual table implementation. + + + + The native pointer to the sqlite3_vtab_cursor derived structure. + + + Upon success, this parameter must be modified to contain the unique + integer row identifier for the current row for the specified cursor. + + + A standard SQLite return code. + + + + + + int (*xUpdate)( + sqlite3_vtab *pVTab, + int argc, + sqlite3_value **argv, + sqlite_int64 *pRowid + ); + + + All changes to a virtual table are made using the xUpdate method. + This one method can be used to insert, delete, or update. + + + The argc parameter specifies the number of entries in the argv array. + The value of argc will be 1 for a pure delete operation or N+2 for an insert + or replace or update where N is the number of columns in the table. + In the previous sentence, N includes any hidden columns. + + + Every argv entry will have a non-NULL value in C but may contain the + SQL value NULL. In other words, it is always true that + ]]>argv[i]!=0]]> for ]]>i]]> between 0 and ]]>argc-1]]>. + However, it might be the case that + ]]>sqlite3_value_type(argv[i])==SQLITE_NULL]]>. + + + The argv[0] parameter is the rowid of a row in the virtual table + to be deleted. If argv[0] is an SQL NULL, then no deletion occurs. + + + The argv[1] parameter is the rowid of a new row to be inserted + into the virtual table. If argv[1] is an SQL NULL, then the implementation + must choose a rowid for the newly inserted row. Subsequent argv[] + entries contain values of the columns of the virtual table, in the + order that the columns were declared. The number of columns will + match the table declaration that the xConnect or xCreate method made + using the sqlite3_declare_vtab() call. All hidden columns are included. + + + When doing an insert without a rowid (argc>1, argv[1] is an SQL NULL), + on a virtual table that uses ROWID (but not on a WITHOUT ROWID virtual table), + the implementation must set *pRowid to the rowid of the newly inserted row; + this will become the value returned by the sqlite3_last_insert_rowid() + function. Setting this value in all the other cases is a harmless no-op; + the SQLite engine ignores the *pRowid return value if argc==1 or + argv[1] is not an SQL NULL. + + + Each call to xUpdate will fall into one of cases shown below. + Not that references to ]]>argv[i]]]> mean the SQL value + held within the argv[i] object, not the argv[i] + object itself. + + + ]]> + ]]>]]>argc = 1 ]]> argv[0] ≠ NULL]]> + ]]>]]> + DELETE: The single row with rowid or PRIMARY KEY equal to argv[0] is deleted. + No insert occurs. + ]]>]]>]]>argc > 1 ]]> argv[0] = NULL]]> + ]]>]]> + INSERT: A new row is inserted with column values taken from + argv[2] and following. In a rowid virtual table, if argv[1] is an SQL NULL, + then a new unique rowid is generated automatically. The argv[1] will be NULL + for a WITHOUT ROWID virtual table, in which case the implementation should + take the PRIMARY KEY value from the appropriate column in argv[2] and following. + ]]>]]>]]>argc > 1 ]]> argv[0] ≠ NULL ]]> argv[0] = argv[1]]]> + ]]>]]> + UPDATE: + The row with rowid or PRIMARY KEY argv[0] is updated with new values + in argv[2] and following parameters. + ]]>]]>]]>argc > 1 ]]> argv[0] ≠ NULL ]]> argv[0] ≠ argv[1]]]> + ]]>]]> + UPDATE with rowid or PRIMARY KEY change: + The row with rowid or PRIMARY KEY argv[0] is updated with + the rowid or PRIMARY KEY in argv[1] + and new values in argv[2] and following parameters. This will occur + when an SQL statement updates a rowid, as in the statement: + + UPDATE table SET rowid=rowid+1 WHERE ...; + + ]]>]]> + + + The xUpdate method must return SQLITE_OK if and only if it is + successful. If a failure occurs, the xUpdate must return an appropriate + error code. On a failure, the pVTab->zErrMsg element may optionally + be replaced with error message text stored in memory allocated from SQLite + using functions such as sqlite3_mprintf() or sqlite3_malloc(). + + + If the xUpdate method violates some constraint of the virtual table + (including, but not limited to, attempting to store a value of the wrong + datatype, attempting to store a value that is too + large or too small, or attempting to change a read-only value) then the + xUpdate must fail with an appropriate error code. + + + If the xUpdate method is performing an UPDATE, then + sqlite3_value_nochange(X) can be used to discover which columns + of the virtual table were actually modified by the UPDATE + statement. The sqlite3_value_nochange(X) interface returns + true for columns that do not change. + On every UPDATE, SQLite will first invoke + xColumn separately for each unchanging column in the table to + obtain the value for that column. The xColumn method can + check to see if the column is unchanged at the SQL level + by invoking sqlite3_vtab_nochange(). If xColumn sees that + the column is not being modified, it should return without setting + a result using one of the sqlite3_result_xxxxx() + interfaces. Only in that case sqlite3_value_nochange() will be + true within the xUpdate method. If xColumn does + invoke one or more sqlite3_result_xxxxx() + interfaces, then SQLite understands that as a change in the value + of the column and the sqlite3_value_nochange() call for that + column within xUpdate will return false. + + + There might be one or more sqlite3_vtab_cursor objects open and in use + on the virtual table instance and perhaps even on the row of the virtual + table when the xUpdate method is invoked. The implementation of + xUpdate must be prepared for attempts to delete or modify rows of the table + out from other existing cursors. If the virtual table cannot accommodate + such changes, the xUpdate method must return an error code. + + + The xUpdate method is optional. + If the xUpdate pointer in the sqlite3_module for a virtual table + is a NULL pointer, then the virtual table is read-only. + + + + The native pointer to the sqlite3_vtab derived structure. + + + The number of new or modified column values contained in + . + + + The array of native pointers to sqlite3_value structures containing + the new or modified column values, if any. + + + Upon success, this parameter must be modified to contain the unique + integer row identifier for the row that was inserted, if any. + + + A standard SQLite return code. + + + + + + int (*xBegin)(sqlite3_vtab *pVTab); + + + This method begins a transaction on a virtual table. + This is method is optional. The xBegin pointer of sqlite3_module + may be NULL. + + + This method is always followed by one call to either the + xCommit or xRollback method. Virtual table transactions do + not nest, so the xBegin method will not be invoked more than once + on a single virtual table + without an intervening call to either xCommit or xRollback. + Multiple calls to other methods can and likely will occur in between + the xBegin and the corresponding xCommit or xRollback. + + + + The native pointer to the sqlite3_vtab derived structure. + + + A standard SQLite return code. + + + + + + int (*xSync)(sqlite3_vtab *pVTab); + + + This method signals the start of a two-phase commit on a virtual + table. + This is method is optional. The xSync pointer of sqlite3_module + may be NULL. + + + This method is only invoked after call to the xBegin method and + prior to an xCommit or xRollback. In order to implement two-phase + commit, the xSync method on all virtual tables is invoked prior to + invoking the xCommit method on any virtual table. If any of the + xSync methods fail, the entire transaction is rolled back. + + + + The native pointer to the sqlite3_vtab derived structure. + + + A standard SQLite return code. + + + + + + int (*xCommit)(sqlite3_vtab *pVTab); + + + This method causes a virtual table transaction to commit. + This is method is optional. The xCommit pointer of sqlite3_module + may be NULL. + + + A call to this method always follows a prior call to xBegin and + xSync. + + + + The native pointer to the sqlite3_vtab derived structure. + + + A standard SQLite return code. + + + + + + int (*xRollback)(sqlite3_vtab *pVTab); + + + This method causes a virtual table transaction to rollback. + This is method is optional. The xRollback pointer of sqlite3_module + may be NULL. + + + A call to this method always follows a prior call to xBegin. + + + + The native pointer to the sqlite3_vtab derived structure. + + + A standard SQLite return code. + + + + + + int (*xFindFunction)( + sqlite3_vtab *pVtab, + int nArg, + const char *zName, + void (**pxFunc)(sqlite3_context*,int,sqlite3_value**), + void **ppArg + ); + + + This method is called during sqlite3_prepare() to give the virtual + table implementation an opportunity to overload functions. + This method may be set to NULL in which case no overloading occurs. + + + When a function uses a column from a virtual table as its first + argument, this method is called to see if the virtual table would + like to overload the function. The first three parameters are inputs: + the virtual table, the number of arguments to the function, and the + name of the function. If no overloading is desired, this method + returns 0. To overload the function, this method writes the new + function implementation into *pxFunc and writes user data into *ppArg + and returns either 1 or a number between + SQLITE_INDEX_CONSTRAINT_FUNCTION and 255. + + + Historically, the return value from xFindFunction() was either zero + or one. Zero means that the function is not overloaded and one means that + it is overload. The ability to return values of + SQLITE_INDEX_CONSTRAINT_FUNCTION or greater was added in + version 3.25.0 (2018-09-15). If xFindFunction returns + SQLITE_INDEX_CONSTRAINT_FUNCTION or greater, than means that the function + takes two arguments and the function + can be used as a boolean in the WHERE clause of a query and that + the virtual table is able to exploit that function to speed up the query + result. When xFindFunction returns SQLITE_INDEX_CONSTRAINT_FUNCTION or + larger, the value returned becomes the sqlite3_index_info.aConstraint.op + value for one of the constraints passed into xBestIndex() and the second + argument becomes the value corresponding to that constraint that is passed + to xFilter(). This enables the + xBestIndex()/xFilter implementations to use the function to speed + its search. + + + The technique of having xFindFunction() return values of + SQLITE_INDEX_CONSTRAINT_FUNCTION was initially used in the implementation + of the Geopoly module. The xFindFunction() method of that module returns + SQLITE_INDEX_CONSTRAINT_FUNCTION for the geopoly_overlap() SQL function + and it returns + SQLITE_INDEX_CONSTRAINT_FUNCTION+1 for the geopoly_within() SQL function. + This permits search optimizations for queries such as: + + + SELECT * FROM geopolytab WHERE geopoly_overlap(_shape, $query_polygon); + + + Note that infix functions (LIKE, GLOB, REGEXP, and MATCH) reverse + the order of their arguments. So "like(A,B)" is equivalent to "B like A". + For the form "B like A" the B term is considered the first argument + to the function. But for "like(A,B)" the A term is considered the + first argument. + + + The function pointer returned by this routine must be valid for + the lifetime of the sqlite3_vtab object given in the first parameter. + + + + The native pointer to the sqlite3_vtab derived structure. + + + The number of arguments to the function being sought. + + + The name of the function being sought. + + + Upon success, this parameter must be modified to contain the + delegate responsible for implementing the specified function. + + + Upon success, this parameter must be modified to contain the + native user-data pointer associated with + . + + + Non-zero if the specified function was found; zero otherwise. + + + + + + int (*xRename)(sqlite3_vtab *pVtab, const char *zNew); + + + This method provides notification that the virtual table implementation + that the virtual table will be given a new name. + If this method returns SQLITE_OK then SQLite renames the table. + If this method returns an error code then the renaming is prevented. + + + The xRename method is optional. If omitted, then the virtual + table may not be renamed using the ALTER TABLE RENAME command. + + + The PRAGMA legacy_alter_table setting is enabled prior to invoking this + method, and the value for legacy_alter_table is restored after this + method finishes. This is necessary for the correct operation of virtual + tables that make use of shadow tables where the shadow tables must be + renamed to match the new virtual table name. If the legacy_alter_format is + off, then the xConnect method will be invoked for the virtual table every + time the xRename method tries to change the name of the shadow table. + + + + The native pointer to the sqlite3_vtab derived structure. + + + The native pointer to the UTF-8 encoded string containing the new + name for the virtual table. + + + A standard SQLite return code. + + + + + + int (*xSavepoint)(sqlite3_vtab *pVtab, int); + int (*xRelease)(sqlite3_vtab *pVtab, int); + int (*xRollbackTo)(sqlite3_vtab *pVtab, int); + + + These methods provide the virtual table implementation an opportunity to + implement nested transactions. They are always optional and will only be + called in SQLite version 3.7.7 (2011-06-23) and later. + + + When xSavepoint(X,N) is invoked, that is a signal to the virtual table X + that it should save its current state as savepoint N. + A subsequent call + to xRollbackTo(X,R) means that the state of the virtual table should return + to what it was when xSavepoint(X,R) was last called. + The call + to xRollbackTo(X,R) will invalidate all savepoints with N>R; none of the + invalided savepoints will be rolled back or released without first + being reinitialized by a call to xSavepoint(). + A call to xRelease(X,M) invalidates all savepoints where N>=M. + + + None of the xSavepoint(), xRelease(), or xRollbackTo() methods will ever + be called except in between calls to xBegin() and + either xCommit() or xRollback(). + + + + The native pointer to the sqlite3_vtab derived structure. + + + This is an integer identifier under which the the current state of + the virtual table should be saved. + + + A standard SQLite return code. + + + + + + int (*xSavepoint)(sqlite3_vtab *pVtab, int); + int (*xRelease)(sqlite3_vtab *pVtab, int); + int (*xRollbackTo)(sqlite3_vtab *pVtab, int); + + + These methods provide the virtual table implementation an opportunity to + implement nested transactions. They are always optional and will only be + called in SQLite version 3.7.7 (2011-06-23) and later. + + + When xSavepoint(X,N) is invoked, that is a signal to the virtual table X + that it should save its current state as savepoint N. + A subsequent call + to xRollbackTo(X,R) means that the state of the virtual table should return + to what it was when xSavepoint(X,R) was last called. + The call + to xRollbackTo(X,R) will invalidate all savepoints with N>R; none of the + invalided savepoints will be rolled back or released without first + being reinitialized by a call to xSavepoint(). + A call to xRelease(X,M) invalidates all savepoints where N>=M. + + + None of the xSavepoint(), xRelease(), or xRollbackTo() methods will ever + be called except in between calls to xBegin() and + either xCommit() or xRollback(). + + + + The native pointer to the sqlite3_vtab derived structure. + + + This is an integer used to indicate that any saved states with an + identifier greater than or equal to this should be deleted by the + virtual table. + + + A standard SQLite return code. + + + + + + int (*xSavepoint)(sqlite3_vtab *pVtab, int); + int (*xRelease)(sqlite3_vtab *pVtab, int); + int (*xRollbackTo)(sqlite3_vtab *pVtab, int); + + + These methods provide the virtual table implementation an opportunity to + implement nested transactions. They are always optional and will only be + called in SQLite version 3.7.7 (2011-06-23) and later. + + + When xSavepoint(X,N) is invoked, that is a signal to the virtual table X + that it should save its current state as savepoint N. + A subsequent call + to xRollbackTo(X,R) means that the state of the virtual table should return + to what it was when xSavepoint(X,R) was last called. + The call + to xRollbackTo(X,R) will invalidate all savepoints with N>R; none of the + invalided savepoints will be rolled back or released without first + being reinitialized by a call to xSavepoint(). + A call to xRelease(X,M) invalidates all savepoints where N>=M. + + + None of the xSavepoint(), xRelease(), or xRollbackTo() methods will ever + be called except in between calls to xBegin() and + either xCommit() or xRollback(). + + + + The native pointer to the sqlite3_vtab derived structure. + + + This is an integer identifier used to specify a specific saved + state for the virtual table for it to restore itself back to, which + should also have the effect of deleting all saved states with an + integer identifier greater than this one. + + + A standard SQLite return code. + + + + + This class represents a context from the SQLite core library that can + be passed to the sqlite3_result_*() and associated functions. + + + + + This interface represents a native handle provided by the SQLite core + library. + + + + + The native handle value. + + + + + The native context handle. + + + + + Constructs an instance of this class using the specified native + context handle. + + + The native context handle to use. + + + + + Sets the context result to NULL. + + + + + Sets the context result to the specified + value. + + + The value to use. + + + + + Sets the context result to the specified + value. + + + The value to use. + + + + + Sets the context result to the specified + value. + + + The value to use. + + + + + Sets the context result to the specified + value. + + + The value to use. This value will be + converted to the UTF-8 encoding prior to being used. + + + + + Sets the context result to the specified + value containing an error message. + + + The value containing the error message text. + This value will be converted to the UTF-8 encoding prior to being + used. + + + + + Sets the context result to the specified + value. + + + The value to use. + + + + + Sets the context result to contain the error code SQLITE_TOOBIG. + + + + + Sets the context result to contain the error code SQLITE_NOMEM. + + + + + Sets the context result to the specified array + value. + + + The array value to use. + + + + + Sets the context result to a BLOB of zeros of the specified size. + + + The number of zero bytes to use for the BLOB context result. + + + + + Sets the context result to the specified . + + + The to use. + + + + + Returns the underlying SQLite native handle associated with this + object instance. + + + + + This class represents a value from the SQLite core library that can be + passed to the sqlite3_value_*() and associated functions. + + + + + The native value handle. + + + + + Constructs an instance of this class using the specified native + value handle. + + + The native value handle to use. + + + + + Invalidates the native value handle, thereby preventing further + access to it from this object instance. + + + + + Converts a native pointer to a native sqlite3_value structure into + a managed object instance. + + + The native pointer to a native sqlite3_value structure to convert. + + + The managed object instance or null upon + failure. + + + + + Converts a logical array of native pointers to native sqlite3_value + structures into a managed array of + object instances. + + + The number of elements in the logical array of native sqlite3_value + structures. + + + The native pointer to the logical array of native sqlite3_value + structures to convert. + + + The managed array of object instances or + null upon failure. + + + + + Gets and returns the type affinity associated with this value. + + + The type affinity associated with this value. + + + + + Gets and returns the number of bytes associated with this value, if + it refers to a UTF-8 encoded string. + + + The number of bytes associated with this value. The returned value + may be zero. + + + + + Gets and returns the associated with this + value. + + + The associated with this value. + + + + + Gets and returns the associated with + this value. + + + The associated with this value. + + + + + Gets and returns the associated with this + value. + + + The associated with this value. + + + + + Gets and returns the associated with this + value. + + + The associated with this value. The value is + converted from the UTF-8 encoding prior to being returned. + + + + + Gets and returns the array associated with this + value. + + + The array associated with this value. + + + + + Gets and returns an instance associated with + this value. + + + The associated with this value. If the type + affinity of the object is unknown or cannot be determined, a null + value will be returned. + + + + + Uses the native value handle to obtain and store the managed value + for this object instance, thus saving it for later use. The type + of the managed value is determined by the type affinity of the + native value. If the type affinity is not recognized by this + method, no work is done and false is returned. + + + Non-zero if the native value was persisted successfully. + + + + + Returns the underlying SQLite native handle associated with this + object instance. + + + + + Returns non-zero if the native SQLite value has been successfully + persisted as a managed value within this object instance (i.e. the + property may then be read successfully). + + + + + If the managed value for this object instance is available (i.e. it + has been previously persisted via the ) method, + that value is returned; otherwise, an exception is thrown. The + returned value may be null. + + + + + These are the allowed values for the operators that are part of a + constraint term in the WHERE clause of a query that uses a virtual + table. + + + + + This value represents the equality operator. + + + + + This value represents the greater than operator. + + + + + This value represents the less than or equal to operator. + + + + + This value represents the less than operator. + + + + + This value represents the greater than or equal to operator. + + + + + This value represents the MATCH operator. + + + + + This value represents the LIKE operator. + + + + + This value represents the GLOB operator. + + + + + This value represents the REGEXP operator. + + + + + This value represents the inequality operator. + + + + + This value represents the IS NOT operator. + + + + + This value represents the IS NOT NULL operator. + + + + + This value represents the IS NULL operator. + + + + + This value represents the IS operator. + + + + + These are the allowed values for the index flags from the + method. + + + + + No special handling. This is the default. + + + + + This value indicates that the scan of the index will visit at + most one row. + + + + + This class represents the native sqlite3_index_constraint structure + from the SQLite core library. + + + + + Constructs an instance of this class using the specified native + sqlite3_index_constraint structure. + + + The native sqlite3_index_constraint structure to use. + + + + + Constructs an instance of this class using the specified field + values. + + + Column on left-hand side of constraint. + + + Constraint operator (). + + + True if this constraint is usable. + + + Used internally - + should ignore. + + + + + Column on left-hand side of constraint. + + + + + Constraint operator (). + + + + + True if this constraint is usable. + + + + + Used internally - + should ignore. + + + + + This class represents the native sqlite3_index_orderby structure from + the SQLite core library. + + + + + Constructs an instance of this class using the specified native + sqlite3_index_orderby structure. + + + The native sqlite3_index_orderby structure to use. + + + + + Constructs an instance of this class using the specified field + values. + + + Column number. + + + True for DESC. False for ASC. + + + + + Column number. + + + + + True for DESC. False for ASC. + + + + + This class represents the native sqlite3_index_constraint_usage + structure from the SQLite core library. + + + + + Constructs a default instance of this class. + + + + + Constructs an instance of this class using the specified native + sqlite3_index_constraint_usage structure. + + + The native sqlite3_index_constraint_usage structure to use. + + + + + Constructs an instance of this class using the specified field + values. + + + If greater than 0, constraint is part of argv to xFilter. + + + Do not code a test for this constraint. + + + + + If greater than 0, constraint is part of argv to xFilter. + + + + + Do not code a test for this constraint. + + + + + This class represents the various inputs provided by the SQLite core + library to the method. + + + + + Constructs an instance of this class. + + + The number of instances to + pre-allocate space for. + + + The number of instances to + pre-allocate space for. + + + + + An array of object instances, + each containing information supplied by the SQLite core library. + + + + + An array of object instances, + each containing information supplied by the SQLite core library. + + + + + This class represents the various outputs provided to the SQLite core + library by the method. + + + + + Constructs an instance of this class. + + + The number of instances + to pre-allocate space for. + + + + + Determines if the native estimatedRows field can be used, based on + the available version of the SQLite core library. + + + Non-zero if the property is supported + by the SQLite core library. + + + + + Determines if the native flags field can be used, based on the + available version of the SQLite core library. + + + Non-zero if the property is supported by + the SQLite core library. + + + + + Determines if the native flags field can be used, based on the + available version of the SQLite core library. + + + Non-zero if the property is supported by + the SQLite core library. + + + + + An array of object + instances, each containing information to be supplied to the SQLite + core library. + + + + + Number used to help identify the selected index. This value will + later be provided to the + method. + + + + + String used to help identify the selected index. This value will + later be provided to the + method. + + + + + Non-zero if the index string must be freed by the SQLite core + library. + + + + + True if output is already ordered. + + + + + Estimated cost of using this index. Using a null value here + indicates that a default estimated cost value should be used. + + + + + Estimated number of rows returned. Using a null value here + indicates that a default estimated rows value should be used. + This property has no effect if the SQLite core library is not at + least version 3.8.2. + + + + + The flags that should be used with this index. Using a null value + here indicates that a default flags value should be used. This + property has no effect if the SQLite core library is not at least + version 3.9.0. + + + + + + Indicates which columns of the virtual table may be required by the + current scan. Virtual table columns are numbered from zero in the + order in which they appear within the CREATE TABLE statement passed + to sqlite3_declare_vtab(). For the first 63 columns (columns 0-62), + the corresponding bit is set within the bit mask if the column may + be required by SQLite. If the table has at least 64 columns and + any column to the right of the first 63 is required, then bit 63 of + colUsed is also set. In other words, column iCol may be required + if the expression + + + (colUsed & ((sqlite3_uint64)1 << (iCol>=63 ? 63 : iCol))) + + + evaluates to non-zero. Using a null value here indicates that a + default flags value should be used. This property has no effect if + the SQLite core library is not at least version 3.10.0. + + + + + + This class represents the various inputs and outputs used with the + method. + + + + + Constructs an instance of this class. + + + The number of (and + ) instances to + pre-allocate space for. + + + The number of instances to + pre-allocate space for. + + + + + Attempts to determine the structure sizes needed to create and + populate a native + + structure. + + + The size of the native + + structure is stored here. + + + The size of the native + + structure is stored here. + + + The size of the native + + structure is stored here. + + + The size of the native + + structure is stored here. + + + + + Attempts to allocate and initialize a native + + structure. + + + The number of instances to + pre-allocate space for. + + + The number of instances to + pre-allocate space for. + + + The newly allocated native + structure + -OR- if it could not be fully allocated. + + + + + Frees all the memory associated with a native + + structure. + + + The native pointer to the native sqlite3_index_info structure to + free. + + + + + Converts a native pointer to a native sqlite3_index_info structure + into a new object instance. + + + The native pointer to the native sqlite3_index_info structure to + convert. + + + Non-zero to include fields from the outputs portion of the native + structure; otherwise, the "output" fields will not be read. + + + Upon success, this parameter will be modified to contain the newly + created object instance. + + + + + Populates the outputs of a pre-allocated native sqlite3_index_info + structure using an existing object + instance. + + + The existing object instance containing + the output data to use. + + + The native pointer to the pre-allocated native sqlite3_index_info + structure. + + + Non-zero to include fields from the inputs portion of the native + structure; otherwise, the "input" fields will not be written. + + + + + The object instance containing + the inputs to the + method. + + + + + The object instance containing + the outputs from the + method. + + + + + This class represents a managed virtual table implementation. It is + not sealed and should be used as the base class for any user-defined + virtual table classes implemented in managed code. + + + + + The index within the array of strings provided to the + and + methods containing the + name of the module implementing this virtual table. + + + + + The index within the array of strings provided to the + and + methods containing the + name of the database containing this virtual table. + + + + + The index within the array of strings provided to the + and + methods containing the + name of the virtual table. + + + + + Constructs an instance of this class. + + + The original array of strings provided to the + and + methods. + + + + + This method should normally be used by the + method in order to + perform index selection based on the constraints provided by the + SQLite core library. + + + The object instance containing all the + data for the inputs and outputs relating to index selection. + + + Non-zero upon success. + + + + + Attempts to record the renaming of the virtual table associated + with this object instance. + + + The new name for the virtual table. + + + Non-zero upon success. + + + + + Disposes of this object instance. + + + + + Throws an if this object + instance has been disposed. + + + + + Disposes of this object instance. + + + Non-zero if this method is being called from the + method. Zero if this method is being called + from the finalizer. + + + + + Finalizes this object instance. + + + + + The original array of strings provided to the + and + methods. + + + + + The name of the module implementing this virtual table. + + + + + The name of the database containing this virtual table. + + + + + The name of the virtual table. + + + + + The object instance containing all the + data for the inputs and outputs relating to the most recent index + selection. + + + + + Returns the underlying SQLite native handle associated with this + object instance. + + + + + This class represents a managed virtual table cursor implementation. + It is not sealed and should be used as the base class for any + user-defined virtual table cursor classes implemented in managed code. + + + + + This value represents an invalid integer row sequence number. + + + + + The field holds the integer row sequence number for the current row + pointed to by this cursor object instance. + + + + + Constructs an instance of this class. + + + The object instance associated + with this object instance. + + + + + Constructs an instance of this class. + + + + + Attempts to persist the specified object + instances in order to make them available after the + method returns. + + + The array of object instances to be + persisted. + + + The number of object instances that were + successfully persisted. + + + + + This method should normally be used by the + method in order to + perform filtering of the result rows and/or to record the filtering + criteria provided by the SQLite core library. + + + Number used to help identify the selected index. + + + String used to help identify the selected index. + + + The values corresponding to each column in the selected index. + + + + + Determines the integer row sequence number for the current row. + + + The integer row sequence number for the current row -OR- zero if + it cannot be determined. + + + + + Adjusts the integer row sequence number so that it refers to the + next row. + + + + + Disposes of this object instance. + + + + + Throws an if this object + instance has been disposed. + + + + + Disposes of this object instance. + + + Non-zero if this method is being called from the + method. Zero if this method is being called + from the finalizer. + + + + + Finalizes this object instance. + + + + + The object instance associated + with this object instance. + + + + + Number used to help identify the selected index. This value will + be set via the method. + + + + + String used to help identify the selected index. This value will + be set via the method. + + + + + The values used to filter the rows returned via this cursor object + instance. This value will be set via the + method. + + + + + Returns the underlying SQLite native handle associated with this + object instance. + + + + + This interface represents a virtual table implementation written in + managed code. + + + + + This method is called in response to the + method. + + + The object instance associated with + the virtual table. + + + The native user-data pointer associated with this module, as it was + provided to the SQLite core library when the native module instance + was created. + + + The module name, database name, virtual table name, and all other + arguments passed to the CREATE VIRTUAL TABLE statement. + + + Upon success, this parameter must be modified to contain the + object instance associated with + the virtual table. + + + Upon failure, this parameter must be modified to contain an error + message. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated with + the virtual table. + + + The native user-data pointer associated with this module, as it was + provided to the SQLite core library when the native module instance + was created. + + + The module name, database name, virtual table name, and all other + arguments passed to the CREATE VIRTUAL TABLE statement. + + + Upon success, this parameter must be modified to contain the + object instance associated with + the virtual table. + + + Upon failure, this parameter must be modified to contain an error + message. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + The object instance containing all the + data for the inputs and outputs relating to index selection. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + Upon success, this parameter must be modified to contain the + object instance associated + with the newly opened virtual table cursor. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance + associated with the previously opened virtual table cursor to be + used. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance + associated with the previously opened virtual table cursor to be + used. + + + Number used to help identify the selected index. + + + String used to help identify the selected index. + + + The values corresponding to each column in the selected index. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance + associated with the previously opened virtual table cursor to be + used. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance + associated with the previously opened virtual table cursor to be + used. + + + Non-zero if no more rows are available; zero otherwise. + + + + + This method is called in response to the + method. + + + The object instance + associated with the previously opened virtual table cursor to be + used. + + + The object instance to be used for + returning the specified column value to the SQLite core library. + + + The zero-based index corresponding to the column containing the + value to be returned. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance + associated with the previously opened virtual table cursor to be + used. + + + Upon success, this parameter must be modified to contain the unique + integer row identifier for the current row for the specified cursor. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + The array of object instances containing + the new or modified column values, if any. + + + Upon success, this parameter must be modified to contain the unique + integer row identifier for the row that was inserted, if any. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + The number of arguments to the function being sought. + + + The name of the function being sought. + + + Upon success, this parameter must be modified to contain the + object instance responsible for + implementing the specified function. + + + Upon success, this parameter must be modified to contain the + native user-data pointer associated with + . + + + Non-zero if the specified function was found; zero otherwise. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + The new name for the virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + This is an integer identifier under which the the current state of + the virtual table should be saved. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + This is an integer used to indicate that any saved states with an + identifier greater than or equal to this should be deleted by the + virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + This is an integer identifier used to specify a specific saved + state for the virtual table for it to restore itself back to, which + should also have the effect of deleting all saved states with an + integer identifier greater than this one. + + + A standard SQLite return code. + + + + + Returns non-zero if the schema for the virtual table has been + declared. + + + + + Returns the name of the module as it was registered with the SQLite + core library. + + + + + This class contains static methods that are used to allocate, + manipulate, and free native memory provided by the SQLite core library. + + + + + Determines if the native sqlite3_msize() API can be used, based on + the available version of the SQLite core library. + + + Non-zero if the native sqlite3_msize() API is supported by the + SQLite core library. + + + + + Allocates at least the specified number of bytes of native memory + via the SQLite core library sqlite3_malloc() function and returns + the resulting native pointer. If the TRACK_MEMORY_BYTES option + was enabled at compile-time, adjusts the number of bytes currently + allocated by this class. + + + The number of bytes to allocate. + + + The native pointer that points to a block of memory of at least the + specified size -OR- if the memory could + not be allocated. + + + + + Allocates at least the specified number of bytes of native memory + via the SQLite core library sqlite3_malloc64() function and returns + the resulting native pointer. If the TRACK_MEMORY_BYTES option + was enabled at compile-time, adjusts the number of bytes currently + allocated by this class. + + + The number of bytes to allocate. + + + The native pointer that points to a block of memory of at least the + specified size -OR- if the memory could + not be allocated. + + + + + Allocates at least the specified number of bytes of native memory + via the SQLite core library sqlite3_malloc() function and returns + the resulting native pointer without adjusting the number of + allocated bytes currently tracked by this class. This is useful + when dealing with blocks of memory that will be freed directly by + the SQLite core library. + + + The number of bytes to allocate. + + + The native pointer that points to a block of memory of at least the + specified size -OR- if the memory could + not be allocated. + + + + + Allocates at least the specified number of bytes of native memory + via the SQLite core library sqlite3_malloc64() function and returns + the resulting native pointer without adjusting the number of + allocated bytes currently tracked by this class. This is useful + when dealing with blocks of memory that will be freed directly by + the SQLite core library. + + + The number of bytes to allocate. + + + The native pointer that points to a block of memory of at least the + specified size -OR- if the memory could + not be allocated. + + + + + Gets and returns the actual size of the specified memory block + that was previously obtained from the , + , , or + methods or directly from the + SQLite core library. + + + The native pointer to the memory block previously obtained from + the , , + , or + methods or directly from the + SQLite core library. + + + The actual size, in bytes, of the memory block specified via the + native pointer. + + + + + Gets and returns the actual size of the specified memory block + that was previously obtained from the , + , , or + methods or directly from the + SQLite core library. + + + The native pointer to the memory block previously obtained from + the , , + , or + methods or directly from the + SQLite core library. + + + The actual size, in bytes, of the memory block specified via the + native pointer. + + + + + Frees a memory block previously obtained from the + or methods. If + the TRACK_MEMORY_BYTES option was enabled at compile-time, adjusts + the number of bytes currently allocated by this class. + + + The native pointer to the memory block previously obtained from the + or methods. + + + + + Frees a memory block previously obtained from the SQLite core + library without adjusting the number of allocated bytes currently + tracked by this class. This is useful when dealing with blocks of + memory that were not allocated using this class. + + + The native pointer to the memory block previously obtained from the + SQLite core library. + + + + + This class contains static methods that are used to deal with native + UTF-8 string pointers to be used with the SQLite core library. + + + + + This is the maximum possible length for the native UTF-8 encoded + strings used with the SQLite core library. + + + + + This is the object instance used to handle + conversions from/to UTF-8. + + + + + Converts the specified managed string into the UTF-8 encoding and + returns the array of bytes containing its representation in that + encoding. + + + The managed string to convert. + + + The array of bytes containing the representation of the managed + string in the UTF-8 encoding or null upon failure. + + + + + Converts the specified array of bytes representing a string in the + UTF-8 encoding and returns a managed string. + + + The array of bytes to convert. + + + The managed string or null upon failure. + + + + + Probes a native pointer to a string in the UTF-8 encoding for its + terminating NUL character, within the specified length limit. + + + The native NUL-terminated string pointer. + + + The maximum length of the native string, in bytes. + + + The length of the native string, in bytes -OR- zero if the length + could not be determined. + + + + + Converts the specified native NUL-terminated UTF-8 string pointer + into a managed string. + + + The native NUL-terminated UTF-8 string pointer. + + + The managed string or null upon failure. + + + + + Converts the specified native UTF-8 string pointer of the specified + length into a managed string. + + + The native UTF-8 string pointer. + + + The length of the native string, in bytes. + + + The managed string or null upon failure. + + + + + Converts the specified managed string into a native NUL-terminated + UTF-8 string pointer using memory obtained from the SQLite core + library. + + + The managed string to convert. + + + The native NUL-terminated UTF-8 string pointer or + upon failure. + + + + + Converts the specified managed string into a native NUL-terminated + UTF-8 string pointer using memory obtained from the SQLite core + library. + + + The managed string to convert. + + + Non-zero to obtain memory from the SQLite core library without + adjusting the number of allocated bytes currently being tracked + by the class. + + + The native NUL-terminated UTF-8 string pointer or + upon failure. + + + + + Converts the specified managed string into a native NUL-terminated + UTF-8 string pointer using memory obtained from the SQLite core + library. + + + The managed string to convert. + + + The length of the native string, in bytes. + + + The native NUL-terminated UTF-8 string pointer or + upon failure. + + + + + Converts the specified managed string into a native NUL-terminated + UTF-8 string pointer using memory obtained from the SQLite core + library. + + + The managed string to convert. + + + Non-zero to obtain memory from the SQLite core library without + adjusting the number of allocated bytes currently being tracked + by the class. + + + The length of the native string, in bytes. + + + The native NUL-terminated UTF-8 string pointer or + upon failure. + + + + + Converts a logical array of native NUL-terminated UTF-8 string + pointers into an array of managed strings. + + + The number of elements in the logical array of native + NUL-terminated UTF-8 string pointers. + + + The native pointer to the logical array of native NUL-terminated + UTF-8 string pointers to convert. + + + The array of managed strings or null upon failure. + + + + + Converts an array of managed strings into an array of native + NUL-terminated UTF-8 string pointers. + + + The array of managed strings to convert. + + + Non-zero to obtain memory from the SQLite core library without + adjusting the number of allocated bytes currently being tracked + by the class. + + + The array of native NUL-terminated UTF-8 string pointers or null + upon failure. + + + + + This class contains static methods that are used to deal with native + pointers to memory blocks that logically contain arrays of bytes to be + used with the SQLite core library. + + + + + Converts a native pointer to a logical array of bytes of the + specified length into a managed byte array. + + + The native pointer to the logical array of bytes to convert. + + + The length, in bytes, of the logical array of bytes to convert. + + + The managed byte array or null upon failure. + + + + + Converts a managed byte array into a native pointer to a logical + array of bytes. + + + The managed byte array to convert. + + + The native pointer to a logical byte array or null upon failure. + + + + + Converts a managed byte array into a native pointer to a logical + array of bytes. + + + The managed byte array to convert. + + + The length, in bytes, of the converted logical array of bytes. + + + The native pointer to a logical byte array or null upon failure. + + + + + This class contains static methods that are used to perform several + low-level data marshalling tasks between native and managed code. + + + + + Returns a new object instance based on the + specified object instance and an integer + offset. + + + The object instance representing the base + memory location. + + + The integer offset from the base memory location that the new + object instance should point to. + + + The new object instance. + + + + + Rounds up an integer size to the next multiple of the alignment. + + + The size, in bytes, to be rounded up. + + + The required alignment for the return value. + + + The size, in bytes, rounded up to the next multiple of the + alignment. This value may end up being the same as the original + size. + + + + + Determines the offset, in bytes, of the next structure member. + + + The offset, in bytes, of the current structure member. + + + The size, in bytes, of the current structure member. + + + The alignment, in bytes, of the next structure member. + + + The offset, in bytes, of the next structure member. + + + + + Reads a value from the specified memory + location. + + + The object instance representing the base + memory location. + + + The integer offset from the base memory location where the + value to be read is located. + + + The value at the specified memory location. + + + + + Reads a value from the specified memory + location. + + + The object instance representing the base + memory location. + + + The integer offset from the base memory location where the + value to be read is located. + + + The value at the specified memory location. + + + + + Reads a value from the specified memory + location. + + + The object instance representing the base + memory location. + + + The integer offset from the base memory location where the + to be read is located. + + + The value at the specified memory location. + + + + + Reads an value from the specified memory + location. + + + The object instance representing the base + memory location. + + + The integer offset from the base memory location where the + value to be read is located. + + + The value at the specified memory location. + + + + + Writes an value to the specified memory + location. + + + The object instance representing the base + memory location. + + + The integer offset from the base memory location where the + value to be written is located. + + + The value to write. + + + + + Writes an value to the specified memory + location. + + + The object instance representing the base + memory location. + + + The integer offset from the base memory location where the + value to be written is located. + + + The value to write. + + + + + Writes a value to the specified memory + location. + + + The object instance representing the base + memory location. + + + The integer offset from the base memory location where the + value to be written is located. + + + The value to write. + + + + + Writes a value to the specified memory + location. + + + The object instance representing the base + memory location. + + + The integer offset from the base memory location where the + value to be written is located. + + + The value to write. + + + + + Generates a hash code value for the object. + + + The object instance used to calculate the hash code. + + + Non-zero if different object instances with the same value should + generate different hash codes, where applicable. This parameter + has no effect on the .NET Compact Framework. + + + The hash code value -OR- zero if the object is null. + + + + + This class represents a managed virtual table module implementation. + It is not sealed and must be used as the base class for any + user-defined virtual table module classes implemented in managed code. + + + + + The default version of the native sqlite3_module structure in use. + + + + + This field is used to store the native sqlite3_module structure + associated with this object instance. + + + + + This field is used to store the destructor delegate to be passed to + the SQLite core library via the sqlite3_create_disposable_module() + function. + + + + + This field is used to store a pointer to the native sqlite3_module + structure returned by the sqlite3_create_disposable_module + function. + + + + + This field is used to store the virtual table instances associated + with this module. The native pointer to the sqlite3_vtab derived + structure is used to key into this collection. + + + + + This field is used to store the virtual table cursor instances + associated with this module. The native pointer to the + sqlite3_vtab_cursor derived structure is used to key into this + collection. + + + + + This field is used to store the virtual table function instances + associated with this module. The case-insensitive function name + and the number of arguments (with -1 meaning "any") are used to + construct the string that is used to key into this collection. + + + + + Constructs an instance of this class. + + + The name of the module. This parameter cannot be null. + + + + + Calls the native SQLite core library in order to create a new + disposable module containing the implementation of a virtual table. + + + The native database connection pointer to use. + + + Non-zero upon success. + + + + + This method is called by the SQLite core library when the native + module associated with this object instance is being destroyed due + to its parent connection being closed. It may also be called by + the "vtshim" module if/when the sqlite3_dispose_module() function + is called. + + + The native user-data pointer associated with this module, as it was + provided to the SQLite core library when the native module instance + was created. + + + + + Creates and returns the native sqlite_module structure using the + configured (or default) + interface implementation. + + + The native sqlite_module structure using the configured (or + default) interface + implementation. + + + + + Creates and returns the native sqlite_module structure using the + specified interface + implementation. + + + The interface implementation to + use. + + + The native sqlite_module structure using the specified + interface implementation. + + + + + Creates a copy of the specified + object instance, + using default implementations for the contained delegates when + necessary. + + + The object + instance to copy. + + + The new object + instance. + + + + + Calls one of the virtual table initialization methods. + + + Non-zero to call the + method; otherwise, the + method will be called. + + + The native database connection handle. + + + The original native pointer value that was provided to the + sqlite3_create_module(), sqlite3_create_module_v2() or + sqlite3_create_disposable_module() functions. + + + The number of arguments from the CREATE VIRTUAL TABLE statement. + + + The array of string arguments from the CREATE VIRTUAL TABLE + statement. + + + Upon success, this parameter must be modified to point to the newly + created native sqlite3_vtab derived structure. + + + Upon failure, this parameter must be modified to point to the error + message, with the underlying memory having been obtained from the + sqlite3_malloc() function. + + + A standard SQLite return code. + + + + + Calls one of the virtual table finalization methods. + + + Non-zero to call the + method; otherwise, the + method will be + called. + + + The native pointer to the sqlite3_vtab derived structure. + + + A standard SQLite return code. + + + + + Arranges for the specified error message to be placed into the + zErrMsg field of a sqlite3_vtab derived structure, freeing the + existing error message, if any. + + + The object instance to be used. + + + The native pointer to the sqlite3_vtab derived structure. + + + Non-zero if this error message should also be logged using the + class. + + + Non-zero if caught exceptions should be logged using the + class. + + + The error message. + + + Non-zero upon success. + + + + + Arranges for the specified error message to be placed into the + zErrMsg field of a sqlite3_vtab derived structure, freeing the + existing error message, if any. + + + The object instance to be used. + + + The object instance used to + lookup the native pointer to the sqlite3_vtab derived structure. + + + Non-zero if this error message should also be logged using the + class. + + + Non-zero if caught exceptions should be logged using the + class. + + + The error message. + + + Non-zero upon success. + + + + + Arranges for the specified error message to be placed into the + zErrMsg field of a sqlite3_vtab derived structure, freeing the + existing error message, if any. + + + The object instance to be used. + + + The native pointer to the sqlite3_vtab_cursor derived structure + used to get the native pointer to the sqlite3_vtab derived + structure. + + + Non-zero if this error message should also be logged using the + class. + + + Non-zero if caught exceptions should be logged using the + class. + + + The error message. + + + Non-zero upon success. + + + + + Arranges for the specified error message to be placed into the + zErrMsg field of a sqlite3_vtab derived structure, freeing the + existing error message, if any. + + + The object instance to be used. + + + The object instance used to + lookup the native pointer to the sqlite3_vtab derived structure. + + + Non-zero if this error message should also be logged using the + class. + + + Non-zero if caught exceptions should be logged using the + class. + + + The error message. + + + Non-zero upon success. + + + + + Gets and returns the interface + implementation to be used when creating the native sqlite3_module + structure. Derived classes may override this method to supply an + alternate implementation for the + interface. + + + The interface implementation to + be used when populating the native sqlite3_module structure. If + the returned value is null, the private methods provided by the + class and relating to the + interface will be used to + create the necessary delegates. + + + + + Creates and returns the + interface implementation corresponding to the current + object instance. + + + The interface implementation + corresponding to the current object + instance. + + + + + Allocates a native sqlite3_vtab derived structure and returns a + native pointer to it. + + + A native pointer to a native sqlite3_vtab derived structure. + + + + + Zeros out the fields of a native sqlite3_vtab derived structure. + + + The native pointer to the native sqlite3_vtab derived structure to + zero. + + + + + Frees a native sqlite3_vtab structure using the provided native + pointer to it. + + + A native pointer to a native sqlite3_vtab derived structure. + + + + + Allocates a native sqlite3_vtab_cursor derived structure and + returns a native pointer to it. + + + A native pointer to a native sqlite3_vtab_cursor derived structure. + + + + + Frees a native sqlite3_vtab_cursor structure using the provided + native pointer to it. + + + A native pointer to a native sqlite3_vtab_cursor derived structure. + + + + + Reads and returns the native pointer to the sqlite3_vtab derived + structure based on the native pointer to the sqlite3_vtab_cursor + derived structure. + + + The object instance to be used. + + + The native pointer to the sqlite3_vtab_cursor derived structure + from which to read the native pointer to the sqlite3_vtab derived + structure. + + + The native pointer to the sqlite3_vtab derived structure -OR- + if it cannot be determined. + + + + + Reads and returns the native pointer to the sqlite3_vtab derived + structure based on the native pointer to the sqlite3_vtab_cursor + derived structure. + + + The native pointer to the sqlite3_vtab_cursor derived structure + from which to read the native pointer to the sqlite3_vtab derived + structure. + + + The native pointer to the sqlite3_vtab derived structure -OR- + if it cannot be determined. + + + + + Looks up and returns the object + instance based on the native pointer to the sqlite3_vtab derived + structure. + + + The native pointer to the sqlite3_vtab derived structure. + + + The object instance or null if + the corresponding one cannot be found. + + + + + Allocates and returns a native pointer to a sqlite3_vtab derived + structure and creates an association between it and the specified + object instance. + + + The object instance to be used + when creating the association. + + + The native pointer to a sqlite3_vtab derived structure or + if the method fails for any reason. + + + + + Looks up and returns the + object instance based on the native pointer to the + sqlite3_vtab_cursor derived structure. + + + The native pointer to the sqlite3_vtab derived structure. + + + The native pointer to the sqlite3_vtab_cursor derived structure. + + + The object instance or null + if the corresponding one cannot be found. + + + + + Allocates and returns a native pointer to a sqlite3_vtab_cursor + derived structure and creates an association between it and the + specified object instance. + + + The object instance to be + used when creating the association. + + + The native pointer to a sqlite3_vtab_cursor derived structure or + if the method fails for any reason. + + + + + Deterimines the key that should be used to identify and store the + object instance for the virtual table + (i.e. to be returned via the + method). + + + The number of arguments to the virtual table function. + + + The name of the virtual table function. + + + The object instance associated with + this virtual table function. + + + The string that should be used to identify and store the virtual + table function instance. This method cannot return null. If null + is returned from this method, the behavior is undefined. + + + + + Attempts to declare the schema for the virtual table using the + specified database connection. + + + The object instance to use when + declaring the schema of the virtual table. This parameter may not + be null. + + + The string containing the CREATE TABLE statement that completely + describes the schema for the virtual table. This parameter may not + be null. + + + Upon failure, this parameter must be modified to contain an error + message. + + + A standard SQLite return code. + + + + + Calls the native SQLite core library in order to declare a virtual + table function in response to a call into the + + or virtual table + methods. + + + The object instance to use when + declaring the schema of the virtual table. + + + The number of arguments to the function being declared. + + + The name of the function being declared. + + + Upon success, the contents of this parameter are undefined. Upon + failure, it should contain an appropriate error message. + + + A standard SQLite return code. + + + + + Arranges for the specified error message to be placed into the + zErrMsg field of a sqlite3_vtab derived structure, freeing the + existing error message, if any. + + + The native pointer to the sqlite3_vtab derived structure. + + + The error message. + + + Non-zero upon success. + + + + + Arranges for the specified error message to be placed into the + zErrMsg field of a sqlite3_vtab derived structure, freeing the + existing error message, if any. + + + The object instance used to + lookup the native pointer to the sqlite3_vtab derived structure. + + + The error message. + + + Non-zero upon success. + + + + + Arranges for the specified error message to be placed into the + zErrMsg field of a sqlite3_vtab derived structure, freeing the + existing error message, if any. + + + The object instance used to + lookup the native pointer to the sqlite3_vtab derived structure. + + + The error message. + + + Non-zero upon success. + + + + + Modifies the specified object instance + to contain the specified estimated cost. + + + The object instance to modify. + + + The estimated cost value to use. Using a null value means that the + default value provided by the SQLite core library should be used. + + + Non-zero upon success. + + + + + Modifies the specified object instance + to contain the default estimated cost. + + + The object instance to modify. + + + Non-zero upon success. + + + + + Modifies the specified object instance + to contain the specified estimated rows. + + + The object instance to modify. + + + The estimated rows value to use. Using a null value means that the + default value provided by the SQLite core library should be used. + + + Non-zero upon success. + + + + + Modifies the specified object instance + to contain the default estimated rows. + + + The object instance to modify. + + + Non-zero upon success. + + + + + Modifies the specified object instance + to contain the specified flags. + + + The object instance to modify. + + + The index flags value to use. Using a null value means that the + default value provided by the SQLite core library should be used. + + + Non-zero upon success. + + + + + Modifies the specified object instance + to contain the default index flags. + + + The object instance to modify. + + + Non-zero upon success. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + This method is called in response to the + method. + + + The object instance associated with + the virtual table. + + + The native user-data pointer associated with this module, as it was + provided to the SQLite core library when the native module instance + was created. + + + The module name, database name, virtual table name, and all other + arguments passed to the CREATE VIRTUAL TABLE statement. + + + Upon success, this parameter must be modified to contain the + object instance associated with + the virtual table. + + + Upon failure, this parameter must be modified to contain an error + message. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated with + the virtual table. + + + The native user-data pointer associated with this module, as it was + provided to the SQLite core library when the native module instance + was created. + + + The module name, database name, virtual table name, and all other + arguments passed to the CREATE VIRTUAL TABLE statement. + + + Upon success, this parameter must be modified to contain the + object instance associated with + the virtual table. + + + Upon failure, this parameter must be modified to contain an error + message. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + The object instance containing all the + data for the inputs and outputs relating to index selection. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + Upon success, this parameter must be modified to contain the + object instance associated + with the newly opened virtual table cursor. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance + associated with the previously opened virtual table cursor to be + used. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance + associated with the previously opened virtual table cursor to be + used. + + + Number used to help identify the selected index. + + + String used to help identify the selected index. + + + The values corresponding to each column in the selected index. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance + associated with the previously opened virtual table cursor to be + used. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance + associated with the previously opened virtual table cursor to be + used. + + + Non-zero if no more rows are available; zero otherwise. + + + + + This method is called in response to the + method. + + + The object instance + associated with the previously opened virtual table cursor to be + used. + + + The object instance to be used for + returning the specified column value to the SQLite core library. + + + The zero-based index corresponding to the column containing the + value to be returned. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance + associated with the previously opened virtual table cursor to be + used. + + + Upon success, this parameter must be modified to contain the unique + integer row identifier for the current row for the specified cursor. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + The array of object instances containing + the new or modified column values, if any. + + + Upon success, this parameter must be modified to contain the unique + integer row identifier for the row that was inserted, if any. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + The number of arguments to the function being sought. + + + The name of the function being sought. + + + Upon success, this parameter must be modified to contain the + object instance responsible for + implementing the specified function. + + + Upon success, this parameter must be modified to contain the + native user-data pointer associated with + . + + + Non-zero if the specified function was found; zero otherwise. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + The new name for the virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + This is an integer identifier under which the the current state of + the virtual table should be saved. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + This is an integer used to indicate that any saved states with an + identifier greater than or equal to this should be deleted by the + virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + This is an integer identifier used to specify a specific saved + state for the virtual table for it to restore itself back to, which + should also have the effect of deleting all saved states with an + integer identifier greater than this one. + + + A standard SQLite return code. + + + + + Disposes of this object instance. + + + + + Throws an if this object + instance has been disposed. + + + + + Disposes of this object instance. + + + Non-zero if this method is being called from the + method. Zero if this method is being + called from the finalizer. + + + + + Finalizes this object instance. + + + + + Returns or sets a boolean value indicating whether virtual table + errors should be logged using the class. + + + + + Returns or sets a boolean value indicating whether exceptions + caught in the + method, + the method, + the method, + the method, + and the method should be logged using the + class. + + + + + Returns or sets a boolean value indicating whether virtual table + errors should be logged using the class. + + + + + Returns or sets a boolean value indicating whether exceptions + caught in the + method, + method, and the + method should be logged using the + class. + + + + + Returns non-zero if the schema for the virtual table has been + declared. + + + + + Returns the name of the module as it was registered with the SQLite + core library. + + + + + This class implements the + interface by forwarding those method calls to the + object instance it contains. If the + contained object instance is null, all + the methods simply generate an + error. + + + + + This is the value that is always used for the "logErrors" + parameter to the various static error handling methods provided + by the class. + + + + + This is the value that is always used for the "logExceptions" + parameter to the various static error handling methods provided + by the class. + + + + + This is the error message text used when the contained + object instance is not available + for any reason. + + + + + The object instance used to provide + an implementation of the + interface. + + + + + Constructs an instance of this class. + + + The object instance used to provide + an implementation of the + interface. + + + + + Sets the table error message to one that indicates the native + module implementation is not available. + + + The native pointer to the sqlite3_vtab derived structure. + + + The value of . + + + + + Sets the table error message to one that indicates the native + module implementation is not available. + + + The native pointer to the sqlite3_vtab_cursor derived + structure. + + + The value of . + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + Disposes of this object instance. + + + + + Throws an if this object + instance has been disposed. + + + + + Disposes of this object instance. + + + Non-zero if this method is being called from the + method. Zero if this method is being + called from the finalizer. + + + + + Finalizes this object instance. + + + + + This class contains some virtual methods that may be useful for other + virtual table classes. It specifically does NOT implement any of the + interface methods. + + + + + This class implements a virtual table module that does nothing by + providing "empty" implementations for all of the + interface methods. The result + codes returned by these "empty" method implementations may be + controlled on a per-method basis by using and/or overriding the + , + , + , + , and + methods from within derived classes. + + + + + This field is used to store the + values to return, on a per-method basis, for all methods that are + part of the interface. + + + + + Constructs an instance of this class. + + + The name of the module. This parameter cannot be null. + + + + + Determines the default value to be + returned by methods of the + interface that lack an overridden implementation in all classes + derived from the class. + + + The value that should be returned + by all interface methods unless + a more specific result code has been set for that interface method. + + + + + Converts a value into a boolean + return value for use with the + method. + + + The value to convert. + + + The value. + + + + + Converts a value into a boolean + return value for use with the + method. + + + The value to convert. + + + The value. + + + + + Determines the value that should be + returned by the specified + interface method if it lack an overridden implementation. If no + specific value is available (or set) + for the specified method, the value + returned by the method will be + returned instead. + + + The name of the method. Currently, this method must be part of + the interface. + + + The value that should be returned + by the interface method. + + + + + Sets the value that should be + returned by the specified + interface method if it lack an overridden implementation. + + + The name of the method. Currently, this method must be part of + the interface. + + + The value that should be returned + by the interface method. + + + Non-zero upon success. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + Throws an if this object + instance has been disposed. + + + + + Disposes of this object instance. + + + Non-zero if this method is being called from the + method. Zero if this method is + being called from the finalizer. + + + + + The CREATE TABLE statement used to declare the schema for the + virtual table. + + + + + Non-zero if different object instances with the same value should + generate different row identifiers, where applicable. This has no + effect on the .NET Compact Framework. + + + + + Constructs an instance of this class. + + + The name of the module. This parameter cannot be null. + + + + + Constructs an instance of this class. + + + The name of the module. This parameter cannot be null. + + + Non-zero if different object instances with the same value should + generate different row identifiers, where applicable. This + parameter has no effect on the .NET Compact Framework. + + + + + Determines the SQL statement used to declare the virtual table. + This method should be overridden in derived classes if they require + a custom virtual table schema. + + + The SQL statement used to declare the virtual table -OR- null if it + cannot be determined. + + + + + Sets the table error message to one that indicates the virtual + table cursor is of the wrong type. + + + The object instance. + + + The that the virtual table cursor should be. + + + The value of . + + + + + Determines the string to return as the column value for the object + instance value. + + + The object instance + associated with the previously opened virtual table cursor to be + used. + + + The object instance to return a string representation for. + + + The string representation of the specified object instance or null + upon failure. + + + + + Constructs an unique row identifier from two + values. The first value + must contain the row sequence number for the current row and the + second value must contain the hash code of the key column value + for the current row. + + + The integer row sequence number for the current row. + + + The hash code of the key column value for the current row. + + + The unique row identifier or zero upon failure. + + + + + Determines the unique row identifier for the current row. + + + The object instance + associated with the previously opened virtual table cursor to be + used. + + + The object instance to return a unique row identifier for. + + + The unique row identifier or zero upon failure. + + + + + Throws an if this object + instance has been disposed. + + + + + Disposes of this object instance. + + + Non-zero if this method is being called from the + method. Zero if this method is + being called from the finalizer. + + + + + This class represents a virtual table cursor to be used with the + class. It is not sealed and may + be used as the base class for any user-defined virtual table cursor + class that wraps an object instance. + + + + + The instance provided when this cursor + was created. + + + + + This value will be non-zero if false has been returned from the + method. + + + + + Constructs an instance of this class. + + + The object instance associated + with this object instance. + + + The instance to expose as a virtual + table cursor. + + + + + Advances to the next row of the virtual table cursor using the + method of the + object instance. + + + Non-zero if the current row is valid; zero otherwise. If zero is + returned, no further rows are available. + + + + + Resets the virtual table cursor position, also invalidating the + current row, using the method of + the object instance. + + + + + Closes the virtual table cursor. This method must not throw any + exceptions. + + + + + Throws an if the virtual + table cursor has been closed. + + + + + Throws an if this object + instance has been disposed. + + + + + Disposes of this object instance. + + + Non-zero if this method is being called from the + method. Zero if this method is + being called from the finalizer. + + + + + Returns the value for the current row of the virtual table cursor + using the property of the + object instance. + + + + + Returns non-zero if the end of the virtual table cursor has been + seen (i.e. no more rows are available, including the current one). + + + + + Returns non-zero if the virtual table cursor is open. + + + + + This class implements a virtual table module that exposes an + object instance as a read-only virtual + table. It is not sealed and may be used as the base class for any + user-defined virtual table class that wraps an + object instance. The following short + example shows it being used to treat an array of strings as a table + data source: + + public static class Sample + { + public static void Main() + { + using (SQLiteConnection connection = new SQLiteConnection( + "Data Source=:memory:;")) + { + connection.Open(); + + connection.CreateModule(new SQLiteModuleEnumerable( + "sampleModule", new string[] { "one", "two", "three" })); + + using (SQLiteCommand command = connection.CreateCommand()) + { + command.CommandText = + "CREATE VIRTUAL TABLE t1 USING sampleModule;"; + + command.ExecuteNonQuery(); + } + + using (SQLiteCommand command = connection.CreateCommand()) + { + command.CommandText = "SELECT * FROM t1;"; + + using (SQLiteDataReader dataReader = command.ExecuteReader()) + { + while (dataReader.Read()) + Console.WriteLine(dataReader[0].ToString()); + } + } + + connection.Close(); + } + } + } + + + + + + The instance containing the backing data + for the virtual table. + + + + + Non-zero if different object instances with the same value should + generate different row identifiers, where applicable. This has no + effect on the .NET Compact Framework. + + + + + Constructs an instance of this class. + + + The name of the module. This parameter cannot be null. + + + The instance to expose as a virtual + table. This parameter cannot be null. + + + + + Constructs an instance of this class. + + + The name of the module. This parameter cannot be null. + + + The instance to expose as a virtual + table. This parameter cannot be null. + + + Non-zero if different object instances with the same value should + generate different row identifiers, where applicable. This + parameter has no effect on the .NET Compact Framework. + + + + + Sets the table error message to one that indicates the virtual + table cursor has no current row. + + + The object instance. + + + The value of . + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + Throws an if this object + instance has been disposed. + + + + + Disposes of this object instance. + + + Non-zero if this method is being called from the + method. Zero if this method is + being called from the finalizer. + + + + + This class represents a virtual table cursor to be used with the + class. It is not sealed and may + be used as the base class for any user-defined virtual table cursor + class that wraps an object instance. + + + + + The instance provided when this + cursor was created. + + + + + Constructs an instance of this class. + + + The object instance associated + with this object instance. + + + The instance to expose as a virtual + table cursor. + + + + + Closes the virtual table cursor. This method must not throw any + exceptions. + + + + + Throws an if this object + instance has been disposed. + + + + + Disposes of this object instance. + + + Non-zero if this method is being called from the + method. Zero if this method is + being called from the finalizer. + + + + + Returns the value for the current row of the virtual table cursor + using the property of the + object instance. + + + + + This class implements a virtual table module that exposes an + object instance as a read-only virtual + table. It is not sealed and may be used as the base class for any + user-defined virtual table class that wraps an + object instance. + + + + + The instance containing the backing + data for the virtual table. + + + + + Constructs an instance of this class. + + + The name of the module. This parameter cannot be null. + + + The instance to expose as a virtual + table. This parameter cannot be null. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + Throws an if this object + instance has been disposed. + + + + + Disposes of this object instance. + + + Non-zero if this method is being called from the + method. Zero if this method is + being called from the finalizer. + + + + + This enumerated type represents a type of conflict seen when apply + changes from a change set or patch set. + + + + + This value is seen when processing a DELETE or UPDATE change if a + row with the required PRIMARY KEY fields is present in the + database, but one or more other (non primary-key) fields modified + by the update do not contain the expected "before" values. + + + + + This value is seen when processing a DELETE or UPDATE change if a + row with the required PRIMARY KEY fields is not present in the + database. There is no conflicting row in this case. + + The results of invoking the + + method are undefined. + + + + + This value is seen when processing an INSERT change if the + operation would result in duplicate primary key values. + The conflicting row in this case is the database row with the + matching primary key. + + + + + If a non-foreign key constraint violation occurs while applying a + change (i.e. a UNIQUE, CHECK or NOT NULL constraint), the conflict + callback will see this value. + + There is no conflicting row in this case. The results of invoking + the + method are undefined. + + + + + If foreign key handling is enabled, and applying a changes leaves + the database in a state containing foreign key violations, this + value will be seen exactly once before the changes are committed. + If the conflict handler + , the changes, + including those that caused the foreign key constraint violation, + are committed. Or, if it returns + , the changes are + rolled back. + + No current or conflicting row information is provided. The only + method it is possible to call on the supplied + object is + . + + + + + This enumerated type represents the result of a user-defined conflict + resolution callback. + + + + + If a conflict callback returns this value no special action is + taken. The change that caused the conflict is not applied. The + application of changes continues with the next change. + + + + + This value may only be returned from a conflict callback if the + type of conflict was + or . If this is + not the case, any changes applied so far are rolled back and the + call to + + will raise a with an error code of + . + + If this value is returned for a + conflict, then the + conflicting row is either updated or deleted, depending on the type + of change. + + If this value is returned for a + conflict, then + the conflicting row is removed from the database and a second + attempt to apply the change is made. If this second attempt fails, + the original row is restored to the database before continuing. + + + + + If this value is returned, any changes applied so far are rolled + back and the call to + + will raise a with an error code of + . + + + + + This enumerated type represents possible flags that may be passed + to the appropriate overloads of various change set creation methods. + + + + + No special handling. + + + + + Invert the change set while iterating through it. + This is equivalent to inverting a change set using + before + applying it. It is an error to specify this flag + with a patch set. + + + + + This callback is invoked when a determination must be made about + whether changes to a specific table should be tracked -OR- applied. + It will not be called for tables that are already attached to a + . + + + The optional application-defined context data that was originally + passed to the or + + methods. This value may be null. + + + The name of the table. + + + Non-zero if changes to the table should be considered; otherwise, + zero. Throwing an exception from this callback will result in + undefined behavior. + + + + + This callback is invoked when there is a conflict while apply changes + to a database. + + + The optional application-defined context data that was originally + passed to the + + method. This value may be null. + + + The type of this conflict. + + + The object associated with + this conflict. This value may not be null; however, only properties + that are applicable to the conflict type will be available. Further + information on this is available within the descriptions of the + available values. + + + A value that indicates the + action to be taken in order to resolve the conflict. Throwing an + exception from this callback will result in undefined behavior. + + + + + This interface contains methods used to manipulate a set of changes for + a database. + + + + + This method "inverts" the set of changes within this instance. + Applying an inverted set of changes to a database reverses the + effects of applying the uninverted changes. Specifically: + ]]>]]> + Each DELETE change is changed to an INSERT, and + ]]>]]> + Each INSERT change is changed to a DELETE, and + ]]>]]> + For each UPDATE change, the old.* and new.* values are exchanged. + ]]>]]> + This method does not change the order in which changes appear + within the set of changes. It merely reverses the sense of each + individual change. + + + The new instance that represents + the resulting set of changes -OR- null if it is not available. + + + + + This method combines the specified set of changes with the ones + contained in this instance. + + + The changes to be combined with those in this instance. + + + The new instance that represents + the resulting set of changes -OR- null if it is not available. + + + + + Attempts to apply the set of changes in this instance to the + associated database. + + + The delegate that will need + to handle any conflicting changes that may arise. + + + The optional application-defined context data. This value may be + null. + + + + + Attempts to apply the set of changes in this instance to the + associated database. + + + The delegate that will need + to handle any conflicting changes that may arise. + + + The optional delegate + that can be used to filter the list of tables impacted by the set + of changes. + + + The optional application-defined context data. This value may be + null. + + + + + This interface contains methods used to manipulate multiple sets of + changes for a database. + + + + + Attempts to add a change set (or patch set) to this change group + instance. The underlying data must be contained entirely within + the byte array. + + + The raw byte data for the specified change set (or patch set). + + + + + Attempts to add a change set (or patch set) to this change group + instance. The underlying data will be read from the specified + . + + + The instance containing the raw change set + (or patch set) data to read. + + + + + Attempts to create and return, via , the + combined set of changes represented by this change group instance. + + + Upon success, this will contain the raw byte data for all the + changes in this change group instance. + + + + + Attempts to create and write, via , the + combined set of changes represented by this change group instance. + + + Upon success, the raw byte data for all the changes in this change + group instance will be written to this . + + + + + This interface contains properties and methods used to fetch metadata + about one change within a set of changes for a database. + + + + + Queries and returns the original value of a given column for this + change. This method may only be called when the + has a value of + or + . + + + The index for the column. This value must be between zero and one + less than the total number of columns for this table. + + + The original value of a given column for this change. + + + + + Queries and returns the updated value of a given column for this + change. This method may only be called when the + has a value of + or + . + + + The index for the column. This value must be between zero and one + less than the total number of columns for this table. + + + The updated value of a given column for this change. + + + + + Queries and returns the conflicting value of a given column for + this change. This method may only be called from within a + delegate when the conflict + type is or + . + + + The index for the column. This value must be between zero and one + less than the total number of columns for this table. + + + The conflicting value of a given column for this change. + + + + + The name of the table the change was made to. + + + + + The number of columns impacted by this change. This value can be + used to determine the highest valid column index that may be used + with the , , + and methods of this interface. It + will be this value minus one. + + + + + This will contain the value + , + , or + , corresponding to + the overall type of change this item represents. + + + + + Non-zero if this change is considered to be indirect (i.e. as + though they were made via a trigger or foreign key action). + + + + + This array contains a for each column in + the table associated with this change. The element will be zero + if the column is not part of the primary key; otherwise, it will + be non-zero. + + + + + This method may only be called from within a + delegate when the conflict + type is . It + returns the total number of known foreign key violations in the + destination database. + + + + + This interface contains methods to query and manipulate the state of a + change tracking session for a database. + + + + + Determines if this session is currently tracking changes to its + associated database. + + + Non-zero if changes to the associated database are being trakced; + otherwise, zero. + + + + + Enables tracking of changes to the associated database. + + + + + Disables tracking of changes to the associated database. + + + + + Determines if this session is currently set to mark changes as + indirect (i.e. as though they were made via a trigger or foreign + key action). + + + Non-zero if changes to the associated database are being marked as + indirect; otherwise, zero. + + + + + Sets the indirect flag for this session. Subsequent changes will + be marked as indirect until this flag is changed again. + + + + + Clears the indirect flag for this session. Subsequent changes will + be marked as direct until this flag is changed again. + + + + + Determines if there are any tracked changes currently within the + data for this session. + + + Non-zero if there are no changes within the data for this session; + otherwise, zero. + + + + + Upon success, causes changes to the specified table(s) to start + being tracked. Any tables impacted by calls to this method will + not cause the callback + to be invoked. + + + The name of the table to be tracked -OR- null to track all + applicable tables within this database. + + + + + This method is used to set the table filter for this instance. + + + The table filter callback -OR- null to clear any existing table + filter callback. + + + The optional application-defined context data. This value may be + null. + + + + + Attempts to create and return, via , the + combined set of changes represented by this session instance. + + + Upon success, this will contain the raw byte data for all the + changes in this session instance. + + + + + Attempts to create and write, via , the + combined set of changes represented by this session instance. + + + Upon success, the raw byte data for all the changes in this session + instance will be written to this . + + + + + Attempts to create and return, via , the + combined set of changes represented by this session instance as a + patch set. + + + Upon success, this will contain the raw byte data for all the + changes in this session instance. + + + + + Attempts to create and write, via , the + combined set of changes represented by this session instance as a + patch set. + + + Upon success, the raw byte data for all the changes in this session + instance will be written to this . + + + + + This method loads the differences between two tables [with the same + name, set of columns, and primary key definition] into this session + instance. + + + The name of the database containing the table with the original + data (i.e. it will need updating in order to be identical to the + one within the database associated with this session instance). + + + The name of the table. + + + + + This class contains some static helper methods for use within this + subsystem. + + + + + This method checks the byte array specified by the caller to make + sure it will be usable. + + + A byte array provided by the caller into one of the public methods + for the classes that belong to this subsystem. This value cannot + be null or represent an empty array; otherwise, an appropriate + exception will be thrown. + + + + + This class is used to hold the native connection handle associated with + a open until this subsystem is totally + done with it. This class is for internal use by this subsystem only. + + + + + The SQL statement used when creating the native statement handle. + There are no special requirements for this other than counting as + an "open statement handle". + + + + + The format of the error message used when reporting, during object + disposal, that the statement handle is still open (i.e. because + this situation is considered a fairly serious programming error). + + + + + The wrapped native connection handle associated with this lock. + + + + + The flags associated with the connection represented by the + value. + + + + + The native statement handle for this lock. The garbage collector + cannot cause this statement to be finalized; therefore, it will + serve to hold the associated native connection open until it is + freed manually using the method. + + + + + Constructs a new instance of this class using the specified wrapped + native connection handle and associated flags. + + + The wrapped native connection handle to be associated with this + lock. + + + The flags associated with the connection represented by the + value. + + + Non-zero if the method should be called prior + to returning from this constructor. + + + + + Queries and returns the wrapped native connection handle for this + instance. + + + The wrapped native connection handle for this instance -OR- null + if it is unavailable. + + + + + Queries and returns the flags associated with the connection for + this instance. + + + The value. There is no return + value reserved to indicate an error. + + + + + Queries and returns the native connection handle for this instance. + + + The native connection handle for this instance. If this value is + unavailable or invalid an exception will be thrown. + + + + + This method attempts to "lock" the associated native connection + handle by preparing a SQL statement that will not be finalized + until the method is called (i.e. and which + cannot be done by the garbage collector). If the statement is + already prepared, nothing is done. If the statement cannot be + prepared for any reason, an exception will be thrown. + + + + + This method attempts to "unlock" the associated native connection + handle by finalizing the previously prepared statement. If the + statement is already finalized, nothing is done. If the statement + cannot be finalized for any reason, an exception will be thrown. + + + + + Disposes of this object instance. + + + + + Non-zero if this object instance has been disposed. + + + + + Throws an exception if this object instance has been disposed. + + + + + Disposes or finalizes this object instance. + + + Non-zero if this object is being disposed; otherwise, this object + is being finalized. + + + + + Finalizes this object instance. + + + + + This class manages the native change set iterator. It is used as the + base class for the and + classes. It knows how to + advance the native iterator handle as well as finalize it. + + + + + The native change set (a.k.a. iterator) handle. + + + + + Non-zero if this instance owns the native iterator handle in the + field. In that case, this instance will + finalize the native iterator handle upon being disposed or + finalized. + + + + + Constructs a new instance of this class using the specified native + iterator handle. + + + The native iterator handle to use. + + + Non-zero if this instance is to take ownership of the native + iterator handle specified by . + + + + + Throws an exception if the native iterator handle is invalid. + + + + + Used to query the native iterator handle. This method is only used + by the class. + + + The native iterator handle -OR- if it + is not available. + + + + + Attempts to advance the native iterator handle to its next item. + + + Non-zero if the native iterator handle was advanced and contains + more data; otherwise, zero. If the underlying native API returns + an unexpected value then an exception will be thrown. + + + + + Attempts to create an instance of this class that is associated + with the specified native iterator handle. Ownership of the + native iterator handle is NOT transferred to the new instance of + this class. + + + The native iterator handle to use. + + + The new instance of this class. No return value is reserved to + indicate an error; however, if the native iterator handle is not + valid, any subsequent attempt to make use of it via the returned + instance of this class may throw exceptions. + + + + + Disposes of this object instance. + + + + + Non-zero if this object instance has been disposed. + + + + + Throws an exception if this object instance has been disposed. + + + + + Disposes or finalizes this object instance. + + + Non-zero if this object is being disposed; otherwise, this object + is being finalized. + + + + + Finalizes this object instance. + + + + + This class manages the native change set iterator for a set of changes + contained entirely in memory. + + + + + The native memory buffer allocated to contain the set of changes + associated with this instance. This will always be freed when this + instance is disposed or finalized. + + + + + Constructs an instance of this class using the specified native + memory buffer and native iterator handle. + + + The native memory buffer to use. + + + The native iterator handle to use. + + + Non-zero if this instance is to take ownership of the native + iterator handle specified by . + + + + + Attempts to create an instance of this class using the specified + raw byte data. + + + The raw byte data containing the set of changes for this native + iterator. + + + The new instance of this class -OR- null if it cannot be created. + + + + + Attempts to create an instance of this class using the specified + raw byte data. + + + The raw byte data containing the set of changes for this native + iterator. + + + The flags used to create the change set iterator. + + + The new instance of this class -OR- null if it cannot be created. + + + + + Non-zero if this object instance has been disposed. + + + + + Throws an exception if this object instance has been disposed. + + + + + Disposes or finalizes this object instance. + + + Non-zero if this object is being disposed; otherwise, this object + is being finalized. + + + + + This class manages the native change set iterator for a set of changes + backed by a instance. + + + + + The instance that is managing + the underlying used as the backing store for + the set of changes associated with this native change set iterator. + + + + + Constructs an instance of this class using the specified native + iterator handle and . + + + The instance to use. + + + The native iterator handle to use. + + + Non-zero if this instance is to take ownership of the native + iterator handle specified by . + + + + + Attempts to create an instance of this class using the specified + . + + + The where the raw byte data for the set of + changes may be read. + + + The flags associated with the parent connection. + + + The new instance of this class -OR- null if it cannot be created. + + + + + Attempts to create an instance of this class using the specified + . + + + The where the raw byte data for the set of + changes may be read. + + + The flags associated with the parent connection. + + + The flags used to create the change set iterator. + + + The new instance of this class -OR- null if it cannot be created. + + + + + Non-zero if this object instance has been disposed. + + + + + Throws an exception if this object instance has been disposed. + + + + + Disposes or finalizes this object instance. + + + Non-zero if this object is being disposed; otherwise, this object + is being finalized. + + + + + This class is used to act as a bridge between a + instance and the delegates used with the native streaming API. + + + + + The managed stream instance used to in order to service the native + delegates for both input and output. + + + + + The flags associated with the connection. + + + + + The delegate used to provide input to the native streaming API. + It will be null -OR- point to the method. + + + + + The delegate used to provide output to the native streaming API. + It will be null -OR- point to the method. + + + + + Constructs a new instance of this class using the specified managed + stream and connection flags. + + + The managed stream instance to be used in order to service the + native delegates for both input and output. + + + The flags associated with the parent connection. + + + + + Queries and returns the flags associated with the connection for + this instance. + + + The value. There is no return + value reserved to indicate an error. + + + + + Returns a delegate that wraps the method, + creating it first if necessary. + + + A delegate that refers to the method. + + + + + Returns a delegate that wraps the method, + creating it first if necessary. + + + A delegate that refers to the method. + + + + + This method attempts to read bytes from + the managed stream, writing them to the + buffer. + + + Optional extra context information. Currently, this will always + have a value of . + + + A preallocated native buffer to receive the requested input bytes. + It must be at least bytes in size. + + + Upon entry, the number of bytes to read. Upon exit, the number of + bytes actually read. This value may be zero upon exit. + + + The value upon success -OR- an + appropriate error code upon failure. + + + + + This method attempts to write bytes to + the managed stream, reading them from the + buffer. + + + Optional extra context information. Currently, this will always + have a value of . + + + A preallocated native buffer containing the requested output + bytes. It must be at least bytes in + size. + + + The number of bytes to write. + + + The value upon success -OR- an + appropriate error code upon failure. + + + + + Disposes of this object instance. + + + + + Non-zero if this object instance has been disposed. + + + + + Throws an exception if this object instance has been disposed. + + + + + Disposes or finalizes this object instance. + + + Non-zero if this object is being disposed; otherwise, this object + is being finalized. + + + + + Finalizes this object instance. + + + + + This class manages a collection of + instances. When used, it takes responsibility for creating, returning, + and disposing of its instances. + + + + + The managed collection of + instances, keyed by their associated + instance. + + + + + The flags associated with the connection. + + + + + Constructs a new instance of this class using the specified + connection flags. + + + The flags associated with the parent connection. + + + + + Makes sure the collection of + is created. + + + + + Makes sure the collection of + is disposed. + + + + + Attempts to return a instance + suitable for the specified . + + + The instance. If this value is null, a null + value will be returned. + + + A instance. Typically, these + are always freshly created; however, this method is designed to + return the existing instance + associated with the specified stream, should one exist. + + + + + Disposes of this object instance. + + + + + Non-zero if this object instance has been disposed. + + + + + Throws an exception if this object instance has been disposed. + + + + + Disposes or finalizes this object instance. + + + Non-zero if this object is being disposed; otherwise, this object + is being finalized. + + + + + Finalizes this object instance. + + + + + This class represents a group of change sets (or patch sets). + + + + + The instance associated + with this change group. + + + + + The flags associated with the connection. + + + + + The native handle for this change group. This will be deleted when + this instance is disposed or finalized. + + + + + Constructs a new instance of this class using the specified + connection flags. + + + The flags associated with the parent connection. + + + + + Throws an exception if the native change group handle is invalid. + + + + + Makes sure the native change group handle is valid, creating it if + necessary. + + + + + Makes sure the instance + is available, creating it if necessary. + + + + + Attempts to return a instance + suitable for the specified . + + + The instance. If this value is null, a null + value will be returned. + + + A instance. Typically, these + are always freshly created; however, this method is designed to + return the existing instance + associated with the specified stream, should one exist. + + + + + Attempts to add a change set (or patch set) to this change group + instance. The underlying data must be contained entirely within + the byte array. + + + The raw byte data for the specified change set (or patch set). + + + + + Attempts to add a change set (or patch set) to this change group + instance. The underlying data will be read from the specified + . + + + The instance containing the raw change set + (or patch set) data to read. + + + + + Attempts to create and return, via , the + combined set of changes represented by this change group instance. + + + Upon success, this will contain the raw byte data for all the + changes in this change group instance. + + + + + Attempts to create and write, via , the + combined set of changes represented by this change group instance. + + + Upon success, the raw byte data for all the changes in this change + group instance will be written to this . + + + + + Disposes of this object instance. + + + + + Non-zero if this object instance has been disposed. + + + + + Throws an exception if this object instance has been disposed. + + + + + Disposes or finalizes this object instance. + + + Non-zero if this object is being disposed; otherwise, this object + is being finalized. + + + + + Finalizes this object instance. + + + + + This class represents the change tracking session associated with a + database. + + + + + The instance associated + with this session. + + + + + The name of the database (e.g. "main") for this session. + + + + + The native handle for this session. This will be deleted when + this instance is disposed or finalized. + + + + + The delegate used to provide table filtering to the native API. + It will be null -OR- point to the method. + + + + + The managed callback used to filter tables for this session. Set + via the method. + + + + + The optional application-defined context data that was passed to + the method. This value may be null. + + + + + Constructs a new instance of this class using the specified wrapped + native connection handle and associated flags. + + + The wrapped native connection handle to be associated with this + session. + + + The flags associated with the connection represented by the + value. + + + The name of the database (e.g. "main") for this session. + + + + + Throws an exception if the native session handle is invalid. + + + + + Makes sure the native session handle is valid, creating it if + necessary. + + + + + This method sets up the internal table filtering associated state + of this instance. + + + The table filter callback -OR- null to clear any existing table + filter callback. + + + The optional application-defined context data. This value may be + null. + + + The native + delegate -OR- null to clear any existing table filter. + + + + + Makes sure the instance + is available, creating it if necessary. + + + + + Attempts to return a instance + suitable for the specified . + + + The instance. If this value is null, a null + value will be returned. + + + A instance. Typically, these + are always freshly created; however, this method is designed to + return the existing instance + associated with the specified stream, should one exist. + + + + + This method is called when determining if a table needs to be + included in the tracked changes for the associated database. + + + Optional extra context information. Currently, this will always + have a value of . + + + The native pointer to the name of the table. + + + Non-zero if changes to the specified table should be considered; + otherwise, zero. + + + + + Determines if this session is currently tracking changes to its + associated database. + + + Non-zero if changes to the associated database are being trakced; + otherwise, zero. + + + + + Enables tracking of changes to the associated database. + + + + + Disables tracking of changes to the associated database. + + + + + Determines if this session is currently set to mark changes as + indirect (i.e. as though they were made via a trigger or foreign + key action). + + + Non-zero if changes to the associated database are being marked as + indirect; otherwise, zero. + + + + + Sets the indirect flag for this session. Subsequent changes will + be marked as indirect until this flag is changed again. + + + + + Clears the indirect flag for this session. Subsequent changes will + be marked as direct until this flag is changed again. + + + + + Determines if there are any tracked changes currently within the + data for this session. + + + Non-zero if there are no changes within the data for this session; + otherwise, zero. + + + + + Upon success, causes changes to the specified table(s) to start + being tracked. Any tables impacted by calls to this method will + not cause the callback + to be invoked. + + + The name of the table to be tracked -OR- null to track all + applicable tables within this database. + + + + + This method is used to set the table filter for this instance. + + + The table filter callback -OR- null to clear any existing table + filter callback. + + + The optional application-defined context data. This value may be + null. + + + + + Attempts to create and return, via , the + set of changes represented by this session instance. + + + Upon success, this will contain the raw byte data for all the + changes in this session instance. + + + + + Attempts to create and write, via , the + set of changes represented by this session instance. + + + Upon success, the raw byte data for all the changes in this session + instance will be written to this . + + + + + Attempts to create and return, via , the + set of changes represented by this session instance as a patch set. + + + Upon success, this will contain the raw byte data for all the + changes in this session instance. + + + + + Attempts to create and write, via , the + set of changes represented by this session instance as a patch set. + + + Upon success, the raw byte data for all the changes in this session + instance will be written to this . + + + + + This method loads the differences between two tables [with the same + name, set of columns, and primary key definition] into this session + instance. + + + The name of the database containing the table with the original + data (i.e. it will need updating in order to be identical to the + one within the database associated with this session instance). + + + The name of the table. + + + + + Non-zero if this object instance has been disposed. + + + + + Throws an exception if this object instance has been disposed. + + + + + Disposes or finalizes this object instance. + + + Non-zero if this object is being disposed; otherwise, this object + is being finalized. + + + + + This class represents the abstract concept of a set of changes. It + acts as the base class for the + and classes. It derives from + the class, which is used to hold + the underlying native connection handle open until the instances of + this class are disposed or finalized. It also provides the ability + to construct wrapped native delegates of the + and + types. + + + + + Constructs an instance of this class using the specified wrapped + native connection handle. + + + The wrapped native connection handle to be associated with this + change set. + + + The flags associated with the connection represented by the + value. + + + + + Creates and returns a concrete implementation of the + interface. + + + The native iterator handle to use. + + + An instance of the + interface, which can be used to fetch metadata associated with + the current item in this set of changes. + + + + + Attempts to create a + native delegate + that invokes the specified + delegate. + + + The to invoke when the + native delegate + is called. If this value is null then null is returned. + + + The optional application-defined context data. This value may be + null. + + + The created + native delegate -OR- null if it cannot be created. + + + + + Attempts to create a + native delegate + that invokes the specified + delegate. + + + The to invoke when the + native delegate + is called. If this value is null then null is returned. + + + The optional application-defined context data. This value may be + null. + + + The created + native delegate -OR- null if it cannot be created. + + + + + Non-zero if this object instance has been disposed. + + + + + Throws an exception if this object instance has been disposed. + + + + + Disposes or finalizes this object instance. + + + Non-zero if this object is being disposed; otherwise, this object + is being finalized. + + + + + This class represents a set of changes contained entirely in memory. + + + + + The raw byte data for this set of changes. Since this data must + be marshalled to a native memory buffer before being used, there + must be enough memory available to store at least two times the + amount of data contained within it. + + + + + The flags used to create the change set iterator. + + + + + Constructs an instance of this class using the specified raw byte + data and wrapped native connection handle. + + + The raw byte data for the specified change set (or patch set). + + + The wrapped native connection handle to be associated with this + set of changes. + + + The flags associated with the connection represented by the + value. + + + + + Constructs an instance of this class using the specified raw byte + data and wrapped native connection handle. + + + The raw byte data for the specified change set (or patch set). + + + The wrapped native connection handle to be associated with this + set of changes. + + + The flags associated with the connection represented by the + value. + + + The flags used to create the change set iterator. + + + + + This method "inverts" the set of changes within this instance. + Applying an inverted set of changes to a database reverses the + effects of applying the uninverted changes. Specifically: + ]]>]]> + Each DELETE change is changed to an INSERT, and + ]]>]]> + Each INSERT change is changed to a DELETE, and + ]]>]]> + For each UPDATE change, the old.* and new.* values are exchanged. + ]]>]]> + This method does not change the order in which changes appear + within the set of changes. It merely reverses the sense of each + individual change. + + + The new instance that represents + the resulting set of changes. + + + + + This method combines the specified set of changes with the ones + contained in this instance. + + + The changes to be combined with those in this instance. + + + The new instance that represents + the resulting set of changes. + + + + + Attempts to apply the set of changes in this instance to the + associated database. + + + The delegate that will need + to handle any conflicting changes that may arise. + + + The optional application-defined context data. This value may be + null. + + + + + Attempts to apply the set of changes in this instance to the + associated database. + + + The delegate that will need + to handle any conflicting changes that may arise. + + + The optional delegate + that can be used to filter the list of tables impacted by the set + of changes. + + + The optional application-defined context data. This value may be + null. + + + + + Creates an capable of iterating over the + items within this set of changes. + + + The new + instance. + + + + + Creates an capable of iterating over the + items within this set of changes. + + + The new instance. + + + + + Non-zero if this object instance has been disposed. + + + + + Throws an exception if this object instance has been disposed. + + + + + Disposes or finalizes this object instance. + + + Non-zero if this object is being disposed; otherwise, this object + is being finalized. + + + + + This class represents a set of changes that are backed by a + instance. + + + + + The instance that is managing + the underlying input used as the backing + store for the set of changes associated with this instance. + + + + + The instance that is managing + the underlying output used as the backing + store for the set of changes generated by the + or methods. + + + + + The instance used as the backing store for + the set of changes associated with this instance. + + + + + The instance used as the backing store for + the set of changes generated by the or + methods. + + + + + The flags used to create the change set iterator. + + + + + Constructs an instance of this class using the specified streams + and wrapped native connection handle. + + + The where the raw byte data for the set of + changes may be read. + + + The where the raw byte data for resulting + sets of changes may be written. + + + The wrapped native connection handle to be associated with this + set of changes. + + + The flags associated with the connection represented by the + value. + + + + + Constructs an instance of this class using the specified streams + and wrapped native connection handle. + + + The where the raw byte data for the set of + changes may be read. + + + The where the raw byte data for resulting + sets of changes may be written. + + + The wrapped native connection handle to be associated with this + set of changes. + + + The flags associated with the connection represented by the + value. + + + The flags used to create the change set iterator. + + + + + Throws an exception if the input stream or its associated stream + adapter are invalid. + + + + + Throws an exception if the output stream or its associated stream + adapter are invalid. + + + + + This method "inverts" the set of changes within this instance. + Applying an inverted set of changes to a database reverses the + effects of applying the uninverted changes. Specifically: + ]]>]]> + Each DELETE change is changed to an INSERT, and + ]]>]]> + Each INSERT change is changed to a DELETE, and + ]]>]]> + For each UPDATE change, the old.* and new.* values are exchanged. + ]]>]]> + This method does not change the order in which changes appear + within the set of changes. It merely reverses the sense of each + individual change. + + + Since the resulting set of changes is written to the output stream, + this method always returns null. + + + + + This method combines the specified set of changes with the ones + contained in this instance. + + + The changes to be combined with those in this instance. + + + Since the resulting set of changes is written to the output stream, + this method always returns null. + + + + + Attempts to apply the set of changes in this instance to the + associated database. + + + The delegate that will need + to handle any conflicting changes that may arise. + + + The optional application-defined context data. This value may be + null. + + + + + Attempts to apply the set of changes in this instance to the + associated database. + + + The delegate that will need + to handle any conflicting changes that may arise. + + + The optional delegate + that can be used to filter the list of tables impacted by the set + of changes. + + + The optional application-defined context data. This value may be + null. + + + + + Creates an capable of iterating over the + items within this set of changes. + + + The new + instance. + + + + + Creates an capable of iterating over the + items within this set of changes. + + + The new instance. + + + + + Non-zero if this object instance has been disposed. + + + + + Throws an exception if this object instance has been disposed. + + + + + Disposes or finalizes this object instance. + + + Non-zero if this object is being disposed; otherwise, this object + is being finalized. + + + + + This class represents an that is capable of + enumerating over a set of changes. It serves as the base class for the + and + classes. It manages and + owns an instance of the class. + + + + + This managed change set iterator is managed and owned by this + class. It will be disposed when this class is disposed. + + + + + Constructs an instance of this class using the specified managed + change set iterator. + + + The managed iterator instance to use. + + + + + Throws an exception if the managed iterator instance is invalid. + + + + + Sets the managed iterator instance to a new value. + + + The new managed iterator instance to use. + + + + + Disposes of the managed iterator instance and sets its value to + null. + + + + + Disposes of the existing managed iterator instance and then sets it + to a new value. + + + The new managed iterator instance to use. + + + + + Attempts to advance to the next item in the set of changes. + + + Non-zero if more items are available; otherwise, zero. + + + + + Throws because not all the + derived classes are able to support reset functionality. + + + + + Disposes of this object instance. + + + + + Non-zero if this object instance has been disposed. + + + + + Throws an exception if this object instance has been disposed. + + + + + Disposes or finalizes this object instance. + + + Non-zero if this object is being disposed; otherwise, this object + is being finalized. + + + + + Finalizes this object instance. + + + + + Returns the current change within the set of changes, represented + by a instance. + + + + + Returns the current change within the set of changes, represented + by a instance. + + + + + This class represents an that is capable of + enumerating over a set of changes contained entirely in memory. + + + + + The raw byte data for this set of changes. Since this data must + be marshalled to a native memory buffer before being used, there + must be enough memory available to store at least two times the + amount of data contained within it. + + + + + The flags used to create the change set iterator. + + + + + Constructs an instance of this class using the specified raw byte + data. + + + The raw byte data containing the set of changes for this + enumerator. + + + + + Constructs an instance of this class using the specified raw byte + data. + + + The raw byte data containing the set of changes for this + enumerator. + + + The flags used to create the change set iterator. + + + + + Resets the enumerator to its initial position. + + + + + Non-zero if this object instance has been disposed. + + + + + Throws an exception if this object instance has been disposed. + + + + + Disposes or finalizes this object instance. + + + Non-zero if this object is being disposed; otherwise, this object + is being finalized. + + + + + This class represents an that is capable of + enumerating over a set of changes backed by a + instance. + + + + + Constructs an instance of this class using the specified stream. + + + The where the raw byte data for the set of + changes may be read. + + + The flags associated with the parent connection. + + + + + Constructs an instance of this class using the specified stream. + + + The where the raw byte data for the set of + changes may be read. + + + The flags associated with the parent connection. + + + The flags used to create the change set iterator. + + + + + Non-zero if this object instance has been disposed. + + + + + Throws an exception if this object instance has been disposed. + + + + + Disposes or finalizes this object instance. + + + Non-zero if this object is being disposed; otherwise, this object + is being finalized. + + + + + This interface implements properties and methods used to fetch metadata + about one change within a set of changes for a database. + + + + + The instance to use. This + will NOT be owned by this class and will not be disposed upon this + class being disposed or finalized. + + + + + Constructs an instance of this class using the specified iterator + instance. + + + The managed iterator instance to use. + + + + + Throws an exception if the managed iterator instance is invalid. + + + + + Populates the underlying data for the , + , , and + properties, using the appropriate native + API. + + + + + Populates the underlying data for the + property using the appropriate + native API. + + + + + Populates the underlying data for the + property using the + appropriate native API. + + + + + Backing field for the property. This value + will be null if this field has not yet been populated via the + underlying native API. + + + + + Backing field for the property. This + value will be null if this field has not yet been populated via the + underlying native API. + + + + + Backing field for the property. This + value will be null if this field has not yet been populated via the + underlying native API. + + + + + Backing field for the property. This value + will be null if this field has not yet been populated via the + underlying native API. + + + + + Backing field for the property. + This value will be null if this field has not yet been populated + via the underlying native API. + + + + + Backing field for the + property. This value will be null if this field has not yet been + populated via the underlying native API. + + + + + Queries and returns the original value of a given column for this + change. This method may only be called when the + has a value of + or + . + + + The index for the column. This value must be between zero and one + less than the total number of columns for this table. + + + The original value of a given column for this change. + + + + + Queries and returns the updated value of a given column for this + change. This method may only be called when the + has a value of + or + . + + + The index for the column. This value must be between zero and one + less than the total number of columns for this table. + + + The updated value of a given column for this change. + + + + + Queries and returns the conflicting value of a given column for + this change. This method may only be called from within a + delegate when the conflict + type is or + . + + + The index for the column. This value must be between zero and one + less than the total number of columns for this table. + + + The conflicting value of a given column for this change. + + + + + Disposes of this object instance. + + + + + Non-zero if this object instance has been disposed. + + + + + Throws an exception if this object instance has been disposed. + + + + + Disposes or finalizes this object instance. + + + Non-zero if this object is being disposed; otherwise, this object + is being finalized. + + + + + Finalizes this object instance. + + + + + The name of the table the change was made to. + + + + + The number of columns impacted by this change. This value can be + used to determine the highest valid column index that may be used + with the , , + and methods of this interface. It + will be this value minus one. + + + + + This will contain the value + , + , or + , corresponding to + the overall type of change this item represents. + + + + + Non-zero if this change is considered to be indirect (i.e. as + though they were made via a trigger or foreign key action). + + + + + This array contains a for each column in + the table associated with this change. The element will be zero + if the column is not part of the primary key; otherwise, it will + be non-zero. + + + + + This method may only be called from within a + delegate when the conflict + type is . It + returns the total number of known foreign key violations in the + destination database. + + +
+
diff --git a/packages/System.Data.SQLite.Core.1.0.112.1/lib/net40/System.Data.SQLite.dll b/packages/System.Data.SQLite.Core.1.0.112.1/lib/net40/System.Data.SQLite.dll new file mode 100644 index 0000000..4f5314c Binary files /dev/null and b/packages/System.Data.SQLite.Core.1.0.112.1/lib/net40/System.Data.SQLite.dll differ diff --git a/packages/System.Data.SQLite.Core.1.0.112.1/lib/net40/System.Data.SQLite.dll.config b/packages/System.Data.SQLite.Core.1.0.112.1/lib/net40/System.Data.SQLite.dll.config new file mode 100644 index 0000000..b14f7b5 --- /dev/null +++ b/packages/System.Data.SQLite.Core.1.0.112.1/lib/net40/System.Data.SQLite.dll.config @@ -0,0 +1,22 @@ + + + + + + + + + diff --git a/packages/System.Data.SQLite.Core.1.0.112.1/lib/net40/System.Data.SQLite.xml b/packages/System.Data.SQLite.Core.1.0.112.1/lib/net40/System.Data.SQLite.xml new file mode 100644 index 0000000..7510396 --- /dev/null +++ b/packages/System.Data.SQLite.Core.1.0.112.1/lib/net40/System.Data.SQLite.xml @@ -0,0 +1,21406 @@ + + + + System.Data.SQLite + + + + + Defines a source code identifier custom attribute for an assembly + manifest. + + + + + Constructs an instance of this attribute class using the specified + source code identifier value. + + + The source code identifier value to use. + + + + + Gets the source code identifier value. + + + + + Defines a source code time-stamp custom attribute for an assembly + manifest. + + + + + Constructs an instance of this attribute class using the specified + source code time-stamp value. + + + The source code time-stamp value to use. + + + + + Gets the source code time-stamp value. + + + + + This is the method signature for the SQLite core library logging callback + function for use with sqlite3_log() and the SQLITE_CONFIG_LOG. + + WARNING: This delegate is used more-or-less directly by native code, do + not modify its type signature. + + + The extra data associated with this message, if any. + + + The error code associated with this message. + + + The message string to be logged. + + + + + This class implements SQLiteBase completely, and is the guts of the code that interop's SQLite with .NET + + + + + This internal class provides the foundation of SQLite support. It defines all the abstract members needed to implement + a SQLite data provider, and inherits from SQLiteConvert which allows for simple translations of string to and from SQLite. + + + + + This base class provides datatype conversion services for the SQLite provider. + + + + + This character is used to escape other characters, including itself, in + connection string property names and values. + + + + + This character can be used to wrap connection string property names and + values. Normally, it is optional; however, when used, it must be the + first -AND- last character of that connection string property name -OR- + value. + + + + + This character can be used to wrap connection string property names and + values. Normally, it is optional; however, when used, it must be the + first -AND- last character of that connection string property name -OR- + value. + + + + + The character is used to separate the name and value for a connection + string property. This character cannot be present in any connection + string property name. This character can be present in a connection + string property value; however, this should be avoided unless deemed + absolutely necessary. + + + + + This character is used to separate connection string properties. When + the "No_SQLiteConnectionNewParser" setting is enabled, this character + may not appear in connection string property names -OR- values. + + + + + The fallback default database type when one cannot be obtained from an + existing connection instance. + + + + + The format string for DateTime values when using the InvariantCulture or CurrentCulture formats. + + + + + These are the characters that are special to the connection string + parser. + + + + + The fallback default database type name when one cannot be obtained from + an existing connection instance. + + + + + The value for the Unix epoch (e.g. January 1, 1970 at midnight, in UTC). + + + + + The value of the OLE Automation epoch represented as a Julian day. This + field cannot be removed as the test suite relies upon it. + + + + + This is the minimum Julian Day value supported by this library + (148731163200000). + + + + + This is the maximum Julian Day value supported by this library + (464269060799000). + + + + + An array of ISO-8601 DateTime formats that we support parsing. + + + + + The internal default format for UTC DateTime values when converting + to a string. + + + + + The internal default format for local DateTime values when converting + to a string. + + + + + An UTF-8 Encoding instance, so we can convert strings to and from UTF-8 + + + + + The default DateTime format for this instance. + + + + + The default DateTimeKind for this instance. + + + + + The default DateTime format string for this instance. + + + + + Initializes the conversion class + + The default date/time format to use for this instance + The DateTimeKind to use. + The DateTime format string to use. + + + + Converts a string to a UTF-8 encoded byte array sized to include a null-terminating character. + + The string to convert to UTF-8 + A byte array containing the converted string plus an extra 0 terminating byte at the end of the array. + + + + Convert a DateTime to a UTF-8 encoded, zero-terminated byte array. + + + This function is a convenience function, which first calls ToString() on the DateTime, and then calls ToUTF8() with the + string result. + + The DateTime to convert. + The UTF-8 encoded string, including a 0 terminating byte at the end of the array. + + + + Converts a UTF-8 encoded IntPtr of the specified length into a .NET string + + The pointer to the memory where the UTF-8 string is encoded + The number of bytes to decode + A string containing the translated character(s) + + + + Converts a UTF-8 encoded IntPtr of the specified length into a .NET string + + The pointer to the memory where the UTF-8 string is encoded + The number of bytes to decode + A string containing the translated character(s) + + + + Checks if the specified is within the + supported range for a Julian Day value. + + + The Julian Day value to check. + + + Non-zero if the specified Julian Day value is in the supported + range; otherwise, zero. + + + + + Converts a Julian Day value from a to an + . + + + The Julian Day value to convert. + + + The resulting Julian Day value. + + + + + Converts a Julian Day value from an to a + . + + + The Julian Day value to convert. + + + The resulting Julian Day value. + + + + + Converts a Julian Day value to a . + This method was translated from the "computeYMD" function in the + "date.c" file belonging to the SQLite core library. + + + The Julian Day value to convert. + + + The value to return in the event that the + Julian Day is out of the supported range. If this value is null, + an exception will be thrown instead. + + + A value that contains the year, month, and + day values that are closest to the specified Julian Day value. + + + + + Converts a Julian Day value to a . + This method was translated from the "computeHMS" function in the + "date.c" file belonging to the SQLite core library. + + + The Julian Day value to convert. + + + The value to return in the event that the + Julian Day value is out of the supported range. If this value is + null, an exception will be thrown instead. + + + A value that contains the hour, minute, and + second, and millisecond values that are closest to the specified + Julian Day value. + + + + + Converts a to a Julian Day value. + This method was translated from the "computeJD" function in + the "date.c" file belonging to the SQLite core library. + Since the range of Julian Day values supported by this method + includes all possible (valid) values of a + value, it should be extremely difficult for this method to + raise an exception or return an undefined result. + + + The value to convert. This value + will be within the range of + (00:00:00.0000000, January 1, 0001) to + (23:59:59.9999999, December + 31, 9999). + + + The nearest Julian Day value corresponding to the specified + value. + + + + + Converts a string into a DateTime, using the DateTimeFormat, DateTimeKind, + and DateTimeFormatString specified for the connection when it was opened. + + + Acceptable ISO8601 DateTime formats are: + + THHmmssK + THHmmK + HH:mm:ss.FFFFFFFK + HH:mm:ssK + HH:mmK + yyyy-MM-dd HH:mm:ss.FFFFFFFK + yyyy-MM-dd HH:mm:ssK + yyyy-MM-dd HH:mmK + yyyy-MM-ddTHH:mm:ss.FFFFFFFK + yyyy-MM-ddTHH:mmK + yyyy-MM-ddTHH:mm:ssK + yyyyMMddHHmmssK + yyyyMMddHHmmK + yyyyMMddTHHmmssFFFFFFFK + THHmmss + THHmm + HH:mm:ss.FFFFFFF + HH:mm:ss + HH:mm + yyyy-MM-dd HH:mm:ss.FFFFFFF + yyyy-MM-dd HH:mm:ss + yyyy-MM-dd HH:mm + yyyy-MM-ddTHH:mm:ss.FFFFFFF + yyyy-MM-ddTHH:mm + yyyy-MM-ddTHH:mm:ss + yyyyMMddHHmmss + yyyyMMddHHmm + yyyyMMddTHHmmssFFFFFFF + yyyy-MM-dd + yyyyMMdd + yy-MM-dd + + If the string cannot be matched to one of the above formats -OR- + the DateTimeFormatString if one was provided, an exception will + be thrown. + + The string containing either a long integer number of 100-nanosecond units since + System.DateTime.MinValue, a Julian day double, an integer number of seconds since the Unix epoch, a + culture-independent formatted date and time string, a formatted date and time string in the current + culture, or an ISO8601-format string. + A DateTime value + + + + Converts a string into a DateTime, using the specified DateTimeFormat, + DateTimeKind and DateTimeFormatString. + + + Acceptable ISO8601 DateTime formats are: + + THHmmssK + THHmmK + HH:mm:ss.FFFFFFFK + HH:mm:ssK + HH:mmK + yyyy-MM-dd HH:mm:ss.FFFFFFFK + yyyy-MM-dd HH:mm:ssK + yyyy-MM-dd HH:mmK + yyyy-MM-ddTHH:mm:ss.FFFFFFFK + yyyy-MM-ddTHH:mmK + yyyy-MM-ddTHH:mm:ssK + yyyyMMddHHmmssK + yyyyMMddHHmmK + yyyyMMddTHHmmssFFFFFFFK + THHmmss + THHmm + HH:mm:ss.FFFFFFF + HH:mm:ss + HH:mm + yyyy-MM-dd HH:mm:ss.FFFFFFF + yyyy-MM-dd HH:mm:ss + yyyy-MM-dd HH:mm + yyyy-MM-ddTHH:mm:ss.FFFFFFF + yyyy-MM-ddTHH:mm + yyyy-MM-ddTHH:mm:ss + yyyyMMddHHmmss + yyyyMMddHHmm + yyyyMMddTHHmmssFFFFFFF + yyyy-MM-dd + yyyyMMdd + yy-MM-dd + + If the string cannot be matched to one of the above formats -OR- + the DateTimeFormatString if one was provided, an exception will + be thrown. + + The string containing either a long integer number of 100-nanosecond units since + System.DateTime.MinValue, a Julian day double, an integer number of seconds since the Unix epoch, a + culture-independent formatted date and time string, a formatted date and time string in the current + culture, or an ISO8601-format string. + The SQLiteDateFormats to use. + The DateTimeKind to use. + The DateTime format string to use. + A DateTime value + + + + Converts a julianday value into a DateTime + + The value to convert + A .NET DateTime + + + + Converts a julianday value into a DateTime + + The value to convert + The DateTimeKind to use. + A .NET DateTime + + + + Converts the specified number of seconds from the Unix epoch into a + value. + + + The number of whole seconds since the Unix epoch. + + + Either Utc or Local time. + + + The new value. + + + + + Converts the specified number of ticks since the epoch into a + value. + + + The number of whole ticks since the epoch. + + + Either Utc or Local time. + + + The new value. + + + + + Converts a DateTime struct to a JulianDay double + + The DateTime to convert + The JulianDay value the Datetime represents + + + + Converts a DateTime struct to the whole number of seconds since the + Unix epoch. + + The DateTime to convert + The whole number of seconds since the Unix epoch + + + + Returns the DateTime format string to use for the specified DateTimeKind. + If is not null, it will be returned verbatim. + + The DateTimeKind to use. + The DateTime format string to use. + + The DateTime format string to use for the specified DateTimeKind. + + + + + Converts a string into a DateTime, using the DateTimeFormat, DateTimeKind, + and DateTimeFormatString specified for the connection when it was opened. + + The DateTime value to convert + Either a string containing the long integer number of 100-nanosecond units since System.DateTime.MinValue, a + Julian day double, an integer number of seconds since the Unix epoch, a culture-independent formatted date and time + string, a formatted date and time string in the current culture, or an ISO8601-format date/time string. + + + + Converts a string into a DateTime, using the DateTimeFormat, DateTimeKind, + and DateTimeFormatString specified for the connection when it was opened. + + The DateTime value to convert + The SQLiteDateFormats to use. + The DateTimeKind to use. + The DateTime format string to use. + Either a string containing the long integer number of 100-nanosecond units since System.DateTime.MinValue, a + Julian day double, an integer number of seconds since the Unix epoch, a culture-independent formatted date and time + string, a formatted date and time string in the current culture, or an ISO8601-format date/time string. + + + + Internal function to convert a UTF-8 encoded IntPtr of the specified length to a DateTime. + + + This is a convenience function, which first calls ToString() on the IntPtr to convert it to a string, then calls + ToDateTime() on the string to return a DateTime. + + A pointer to the UTF-8 encoded string + The length in bytes of the string + The parsed DateTime value + + + + Smart method of splitting a string. Skips quoted elements, removes the quotes. + + + This split function works somewhat like the String.Split() function in that it breaks apart a string into + pieces and returns the pieces as an array. The primary differences are: + + Only one character can be provided as a separator character + Quoted text inside the string is skipped over when searching for the separator, and the quotes are removed. + + Thus, if splitting the following string looking for a comma:
+ One,Two, "Three, Four", Five
+
+ The resulting array would contain
+ [0] One
+ [1] Two
+ [2] Three, Four
+ [3] Five
+
+ Note that the leading and trailing spaces were removed from each item during the split. +
+ Source string to split apart + Separator character + A string array of the split up elements +
+ + + Splits the specified string into multiple strings based on a separator + and returns the result as an array of strings. + + + The string to split into pieces based on the separator character. If + this string is null, null will always be returned. If this string is + empty, an array of zero strings will always be returned. + + + The character used to divide the original string into sub-strings. + This character cannot be a backslash or a double-quote; otherwise, no + work will be performed and null will be returned. + + + If this parameter is non-zero, all double-quote characters will be + retained in the returned list of strings; otherwise, they will be + dropped. + + + Upon failure, this parameter will be modified to contain an appropriate + error message. + + + The new array of strings or null if the input string is null -OR- the + separator character is a backslash or a double-quote -OR- the string + contains an unbalanced backslash or double-quote character. + + + + + Queries and returns the string representation for an object, using the + specified (or current) format provider. + + + The object instance to return the string representation for. + + + The format provider to use -OR- null if the current format provider for + the thread should be used instead. + + + The string representation for the object instance -OR- null if the + object instance is also null. + + + + + Attempts to convert an arbitrary object to the Boolean data type. + Null object values are converted to false. Throws an exception + upon failure. + + + The object value to convert. + + + The format provider to use. + + + If non-zero, a string value will be converted using the + + method; otherwise, the + method will be used. + + + The converted boolean value. + + + + + Convert a value to true or false. + + A string or number representing true or false + + + + + Converts an integer to a string that can be round-tripped using the + invariant culture. + + + The integer value to return the string representation for. + + + The string representation of the specified integer value, using the + invariant culture. + + + + + Attempts to convert a into a . + + + The to convert, cannot be null. + + + The converted value. + + + The supported strings are "yes", "no", "y", "n", "on", "off", "0", "1", + as well as any prefix of the strings + and . All strings are treated in a + case-insensitive manner. + + + + + Converts a SQLiteType to a .NET Type object + + The SQLiteType to convert + Returns a .NET Type object + + + + For a given intrinsic type, return a DbType + + The native type to convert + The corresponding (closest match) DbType + + + + Returns the ColumnSize for the given DbType + + The DbType to get the size of + + + + + Determines the default database type name to be used when a + per-connection value is not available. + + + The connection context for type mappings, if any. + + + The default database type name to use. + + + + + If applicable, issues a trace log message warning about falling back to + the default database type name. + + + The database value type. + + + The flags associated with the parent connection object. + + + The textual name of the database type. + + + + + If applicable, issues a trace log message warning about falling back to + the default database value type. + + + The textual name of the database type. + + + The flags associated with the parent connection object. + + + The database value type. + + + + + For a given database value type, return the "closest-match" textual database type name. + + The connection context for custom type mappings, if any. + The database value type. + The flags associated with the parent connection object. + The type name or an empty string if it cannot be determined. + + + + Convert a DbType to a Type + + The DbType to convert from + The closest-match .NET type + + + + For a given type, return the closest-match SQLite TypeAffinity, which only understands a very limited subset of types. + + The type to evaluate + The flags associated with the connection. + The SQLite type affinity for that type. + + + + Builds and returns a map containing the database column types + recognized by this provider. + + + A map containing the database column types recognized by this + provider. + + + + + Determines if a database type is considered to be a string. + + + The database type to check. + + + Non-zero if the database type is considered to be a string, zero + otherwise. + + + + + Determines and returns the runtime configuration setting string that + should be used in place of the specified object value. + + + The object value to convert to a string. + + + Either the string to use in place of the object value -OR- null if it + cannot be determined. + + + + + Determines the default value to be used when a + per-connection value is not available. + + + The connection context for type mappings, if any. + + + The default value to use. + + + + + Converts the object value, which is assumed to have originated + from a , to a string value. + + + The value to be converted to a string. + + + A null value will be returned if the original value is null -OR- + the original value is . Otherwise, + the original value will be converted to a string, using its + (possibly overridden) method and + then returned. + + + + + Determines if the specified textual value appears to be a + value. + + + The textual value to inspect. + + + Non-zero if the text looks like a value, + zero otherwise. + + + + + Determines if the specified textual value appears to be an + value. + + + The textual value to inspect. + + + Non-zero if the text looks like an value, + zero otherwise. + + + + + Determines if the specified textual value appears to be a + value. + + + The textual value to inspect. + + + Non-zero if the text looks like a value, + zero otherwise. + + + + + Determines if the specified textual value appears to be a + value. + + + The object instance configured with + the chosen format. + + + The textual value to inspect. + + + Non-zero if the text looks like a in the + configured format, zero otherwise. + + + + + For a given textual database type name, return the "closest-match" database type. + This method is called during query result processing; therefore, its performance + is critical. + + The connection context for custom type mappings, if any. + The textual name of the database type to match. + The flags associated with the parent connection object. + The .NET DBType the text evaluates to. + + + + The error code used for logging exceptions caught in user-provided + code. + + + + + Returns non-zero if this connection to the database is read-only. + + + + + Sets the status of the memory usage tracking subsystem in the SQLite core library. By default, this is enabled. + If this is disabled, memory usage tracking will not be performed. This is not really a per-connection value, it is + global to the process. + + Non-zero to enable memory usage tracking, zero otherwise. + A standard SQLite return code (i.e. zero for success and non-zero for failure). + + + + Attempts to free as much heap memory as possible for the database connection. + + A standard SQLite return code (i.e. zero for success and non-zero for failure). + + + + Shutdown the SQLite engine so that it can be restarted with different config options. + We depend on auto initialization to recover. + + + + + Determines if the associated native connection handle is open. + + + Non-zero if a database connection is open. + + + + + Returns the fully qualified path and file name for the currently open + database, if any. + + + The name of the attached database to query. + + + The fully qualified path and file name for the currently open database, + if any. + + + + + Opens a database. + + + Implementers should call SQLiteFunction.BindFunctions() and save the array after opening a connection + to bind all attributed user-defined functions and collating sequences to the new connection. + + The filename of the database to open. SQLite automatically creates it if it doesn't exist. + The name of the VFS to use -OR- null to use the default VFS. + The flags associated with the parent connection object + The open flags to use when creating the connection + The maximum size of the pool for the given filename + If true, the connection can be pulled from the connection pool + + + + Closes the currently-open database. + + + After the database has been closed implemeters should call SQLiteFunction.UnbindFunctions() to deallocate all interop allocated + memory associated with the user-defined functions and collating sequences tied to the closed connection. + + Non-zero if connection is being disposed, zero otherwise. + + + + Sets the busy timeout on the connection. SQLiteCommand will call this before executing any command. + + The number of milliseconds to wait before returning SQLITE_BUSY + + + + Returns the text of the last error issued by SQLite + + + + + + Returns the text of the last error issued by SQLite -OR- the specified default error text if + none is available from the SQLite core library. + + + The error text to return in the event that one is not available from the SQLite core library. + + + The error text. + + + + + When pooling is enabled, force this connection to be disposed rather than returned to the pool + + + + + When pooling is enabled, returns the number of pool entries matching the current file name. + + The number of pool entries matching the current file name. + + + + Prepares a SQL statement for execution. + + The source connection preparing the command. Can be null for any caller except LINQ + The SQL command text to prepare + The previous statement in a multi-statement command, or null if no previous statement exists + The timeout to wait before aborting the prepare + The remainder of the statement that was not processed. Each call to prepare parses the + SQL up to to either the end of the text or to the first semi-colon delimiter. The remaining text is returned + here for a subsequent call to Prepare() until all the text has been processed. + Returns an initialized SQLiteStatement. + + + + Steps through a prepared statement. + + The SQLiteStatement to step through + True if a row was returned, False if not. + + + + Returns non-zero if the specified statement is read-only in nature. + + The statement to check. + True if the outer query is read-only. + + + + Resets a prepared statement so it can be executed again. If the error returned is SQLITE_SCHEMA, + transparently attempt to rebuild the SQL statement and throw an error if that was not possible. + + The statement to reset + Returns -1 if the schema changed while resetting, 0 if the reset was sucessful or 6 (SQLITE_LOCKED) if the reset failed due to a lock + + + + Attempts to interrupt the query currently executing on the associated + native database connection. + + + + + This function binds a user-defined function to the connection. + + + The object instance containing + the metadata for the function to be bound. + + + The object instance that implements the + function to be bound. + + + The flags associated with the parent connection object. + + + + + This function unbinds a user-defined function from the connection. + + + The object instance containing + the metadata for the function to be unbound. + + + The flags associated with the parent connection object. + + Non-zero if the function was unbound. + + + + Calls the native SQLite core library in order to create a disposable + module containing the implementation of a virtual table. + + + The module object to be used when creating the native disposable module. + + + The flags for the associated object instance. + + + + + Calls the native SQLite core library in order to cleanup the resources + associated with a module containing the implementation of a virtual table. + + + The module object previously passed to the + method. + + + The flags for the associated object instance. + + + + + Calls the native SQLite core library in order to declare a virtual table + in response to a call into the + or virtual table methods. + + + The virtual table module that is to be responsible for the virtual table + being declared. + + + The string containing the SQL statement describing the virtual table to + be declared. + + + Upon success, the contents of this parameter are undefined. Upon failure, + it should contain an appropriate error message. + + + A standard SQLite return code. + + + + + Calls the native SQLite core library in order to declare a virtual table + function in response to a call into the + or virtual table methods. + + + The virtual table module that is to be responsible for the virtual table + function being declared. + + + The number of arguments to the function being declared. + + + The name of the function being declared. + + + Upon success, the contents of this parameter are undefined. Upon failure, + it should contain an appropriate error message. + + + A standard SQLite return code. + + + + + Returns the current and/or highwater values for the specified database status parameter. + + + The database status parameter to query. + + + Non-zero to reset the highwater value to the current value. + + + If applicable, receives the current value. + + + If applicable, receives the highwater value. + + + A standard SQLite return code. + + + + + Change a limit value for the database. + + + The database limit to change. + + + The new value for the specified limit. + + + The old value for the specified limit -OR- negative one if an error + occurs. + + + + + Change a configuration option value for the database. + + + The database configuration option to change. + + + The new value for the specified configuration option. + + + A standard SQLite return code. + + + + + Enables or disables extension loading by SQLite. + + + True to enable loading of extensions, false to disable. + + + + + Loads a SQLite extension library from the named file. + + + The name of the dynamic link library file containing the extension. + + + The name of the exported function used to initialize the extension. + If null, the default "sqlite3_extension_init" will be used. + + + + + Enables or disables extened result codes returned by SQLite + + true to enable extended result codes, false to disable. + + + + + Returns the numeric result code for the most recent failed SQLite API call + associated with the database connection. + + Result code + + + + Returns the extended numeric result code for the most recent failed SQLite API call + associated with the database connection. + + Extended result code + + + + Add a log message via the SQLite sqlite3_log interface. + + Error code to be logged with the message. + String to be logged. Unlike the SQLite sqlite3_log() + interface, this should be pre-formatted. Consider using the + String.Format() function. + + + + + Checks if the SQLite core library has been initialized in the current process. + + + Non-zero if the SQLite core library has been initialized in the current process, + zero otherwise. + + + + + Creates a new SQLite backup object based on the provided destination + database connection. The source database connection is the one + associated with this object. The source and destination database + connections cannot be the same. + + The destination database connection. + The destination database name. + The source database name. + The newly created backup object. + + + + Copies up to N pages from the source database to the destination + database associated with the specified backup object. + + The backup object to use. + + The number of pages to copy or negative to copy all remaining pages. + + + Set to true if the operation needs to be retried due to database + locking issues. + + + True if there are more pages to be copied, false otherwise. + + + + + Returns the number of pages remaining to be copied from the source + database to the destination database associated with the specified + backup object. + + The backup object to check. + The number of pages remaining to be copied. + + + + Returns the total number of pages in the source database associated + with the specified backup object. + + The backup object to check. + The total number of pages in the source database. + + + + Destroys the backup object, rolling back any backup that may be in + progess. + + The backup object to destroy. + + + + Returns the error message for the specified SQLite return code using + the internal static lookup table. + + The SQLite return code. + The error message or null if it cannot be found. + + + + Returns a string representing the active version of SQLite + + + + + Returns an integer representing the active version of SQLite + + + + + Returns the rowid of the most recent successful INSERT into the database from this connection. + + + + + Returns the number of changes the last executing insert/update caused. + + + + + Returns the amount of memory (in bytes) currently in use by the SQLite core library. This is not really a per-connection + value, it is global to the process. + + + + + Returns the maximum amount of memory (in bytes) used by the SQLite core library since the high-water mark was last reset. + This is not really a per-connection value, it is global to the process. + + + + + Returns non-zero if the underlying native connection handle is owned by this instance. + + + + + Returns the logical list of functions associated with this connection. + + + + + Returns non-zero if the given database connection is in autocommit mode. + Autocommit mode is on by default. Autocommit mode is disabled by a BEGIN + statement. Autocommit mode is re-enabled by a COMMIT or ROLLBACK. + + + + + This field is used to refer to memory allocated for the + SQLITE_DBCONFIG_MAINDBNAME value used with the native + "sqlite3_db_config" API. If allocated, the associated + memeory will be freed when the underlying connection is + closed. + + + + + The opaque pointer returned to us by the sqlite provider + + + + + The user-defined functions registered on this connection + + + + + This is the name of the native library file that contains the + "vtshim" extension [wrapper]. + + + + + This is the flag indicate whether the native library file that + contains the "vtshim" extension must be dynamically loaded by + this class prior to use. + + + + + This is the name of the native entry point for the "vtshim" + extension [wrapper]. + + + + + The modules created using this connection. + + + + + Constructs the object used to interact with the SQLite core library + using the UTF-8 text encoding. + + + The DateTime format to be used when converting string values to a + DateTime and binding DateTime parameters. + + + The to be used when creating DateTime + values. + + + The format string to be used when parsing and formatting DateTime + values. + + + The native handle to be associated with the database connection. + + + The fully qualified file name associated with . + + + Non-zero if the newly created object instance will need to dispose + of when it is no longer needed. + + + + + This method attempts to dispose of all the derived + object instances currently associated with the native database connection. + + + + + Returns the number of times the method has been + called. + + + + + This method determines whether or not a + with a return code of should + be thrown after making a call into the SQLite core library. + + + Non-zero if a to be thrown. This method + will only return non-zero if the method was called + one or more times during a call into the SQLite core library (e.g. when + the sqlite3_prepare*() or sqlite3_step() APIs are used). + + + + + Resets the value of the field. + + + + + Attempts to interrupt the query currently executing on the associated + native database connection. + + + + + This function binds a user-defined function to the connection. + + + The object instance containing + the metadata for the function to be bound. + + + The object instance that implements the + function to be bound. + + + The flags associated with the parent connection object. + + + + + This function binds a user-defined function to the connection. + + + The object instance containing + the metadata for the function to be unbound. + + + The flags associated with the parent connection object. + + Non-zero if the function was unbound and removed. + + + + Attempts to free as much heap memory as possible for the database connection. + + A standard SQLite return code (i.e. zero for success and non-zero for failure). + + + + Attempts to free N bytes of heap memory by deallocating non-essential memory + allocations held by the database library. Memory used to cache database pages + to improve performance is an example of non-essential memory. This is a no-op + returning zero if the SQLite core library was not compiled with the compile-time + option SQLITE_ENABLE_MEMORY_MANAGEMENT. Optionally, attempts to reset and/or + compact the Win32 native heap, if applicable. + + + The requested number of bytes to free. + + + Non-zero to attempt a heap reset. + + + Non-zero to attempt heap compaction. + + + The number of bytes actually freed. This value may be zero. + + + This value will be non-zero if the heap reset was successful. + + + The size of the largest committed free block in the heap, in bytes. + This value will be zero unless heap compaction is enabled. + + + A standard SQLite return code (i.e. zero for success and non-zero + for failure). + + + + + Shutdown the SQLite engine so that it can be restarted with different + configuration options. We depend on auto initialization to recover. + + Returns a standard SQLite result code. + + + + Shutdown the SQLite engine so that it can be restarted with different + configuration options. We depend on auto initialization to recover. + + + Non-zero to reset the database and temporary directories to their + default values, which should be null for both. This parameter has no + effect on non-Windows operating systems. + + Returns a standard SQLite result code. + + + + Determines if the associated native connection handle is open. + + + Non-zero if the associated native connection handle is open. + + + + + Returns the fully qualified path and file name for the currently open + database, if any. + + + The name of the attached database to query. + + + The fully qualified path and file name for the currently open database, + if any. + + + + + This method attempts to determine if a database connection opened + with the specified should be + allowed into the connection pool. + + + The that were specified when the + connection was opened. + + + Non-zero if the connection should (eventually) be allowed into the + connection pool; otherwise, zero. + + + + + Has the sqlite3_errstr() core library API been checked for yet? + If so, is it present? + + + + + Returns the error message for the specified SQLite return code using + the sqlite3_errstr() function, falling back to the internal lookup + table if necessary. + + WARNING: Do not remove this method, it is used via reflection. + + The SQLite return code. + The error message or null if it cannot be found. + + + + Has the sqlite3_stmt_readonly() core library API been checked for yet? + If so, is it present? + + + + + Returns non-zero if the specified statement is read-only in nature. + + The statement to check. + True if the outer query is read-only. + + + + This field is used to keep track of whether or not the + "SQLite_ForceLogPrepare" environment variable has been queried. If so, + it will only be non-zero if the environment variable was present. + + + + + Determines if all calls to prepare a SQL query will be logged, + regardless of the flags for the associated connection. + + + Non-zero to log all calls to prepare a SQL query. + + + + + Determines the file name of the native library containing the native + "vtshim" extension -AND- whether it should be dynamically loaded by + this class. + + + This output parameter will be set to non-zero if the returned native + library file name should be dynamically loaded prior to attempting + the creation of native disposable extension modules. + + + The file name of the native library containing the native "vtshim" + extension -OR- null if it cannot be determined. + + + + + Calls the native SQLite core library in order to create a disposable + module containing the implementation of a virtual table. + + + The module object to be used when creating the native disposable module. + + + The flags for the associated object instance. + + + + + Calls the native SQLite core library in order to cleanup the resources + associated with a module containing the implementation of a virtual table. + + + The module object previously passed to the + method. + + + The flags for the associated object instance. + + + + + Calls the native SQLite core library in order to declare a virtual table + in response to a call into the + or virtual table methods. + + + The virtual table module that is to be responsible for the virtual table + being declared. + + + The string containing the SQL statement describing the virtual table to + be declared. + + + Upon success, the contents of this parameter are undefined. Upon failure, + it should contain an appropriate error message. + + + A standard SQLite return code. + + + + + Calls the native SQLite core library in order to declare a virtual table + function in response to a call into the + or virtual table methods. + + + The virtual table module that is to be responsible for the virtual table + function being declared. + + + The number of arguments to the function being declared. + + + The name of the function being declared. + + + Upon success, the contents of this parameter are undefined. Upon failure, + it should contain an appropriate error message. + + + A standard SQLite return code. + + + + + Builds an error message string fragment containing the + defined values of the + enumeration. + + + The built string fragment. + + + + + Builds an error message string fragment containing the + defined values of the + enumeration. + + + The built string fragment. + + + + + Builds an error message string fragment containing the + defined values of the + enumeration. + + + The built string fragment. + + + + + Returns the current and/or highwater values for the specified + database status parameter. + + + The database status parameter to query. + + + Non-zero to reset the highwater value to the current value. + + + If applicable, receives the current value. + + + If applicable, receives the highwater value. + + + A standard SQLite return code. + + + + + Change a limit value for the database. + + + The database limit to change. + + + The new value for the specified limit. + + + The old value for the specified limit -OR- negative one if an error + occurs. + + + + + Change a configuration option value for the database. + + + The database configuration option to change. + + + The new value for the specified configuration option. + + + A standard SQLite return code. + + + + + Enables or disables extension loading by SQLite. + + + True to enable loading of extensions, false to disable. + + + + + Loads a SQLite extension library from the named file. + + + The name of the dynamic link library file containing the extension. + + + The name of the exported function used to initialize the extension. + If null, the default "sqlite3_extension_init" will be used. + + + + Enables or disables extended result codes returned by SQLite + + + Gets the last SQLite error code + + + Gets the last SQLite extended error code + + + Add a log message via the SQLite sqlite3_log interface. + + + Add a log message via the SQLite sqlite3_log interface. + + + + Allows the setting of a logging callback invoked by SQLite when a + log event occurs. Only one callback may be set. If NULL is passed, + the logging callback is unregistered. + + The callback function to invoke. + Returns a result code + + + + Appends an error message and an appropriate line-ending to a + instance. This is useful because the .NET Compact Framework has a slightly different set + of supported methods for the class. + + + The instance to append to. + + + The message to append. It will be followed by an appropriate line-ending. + + + + + This method attempts to cause the SQLite native library to invalidate + its function pointers that refer to this instance. This is necessary + to prevent calls from native code into delegates that may have been + garbage collected. Normally, these types of issues can only arise for + connections that are added to the pool; howver, it is good practice to + unconditionally invalidate function pointers that may refer to objects + being disposed. + + + Non-zero to also invalidate global function pointers (i.e. those that + are not directly associated with this connection on the native side). + + + Non-zero if this method is being executed within a context where it can + throw an exception in the event of failure; otherwise, zero. + + + Non-zero if this method was successful; otherwise, zero. + + + + + This method attempts to free the cached database name used with the + method. + + + Non-zero if this method is being executed within a context where it can + throw an exception in the event of failure; otherwise, zero. + + + Non-zero if this method was successful; otherwise, zero. + + + + + Creates a new SQLite backup object based on the provided destination + database connection. The source database connection is the one + associated with this object. The source and destination database + connections cannot be the same. + + The destination database connection. + The destination database name. + The source database name. + The newly created backup object. + + + + Copies up to N pages from the source database to the destination + database associated with the specified backup object. + + The backup object to use. + + The number of pages to copy, negative to copy all remaining pages. + + + Set to true if the operation needs to be retried due to database + locking issues; otherwise, set to false. + + + True if there are more pages to be copied, false otherwise. + + + + + Returns the number of pages remaining to be copied from the source + database to the destination database associated with the specified + backup object. + + The backup object to check. + The number of pages remaining to be copied. + + + + Returns the total number of pages in the source database associated + with the specified backup object. + + The backup object to check. + The total number of pages in the source database. + + + + Destroys the backup object, rolling back any backup that may be in + progess. + + The backup object to destroy. + + + + Determines if the SQLite core library has been initialized for the + current process. + + + A boolean indicating whether or not the SQLite core library has been + initialized for the current process. + + + + + Determines if the SQLite core library has been initialized for the + current process. + + + A boolean indicating whether or not the SQLite core library has been + initialized for the current process. + + + + + Helper function to retrieve a column of data from an active statement. + + The statement being step()'d through + The flags associated with the connection. + The column index to retrieve + The type of data contained in the column. If Uninitialized, this function will retrieve the datatype information. + Returns the data in the column + + + + Returns non-zero if the underlying native connection handle is owned + by this instance. + + + + + Returns the logical list of functions associated with this connection. + + + + + Alternate SQLite3 object, overriding many text behaviors to support UTF-16 (Unicode) + + + + + Constructs the object used to interact with the SQLite core library + using the UTF-8 text encoding. + + + The DateTime format to be used when converting string values to a + DateTime and binding DateTime parameters. + + + The to be used when creating DateTime + values. + + + The format string to be used when parsing and formatting DateTime + values. + + + The native handle to be associated with the database connection. + + + The fully qualified file name associated with . + + + Non-zero if the newly created object instance will need to dispose + of when it is no longer needed. + + + + + Overrides SQLiteConvert.ToString() to marshal UTF-16 strings instead of UTF-8 + + A pointer to a UTF-16 string + The length (IN BYTES) of the string + A .NET string + + + + Represents a single SQL backup in SQLite. + + + + + The underlying SQLite object this backup is bound to. + + + + + The actual backup handle. + + + + + The destination database for the backup. + + + + + The destination database name for the backup. + + + + + The source database for the backup. + + + + + The source database name for the backup. + + + + + The last result from the StepBackup method of the SQLite3 class. + This is used to determine if the call to the FinishBackup method of + the SQLite3 class should throw an exception when it receives a non-Ok + return code from the core SQLite library. + + + + + Initializes the backup. + + The base SQLite object. + The backup handle. + The destination database for the backup. + The destination database name for the backup. + The source database for the backup. + The source database name for the backup. + + + + Disposes and finalizes the backup. + + + + + + + + + + Creates temporary tables on the connection so schema information can be queried. + + + The connection upon which to build the schema tables. + + + + + The extra behavioral flags that can be applied to a connection. + + + + + No extra flags. + + + + + Enable logging of all SQL statements to be prepared. + + + + + Enable logging of all bound parameter types and raw values. + + + + + Enable logging of all bound parameter strongly typed values. + + + + + Enable logging of all exceptions caught from user-provided + managed code called from native code via delegates. + + + + + Enable logging of backup API errors. + + + + + Skip adding the extension functions provided by the native + interop assembly. + + + + + When binding parameter values with the + type, use the interop method that accepts an + value. + + + + + When binding parameter values, always bind them as though they were + plain text (i.e. no numeric, date/time, or other conversions should + be attempted). + + + + + When returning column values, always return them as though they were + plain text (i.e. no numeric, date/time, or other conversions should + be attempted). + + + + + Prevent this object instance from + loading extensions. + + + + + Prevent this object instance from + creating virtual table modules. + + + + + Skip binding any functions provided by other managed assemblies when + opening the connection. + + + + + Skip setting the logging related properties of the + object instance that was passed to + the method. + + + + + Enable logging of all virtual table module errors seen by the + method. + + + + + Enable logging of certain virtual table module exceptions that cannot + be easily discovered via other means. + + + + + Enable tracing of potentially important [non-fatal] error conditions + that cannot be easily reported through other means. + + + + + When binding parameter values, always use the invariant culture when + converting their values from strings. + + + + + When binding parameter values, always use the invariant culture when + converting their values to strings. + + + + + Disable using the connection pool by default. If the "Pooling" + connection string property is specified, its value will override + this flag. The precise outcome of combining this flag with the + flag is unspecified; however, + one of the flags will be in effect. + + + + + Enable using the connection pool by default. If the "Pooling" + connection string property is specified, its value will override + this flag. The precise outcome of combining this flag with the + flag is unspecified; however, + one of the flags will be in effect. + + + + + Enable using per-connection mappings between type names and + values. Also see the + , + , and + methods. These + per-connection mappings, when present, override the corresponding + global mappings. + + + + + Disable using global mappings between type names and + values. This may be useful in some very narrow + cases; however, if there are no per-connection type mappings, the + fallback defaults will be used for both type names and their + associated values. Therefore, use of this flag + is not recommended. + + + + + When the property is used, it + should return non-zero if there were ever any rows in the associated + result sets. + + + + + Enable "strict" transaction enlistment semantics. Setting this flag + will cause an exception to be thrown if an attempt is made to enlist + in a transaction with an unavailable or unsupported isolation level. + In the future, more extensive checks may be enabled by this flag as + well. + + + + + Enable mapping of unsupported transaction isolation levels to the + closest supported transaction isolation level. + + + + + When returning column values, attempt to detect the affinity of + textual values by checking if they fully conform to those of the + , + , + , + or types. + + + + + When returning column values, attempt to detect the type of + string values by checking if they fully conform to those of + the , + , + , + or types. + + + + + Skip querying runtime configuration settings for use by the + class, including the default + value and default database type name. + NOTE: If the + and/or + properties are not set explicitly nor set via their connection + string properties and repeated calls to determine these runtime + configuration settings are seen to be a problem, this flag + should be set. + + + + + When binding parameter values with the + type, take their into account as + well as that of the associated . + + + + + If an exception is caught when raising the + event, the transaction + should be rolled back. If this is not specified, the transaction + will continue the commit process instead. + + + + + If an exception is caught when raising the + event, the action should + should be denied. If this is not specified, the action will be + allowed instead. + + + + + If an exception is caught when raising the + event, the operation + should be interrupted. If this is not specified, the operation + will simply continue. + + + + + Attempt to unbind all functions provided by other managed assemblies + when closing the connection. + + + + + When returning column values as a , skip + verifying their affinity. + + + + + Enable using per-connection mappings between type names and + values. Also see the + , + , and + methods. + + + + + Enable using per-connection mappings between type names and + values. Also see the + , + , and + methods. + + + + + If the database type name has not been explicitly set for the + parameter specified, fallback to using the parameter name. + + + + + If the database type name has not been explicitly set for the + parameter specified, fallback to using the database type name + associated with the value. + + + + + When returning column values, skip verifying their affinity. + + + + + Allow transactions to be nested. The outermost transaction still + controls whether or not any changes are ultimately committed or + rolled back. All non-outermost transactions are implemented using + the SAVEPOINT construct. + + + + + When binding parameter values, always bind + values as though they were plain text (i.e. not , + which is the legacy behavior). + + + + + When returning column values, always return + values as though they were plain text (i.e. not , + which is the legacy behavior). + + + + + When binding parameter values, always use + the invariant culture when converting their values to strings. + + + + + When returning column values, always use + the invariant culture when converting their values from strings. + + + + + EXPERIMENTAL -- + Enable waiting for the enlistment to be reset prior to attempting + to create a new enlistment. This may be necessary due to the + semantics used by distributed transactions, which complete + asynchronously. + + + + + When returning column values, always use + the invariant culture when converting their values from strings. + + + + + When returning column values, always use + the invariant culture when converting their values from strings. + + + + + EXPERIMENTAL -- + Enable strict conformance to the ADO.NET standard, e.g. use of + thrown exceptions to indicate common error conditions. + + + + + EXPERIMENTAL -- + When opening a connection, attempt to hide the password from the + connection string, etc. Given the memory architecture of the CLR, + (and P/Invoke) this is not 100% reliable and should not be relied + upon for security critical uses or applications. + + + + + When binding parameter values or returning column values, always + treat them as though they were plain text (i.e. no numeric, + date/time, or other conversions should be attempted). + + + + + When binding parameter values, always use the invariant culture when + converting their values to strings or from strings. + + + + + When binding parameter values or returning column values, always + treat them as though they were plain text (i.e. no numeric, + date/time, or other conversions should be attempted) and always + use the invariant culture when converting their values to strings. + + + + + When binding parameter values or returning column values, always + treat them as though they were plain text (i.e. no numeric, + date/time, or other conversions should be attempted) and always + use the invariant culture when converting their values to strings + or from strings. + + + + + Enables use of all per-connection value handling callbacks. + + + + + Enables use of all applicable + properties as fallbacks for the database type name. + + + + + Enable all logging. + + + + + The default logging related flags for new connections. + + + + + The default extra flags for new connections. + + + + + The default extra flags for new connections with all logging enabled. + + + + + These are the supported status parameters for use with the native + SQLite library. + + + + + This parameter returns the number of lookaside memory slots + currently checked out. + + + + + This parameter returns the approximate number of bytes of + heap memory used by all pager caches associated with the + database connection. The highwater mark associated with + SQLITE_DBSTATUS_CACHE_USED is always 0. + + + + + This parameter returns the approximate number of bytes of + heap memory used to store the schema for all databases + associated with the connection - main, temp, and any ATTACH-ed + databases. The full amount of memory used by the schemas is + reported, even if the schema memory is shared with other + database connections due to shared cache mode being enabled. + The highwater mark associated with SQLITE_DBSTATUS_SCHEMA_USED + is always 0. + + + + + This parameter returns the number malloc attempts that might + have been satisfied using lookaside memory but failed due to + all lookaside memory already being in use. Only the high-water + value is meaningful; the current value is always zero. + + + + + This parameter returns the number malloc attempts that were + satisfied using lookaside memory. Only the high-water value + is meaningful; the current value is always zero. + + + + + This parameter returns the number malloc attempts that might + have been satisfied using lookaside memory but failed due to + the amount of memory requested being larger than the lookaside + slot size. Only the high-water value is meaningful; the current + value is always zero. + + + + + This parameter returns the number malloc attempts that might + have been satisfied using lookaside memory but failed due to + the amount of memory requested being larger than the lookaside + slot size. Only the high-water value is meaningful; the current + value is always zero. + + + + + This parameter returns the number of pager cache hits that + have occurred. The highwater mark associated with + SQLITE_DBSTATUS_CACHE_HIT is always 0. + + + + + This parameter returns the number of pager cache misses that + have occurred. The highwater mark associated with + SQLITE_DBSTATUS_CACHE_MISS is always 0. + + + + + This parameter returns the number of dirty cache entries that + have been written to disk. Specifically, the number of pages + written to the wal file in wal mode databases, or the number + of pages written to the database file in rollback mode + databases. Any pages written as part of transaction rollback + or database recovery operations are not included. If an IO or + other error occurs while writing a page to disk, the effect + on subsequent SQLITE_DBSTATUS_CACHE_WRITE requests is + undefined. The highwater mark associated with + SQLITE_DBSTATUS_CACHE_WRITE is always 0. + + + + + This parameter returns zero for the current value if and only + if all foreign key constraints (deferred or immediate) have + been resolved. The highwater mark is always 0. + + + + + This parameter is similar to DBSTATUS_CACHE_USED, except that + if a pager cache is shared between two or more connections the + bytes of heap memory used by that pager cache is divided evenly + between the attached connections. In other words, if none of + the pager caches associated with the database connection are + shared, this request returns the same value as DBSTATUS_CACHE_USED. + Or, if one or more or the pager caches are shared, the value + returned by this call will be smaller than that returned by + DBSTATUS_CACHE_USED. The highwater mark associated with + SQLITE_DBSTATUS_CACHE_USED_SHARED is always 0. + + + + + This parameter returns the number of dirty cache entries that have + been written to disk in the middle of a transaction due to the page + cache overflowing. Transactions are more efficient if they are + written to disk all at once. When pages spill mid-transaction, that + introduces additional overhead. This parameter can be used help + identify inefficiencies that can be resolved by increasing the cache + size. + + + + + These are the supported configuration verbs for use with the native + SQLite library. They are used with the + method. + + + + + This value represents an unknown (or invalid) option, do not use it. + + + + + This option is used to change the name of the "main" database + schema. The sole argument is a pointer to a constant UTF8 string + which will become the new schema name in place of "main". + + + + + This option is used to configure the lookaside memory allocator. + The value must be an array with three elements. The second element + must be an containing the size of each buffer + slot. The third element must be an containing + the number of slots. The first element must be an + that points to a native memory buffer of bytes equal to or greater + than the product of the second and third element values. + + + + + This option is used to enable or disable the enforcement of + foreign key constraints. + + + + + This option is used to enable or disable triggers. + + + + + This option is used to enable or disable the two-argument version + of the fts3_tokenizer() function which is part of the FTS3 full-text + search engine extension. + + + + + This option is used to enable or disable the loading of extensions. + + + + + This option is used to enable or disable the automatic checkpointing + when a WAL database is closed. + + + + + This option is used to enable or disable the query planner stability + guarantee (QPSG). + + + + + This option is used to enable or disable the extra EXPLAIN QUERY PLAN + output for trigger programs. + + + + + This option is used as part of the process to reset a database back + to an empty state. Because resetting a database is destructive and + irreversible, the process requires the use of this obscure flag and + multiple steps to help ensure that it does not happen by accident. + + + + + This option activates or deactivates the "defensive" flag for a + database connection. When the defensive flag is enabled, language + features that allow ordinary SQL to deliberately corrupt the database + file are disabled. The disabled features include but are not limited + to the following: + ]]> + ]]> + The PRAGMA writable_schema=ON statement. + ]]> + ]]> + The PRAGMA journal_mode=OFF statement. + ]]> + ]]> + Writes to the sqlite_dbpage virtual table. + ]]> + ]]> + Direct writes to shadow tables. + ]]> + ]]> + + + + + This option activates or deactivates the "writable_schema" flag. + + + + + This option activates or deactivates the legacy behavior of the ALTER + TABLE RENAME command such it behaves as it did prior to version 3.24.0 + (2018-06-04). + + + + + This option activates or deactivates the legacy double-quoted string + literal misfeature for DML statement only, that is DELETE, INSERT, + SELECT, and UPDATE statements. + + + + + This option activates or deactivates the legacy double-quoted string + literal misfeature for DDL statements, such as CREATE TABLE and CREATE + INDEX. + + + + + This option is used to enable or disable CREATE VIEW. + + + + + This option activates or deactivates the legacy file format flag. + + + + + This option tells SQLite to assume that database schemas (i.e. the + contents of the sqlite_master tables) are untainted by malicious + content. When the trusted schema option is disabled, SQLite takes + additional defensive steps to protect the application from harm + including: + ]]> + ]]> + Prohibit the use of SQL functions inside triggers, views, CHECK + constraints, DEFAULT clauses, expression indexes, partial indexes, + or generated columns unless those functions are tagged with + SQLITE_INNOCUOUS. + ]]> + ]]> + Prohibit the use of virtual tables inside of triggers or views + unless those virtual tables are tagged with SQLITE_VTAB_INNOCUOUS. + ]]> + This setting defaults to "on" for legacy compatibility, however + all applications are advised to turn it off if possible. This + setting can also be controlled using the PRAGMA trusted_schema + statement. + + + + + These constants are used with the sqlite3_trace_v2() API and the + callbacks registered by it. + + + + + These constants are used with the sqlite3_limit() API. + + + + + This value represents an unknown (or invalid) limit, do not use it. + + + + + The maximum size of any string or BLOB or table row, in bytes. + + + + + The maximum length of an SQL statement, in bytes. + + + + + The maximum number of columns in a table definition or in the + result set of a SELECT or the maximum number of columns in an + index or in an ORDER BY or GROUP BY clause. + + + + + The maximum depth of the parse tree on any expression. + + + + + The maximum number of terms in a compound SELECT statement. + + + + + The maximum number of instructions in a virtual machine program + used to implement an SQL statement. If sqlite3_prepare_v2() or + the equivalent tries to allocate space for more than this many + opcodes in a single prepared statement, an SQLITE_NOMEM error + is returned. + + + + + The maximum number of arguments on a function. + + + + + The maximum number of attached databases. + + + + + The maximum length of the pattern argument to the LIKE or GLOB + operators. + + + + + The maximum index number of any parameter in an SQL statement. + + + + + The maximum depth of recursion for triggers. + + + + + The maximum number of auxiliary worker threads that a single + prepared statement may start. + + + + + Represents a single SQL blob in SQLite. + + + + + The underlying SQLite object this blob is bound to. + + + + + The actual blob handle. + + + + + Initializes the blob. + + The base SQLite object. + The blob handle. + + + + Creates a object. This will not work + for tables that were created WITHOUT ROWID -OR- if the query + does not include the "rowid" column or one of its aliases -OR- + if the was not created with the + flag. + + + The instance with a result set + containing the desired blob column. + + + The index of the blob column. + + + Non-zero to open the blob object for read-only access. + + + The newly created instance -OR- null + if an error occurs. + + + + + Creates a object. This will not work + for tables that were created WITHOUT ROWID. + + + The connection to use when opening the blob object. + + + The name of the database containing the blob object. + + + The name of the table containing the blob object. + + + The name of the column containing the blob object. + + + The integer identifier for the row associated with the desired + blob object. + + + Non-zero to open the blob object for read-only access. + + + The newly created instance -OR- null + if an error occurs. + + + + + Throws an exception if the blob object does not appear to be open. + + + + + Throws an exception if an invalid read/write parameter is detected. + + + When reading, this array will be populated with the bytes read from + the underlying database blob. When writing, this array contains new + values for the specified portion of the underlying database blob. + + + The number of bytes to read or write. + + + The byte offset, relative to the start of the underlying database + blob, where the read or write operation will begin. + + + + + Retargets this object to an underlying database blob for a + different row; the database, table, and column remain exactly + the same. If this operation fails for any reason, this blob + object is automatically disposed. + + + The integer identifier for the new row. + + + + + Queries the total number of bytes for the underlying database blob. + + + The total number of bytes for the underlying database blob. + + + + + Reads data from the underlying database blob. + + + This array will be populated with the bytes read from the + underlying database blob. + + + The number of bytes to read. + + + The byte offset, relative to the start of the underlying + database blob, where the read operation will begin. + + + + + Writes data into the underlying database blob. + + + This array contains the new values for the specified portion of + the underlying database blob. + + + The number of bytes to write. + + + The byte offset, relative to the start of the underlying + database blob, where the write operation will begin. + + + + + Closes the blob, freeing the associated resources. + + + + + Disposes and finalizes the blob. + + + + + The destructor. + + + + + SQLite implementation of DbCommand. + + + + + The default connection string to be used when creating a temporary + connection to execute a command via the static + or + + methods. + + + + + The command text this command is based on + + + + + The connection the command is associated with + + + + + The version of the connection the command is associated with + + + + + Indicates whether or not a DataReader is active on the command. + + + + + The timeout for the command, kludged because SQLite doesn't support per-command timeout values + + + + + Designer support + + + + + Used by DbDataAdapter to determine updating behavior + + + + + The collection of parameters for the command + + + + + The SQL command text, broken into individual SQL statements as they are executed + + + + + Unprocessed SQL text that has not been executed + + + + + Transaction associated with this command + + + + + Constructs a new SQLiteCommand + + + Default constructor + + + + + Initializes the command with the given command text + + The SQL command text + + + + Initializes the command with the given SQL command text and attach the command to the specified + connection. + + The SQL command text + The connection to associate with the command + + + + Initializes the command and associates it with the specified connection. + + The connection to associate with the command + + + + Initializes a command with the given SQL, connection and transaction + + The SQL command text + The connection to associate with the command + The transaction the command should be associated with + + + + Disposes of the command and clears all member variables + + Whether or not the class is being explicitly or implicitly disposed + + + + This method attempts to query the flags associated with the database + connection in use. If the database connection is disposed, the default + flags will be returned. + + + The command containing the databse connection to query the flags from. + + + The connection flags value. + + + + + Clears and destroys all statements currently prepared + + + + + Builds an array of prepared statements for each complete SQL statement in the command text + + + + + Not implemented + + + + + Forwards to the local CreateParameter() function + + + + + + Create a new parameter + + + + + + Verifies that all SQL queries associated with the current command text + can be successfully compiled. A will be + raised if any errors occur. + + + + + This function ensures there are no active readers, that we have a valid connection, + that the connection is open, that all statements are prepared and all parameters are assigned + in preparation for allocating a data reader. + + + + + Creates a new SQLiteDataReader to execute/iterate the array of SQLite prepared statements + + The behavior the data reader should adopt + Returns a SQLiteDataReader object + + + + This method creates a new connection, executes the query using the given + execution type, closes the connection, and returns the results. If the + connection string is null, a temporary in-memory database connection will + be used. + + + The text of the command to be executed. + + + The execution type for the command. This is used to determine which method + of the command object to call, which then determines the type of results + returned, if any. + + + The connection string to the database to be opened, used, and closed. If + this parameter is null, a temporary in-memory databse will be used. + + + The SQL parameter values to be used when building the command object to be + executed, if any. + + + The results of the query -OR- null if no results were produced from the + given execution type. + + + + + This method creates a new connection, executes the query using the given + execution type and command behavior, closes the connection unless a data + reader is created, and returns the results. If the connection string is + null, a temporary in-memory database connection will be used. + + + The text of the command to be executed. + + + The execution type for the command. This is used to determine which method + of the command object to call, which then determines the type of results + returned, if any. + + + The command behavior flags for the command. + + + The connection string to the database to be opened, used, and closed. If + this parameter is null, a temporary in-memory databse will be used. + + + The SQL parameter values to be used when building the command object to be + executed, if any. + + + The results of the query -OR- null if no results were produced from the + given execution type. + + + + + This method executes a query using the given execution type and command + behavior and returns the results. + + + The text of the command to be executed. + + + The execution type for the command. This is used to determine which method + of the command object to call, which then determines the type of results + returned, if any. + + + The command behavior flags for the command. + + + The connection used to create and execute the command. + + + The SQL parameter values to be used when building the command object to be + executed, if any. + + + The results of the query -OR- null if no results were produced from the + given execution type. + + + + + Overrides the default behavior to return a SQLiteDataReader specialization class + + The flags to be associated with the reader. + A SQLiteDataReader + + + + Overrides the default behavior of DbDataReader to return a specialized SQLiteDataReader class + + A SQLiteDataReader + + + + Called by the SQLiteDataReader when the data reader is closed. + + + + + Execute the command and return the number of rows inserted/updated affected by it. + + The number of rows inserted/updated affected by it. + + + + Execute the command and return the number of rows inserted/updated affected by it. + + The flags to be associated with the reader. + The number of rows inserted/updated affected by it. + + + + Execute the command and return the first column of the first row of the resultset + (if present), or null if no resultset was returned. + + The first column of the first row of the first resultset from the query. + + + + Execute the command and return the first column of the first row of the resultset + (if present), or null if no resultset was returned. + + The flags to be associated with the reader. + The first column of the first row of the first resultset from the query. + + + + This method resets all the prepared statements held by this instance + back to their initial states, ready to be re-executed. + + + + + This method resets all the prepared statements held by this instance + back to their initial states, ready to be re-executed. + + + Non-zero if the parameter bindings should be cleared as well. + + + If this is zero, a may be thrown for + any unsuccessful return codes from the native library; otherwise, a + will only be thrown if the connection + or its state is invalid. + + + + + Does nothing. Commands are prepared as they are executed the first time, and kept in prepared state afterwards. + + + + + Clones a command, including all its parameters + + A new SQLiteCommand with the same commandtext, connection and parameters + + + + The SQL command text associated with the command + + + + + The amount of time to wait for the connection to become available before erroring out + + + + + The type of the command. SQLite only supports CommandType.Text + + + + + The connection associated with this command + + + + + Forwards to the local Connection property + + + + + Returns the SQLiteParameterCollection for the given command + + + + + Forwards to the local Parameters property + + + + + The transaction associated with this command. SQLite only supports one transaction per connection, so this property forwards to the + command's underlying connection. + + + + + Forwards to the local Transaction property + + + + + Sets the method the SQLiteCommandBuilder uses to determine how to update inserted or updated rows in a DataTable. + + + + + Determines if the command is visible at design time. Defaults to True. + + + + + SQLite implementation of DbCommandBuilder. + + + + + Default constructor + + + + + Initializes the command builder and associates it with the specified data adapter. + + + + + + Cleans up resources (native and managed) associated with the current instance. + + + Zero when being disposed via garbage collection; otherwise, non-zero. + + + + + Minimal amount of parameter processing. Primarily sets the DbType for the parameter equal to the provider type in the schema + + The parameter to use in applying custom behaviors to a row + The row to apply the parameter to + The type of statement + Whether the application of the parameter is part of a WHERE clause + + + + Returns a valid named parameter + + The name of the parameter + Error + + + + Returns a named parameter for the given ordinal + + The i of the parameter + Error + + + + Returns a placeholder character for the specified parameter i. + + The index of the parameter to provide a placeholder for + Returns a named parameter + + + + Sets the handler for receiving row updating events. Used by the DbCommandBuilder to autogenerate SQL + statements that may not have previously been generated. + + A data adapter to receive events on. + + + + Returns the automatically-generated SQLite command to delete rows from the database + + + + + + Returns the automatically-generated SQLite command to delete rows from the database + + + + + + + Returns the automatically-generated SQLite command to update rows in the database + + + + + + Returns the automatically-generated SQLite command to update rows in the database + + + + + + + Returns the automatically-generated SQLite command to insert rows into the database + + + + + + Returns the automatically-generated SQLite command to insert rows into the database + + + + + + + Places brackets around an identifier + + The identifier to quote + The bracketed identifier + + + + Removes brackets around an identifier + + The quoted (bracketed) identifier + The undecorated identifier + + + + Override helper, which can help the base command builder choose the right keys for the given query + + + + + + + Gets/sets the DataAdapter for this CommandBuilder + + + + + Overridden to hide its property from the designer + + + + + Overridden to hide its property from the designer + + + + + Overridden to hide its property from the designer + + + + + Overridden to hide its property from the designer + + + + + Overridden to hide its property from the designer + + + + + This class represents a single value to be returned + from the class via + its , + , + , + , + , + , + , + , + , + , + , + , + , + , + , or + method. If the value of the + associated public field of this class is null upon returning from the + callback, the null value will only be used if the return type for the + method called is not a value type. + If the value to be returned from the + method is unsuitable (e.g. null with a value type), an exception will + be thrown. + + + + + The value to be returned from the + method -OR- null to + indicate an error. + + + + + The value to be returned from the + method -OR- null to + indicate an error. + + + + + The value to be returned from the + method -OR- null to + indicate an error. + + + + + The value to be returned from the + method. + + + + + The value to be returned from the + method -OR- null to + indicate an error. + + + + + The value to be returned from the + method. + + + + + The value to be returned from the + method -OR- null to + indicate an error. + + + + + The value to be returned from the + method -OR- null to + indicate an error. + + + + + The value to be returned from the + method -OR- null to + indicate an error. + + + + + The value to be returned from the + method -OR- null to + indicate an error. + + + + + The value to be returned from the + method -OR- null to + indicate an error. + + + + + The value to be returned from the + method -OR- null to + indicate an error. + + + + + The value to be returned from the + method -OR- null to + indicate an error. + + + + + The value to be returned from the + method -OR- null to + indicate an error. + + + + + The value to be returned from the + method. + + + + + The value to be returned from the + method. + + + + + This class represents the parameters that are provided + to the methods, with + the exception of the column index (provided separately). + + + + + This class represents the parameters that are provided to + the method, with + the exception of the column index (provided separately). + + + + + Provides the underlying storage for the + property. + + + + + Constructs an instance of this class to pass into a user-defined + callback associated with the + method. + + + The value that was originally specified for the "readOnly" + parameter to the method. + + + + + The value that was originally specified for the "readOnly" + parameter to the method. + + + + + This class represents the parameters that are provided + to the and + methods, with + the exception of the column index (provided separately). + + + + + Provides the underlying storage for the + property. + + + + + Provides the underlying storage for the + property. + + + + + Provides the underlying storage for the + property. + + + + + Provides the underlying storage for the + property. + + + + + Provides the underlying storage for the + property. + + + + + Constructs an instance of this class to pass into a user-defined + callback associated with the + method. + + + The value that was originally specified for the "dataOffset" + parameter to the or + methods. + + + The value that was originally specified for the "buffer" + parameter to the + method. + + + The value that was originally specified for the "bufferOffset" + parameter to the or + methods. + + + The value that was originally specified for the "length" + parameter to the or + methods. + + + + + Constructs an instance of this class to pass into a user-defined + callback associated with the + method. + + + The value that was originally specified for the "dataOffset" + parameter to the or + methods. + + + The value that was originally specified for the "buffer" + parameter to the + method. + + + The value that was originally specified for the "bufferOffset" + parameter to the or + methods. + + + The value that was originally specified for the "length" + parameter to the or + methods. + + + + + The value that was originally specified for the "dataOffset" + parameter to the or + methods. + + + + + The value that was originally specified for the "buffer" + parameter to the + method. + + + + + The value that was originally specified for the "buffer" + parameter to the + method. + + + + + The value that was originally specified for the "bufferOffset" + parameter to the or + methods. + + + + + The value that was originally specified for the "length" + parameter to the or + methods. + + + + + This class represents the parameters and return values for the + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , and + methods. + + + + + Provides the underlying storage for the + property. + + + + + Provides the underlying storage for the + property. + + + + + Provides the underlying storage for the + property. + + + + + Constructs a new instance of this class. Depending on the method + being called, the and/or + parameters may be null. + + + The name of the method that was + responsible for invoking this callback. + + + If the or + method is being called, + this object will contain the array related parameters for that + method. If the method is + being called, this object will contain the blob related parameters + for that method. + + + This may be used by the callback to set the return value for the + called method. + + + + + The name of the method that was + responsible for invoking this callback. + + + + + If the or + method is being called, + this object will contain the array related parameters for that + method. If the method is + being called, this object will contain the blob related parameters + for that method. + + + + + This may be used by the callback to set the return value for the + called method. + + + + + This represents a method that will be called in response to a request to + bind a parameter to a command. If an exception is thrown, it will cause + the parameter binding operation to fail -AND- it will continue to unwind + the call stack. + + + The instance in use. + + + The instance in use. + + + The flags associated with the instance + in use. + + + The instance being bound to the command. + + + The database type name associated with this callback. + + + The ordinal of the parameter being bound to the command. + + + The data originally used when registering this callback. + + + Non-zero if the default handling for the parameter binding call should + be skipped (i.e. the parameter should not be bound at all). Great care + should be used when setting this to non-zero. + + + + + This represents a method that will be called in response to a request + to read a value from a data reader. If an exception is thrown, it will + cause the data reader operation to fail -AND- it will continue to unwind + the call stack. + + + The instance in use. + + + The instance in use. + + + The flags associated with the instance + in use. + + + The parameter and return type data for the column being read from the + data reader. + + + The database type name associated with this callback. + + + The zero based index of the column being read from the data reader. + + + The data originally used when registering this callback. + + + Non-zero if the default handling for the data reader call should be + skipped. If this is set to non-zero and the necessary return value + is unavailable or unsuitable, an exception will be thrown. + + + + + This class represents the custom data type handling callbacks + for a single type name. + + + + + Provides the underlying storage for the + property. + + + + + Provides the underlying storage for the + property. + + + + + Provides the underlying storage for the + property. + + + + + Provides the underlying storage for the + property. + + + + + Provides the underlying storage for the + property. + + + + + Constructs an instance of this class. + + + The custom paramater binding callback. This parameter may be null. + + + The custom data reader value callback. This parameter may be null. + + + The extra data to pass into the parameter binding callback. This + parameter may be null. + + + The extra data to pass into the data reader value callback. This + parameter may be null. + + + + + Creates an instance of the class. + + + The custom paramater binding callback. This parameter may be null. + + + The custom data reader value callback. This parameter may be null. + + + The extra data to pass into the parameter binding callback. This + parameter may be null. + + + The extra data to pass into the data reader value callback. This + parameter may be null. + + + + + The database type name that the callbacks contained in this class + will apply to. This value may not be null. + + + + + The custom paramater binding callback. This value may be null. + + + + + The custom data reader value callback. This value may be null. + + + + + The extra data to pass into the parameter binding callback. This + value may be null. + + + + + The extra data to pass into the data reader value callback. This + value may be null. + + + + + This class represents the mappings between database type names + and their associated custom data type handling callbacks. + + + + + Constructs an (empty) instance of this class. + + + + + Event data for connection event handlers. + + + + + The type of event being raised. + + + + + The associated with this event, if any. + + + + + The transaction associated with this event, if any. + + + + + The command associated with this event, if any. + + + + + The data reader associated with this event, if any. + + + + + The critical handle associated with this event, if any. + + + + + Command or message text associated with this event, if any. + + + + + Extra data associated with this event, if any. + + + + + Constructs the object. + + The type of event being raised. + The base associated + with this event, if any. + The transaction associated with this event, if any. + The command associated with this event, if any. + The data reader associated with this event, if any. + The critical handle associated with this event, if any. + The command or message text, if any. + The extra data, if any. + + + + Raised when an event pertaining to a connection occurs. + + The connection involved. + Extra information about the event. + + + + SQLite implentation of DbConnection. + + + The property can contain the following parameter(s), delimited with a semi-colon: + + + Parameter + Values + Required + Default + + + Data Source + + This may be a file name, the string ":memory:", or any supported URI (starting with SQLite 3.7.7). + Starting with release 1.0.86.0, in order to use more than one consecutive backslash (e.g. for a + UNC path), each of the adjoining backslash characters must be doubled (e.g. "\\Network\Share\test.db" + would become "\\\\Network\Share\test.db"). + + Y + + + + Uri + + If specified, this must be a file name that starts with "file://", "file:", or "/". Any leading + "file://" or "file:" prefix will be stripped off and the resulting file name will be used to open + the database. + + N + null + + + FullUri + + If specified, this must be a URI in a format recognized by the SQLite core library (starting with + SQLite 3.7.7). It will be passed verbatim to the SQLite core library. + + N + null + + + Version + 3 + N + 3 + + + UseUTF16Encoding + + True - The UTF-16 encoding should be used. +
+ False - The UTF-8 encoding should be used. +
+ N + False +
+ + DefaultDbType + + This is the default to use when one cannot be determined based on the + column metadata and the configured type mappings. + + N + null + + + DefaultTypeName + + This is the default type name to use when one cannot be determined based on the column metadata + and the configured type mappings. + + N + null + + + NoDefaultFlags + + True - Do not combine the specified (or existing) connection flags with the value of the + property. +
+ False - Combine the specified (or existing) connection flags with the value of the + property. +
+ N + False +
+ + NoSharedFlags + + True - Do not combine the specified (or existing) connection flags with the value of the + property. +
+ False - Combine the specified (or existing) connection flags with the value of the + property. +
+ N + False +
+ + VfsName + + The name of the VFS to use when opening the database connection. + If this is not specified, the default VFS will be used. + + N + null + + + ZipVfsVersion + + If non-null, this is the "version" of ZipVFS to use. This requires + the System.Data.SQLite interop assembly -AND- primary managed assembly + to be compiled with the INTEROP_INCLUDE_ZIPVFS option; otherwise, this + property does nothing. The valid values are "v2" and "v3". Using + anyother value will cause an exception to be thrown. Please see the + ZipVFS documentation for more information on how to use this parameter. + + N + null + + + DateTimeFormat + + Ticks - Use the value of DateTime.Ticks.
+ ISO8601 - Use the ISO-8601 format. Uses the "yyyy-MM-dd HH:mm:ss.FFFFFFFK" format for UTC + DateTime values and "yyyy-MM-dd HH:mm:ss.FFFFFFF" format for local DateTime values).
+ JulianDay - The interval of time in days and fractions of a day since January 1, 4713 BC.
+ UnixEpoch - The whole number of seconds since the Unix epoch (January 1, 1970).
+ InvariantCulture - Any culture-independent string value that the .NET Framework can interpret as a valid DateTime.
+ CurrentCulture - Any string value that the .NET Framework can interpret as a valid DateTime using the current culture.
+ N + ISO8601 +
+ + DateTimeKind + + Unspecified - Not specified as either UTC or local time. +
+ Utc - The time represented is UTC. +
+ Local - The time represented is local time. +
+ N + Unspecified +
+ + DateTimeFormatString + + The exact DateTime format string to use for all formatting and parsing of all DateTime + values for this connection. + + N + null + + + BaseSchemaName + + Some base data classes in the framework (e.g. those that build SQL queries dynamically) + assume that an ADO.NET provider cannot support an alternate catalog (i.e. database) without supporting + alternate schemas as well; however, SQLite does not fit into this model. Therefore, this value is used + as a placeholder and removed prior to preparing any SQL statements that may contain it. + + N + sqlite_default_schema + + + BinaryGUID + + True - Store GUID columns in binary form +
+ False - Store GUID columns as text +
+ N + True +
+ + Cache Size + + If the argument N is positive then the suggested cache size is set to N. + If the argument N is negative, then the number of cache pages is adjusted + to use approximately abs(N*4096) bytes of memory. Backwards compatibility + note: The behavior of cache_size with a negative N was different in SQLite + versions prior to 3.7.10. In version 3.7.9 and earlier, the number of + pages in the cache was set to the absolute value of N. + + N + -2000 + + + Synchronous + + Normal - Normal file flushing behavior +
+ Full - Full flushing after all writes +
+ Off - Underlying OS flushes I/O's +
+ N + Full +
+ + Page Size + {size in bytes} + N + 4096 + + + Password + + {password} - Using this parameter requires that the legacy CryptoAPI based + codec (or the SQLite Encryption Extension) be enabled at compile-time for + both the native interop assembly and the core managed assemblies; otherwise, + using this parameter may result in an exception being thrown when attempting + to open the connection. + + N + + + + HexPassword + + {hexPassword} - Must contain a sequence of zero or more hexadecimal encoded + byte values without a leading "0x" prefix. Using this parameter requires + that the legacy CryptoAPI based codec (or the SQLite Encryption Extension) + be enabled at compile-time for both the native interop assembly and the + core managed assemblies; otherwise, using this parameter may result in an + exception being thrown when attempting to open the connection. + + N + + + + Enlist + + Y - Automatically enlist in distributed transactions +
+ N - No automatic enlistment +
+ N + Y +
+ + Pooling + + True - Use connection pooling.
+ False - Do not use connection pooling.

+ WARNING: When using the default connection pool implementation, + setting this property to True should be avoided by applications that make + use of COM (either directly or indirectly) due to possible deadlocks that + can occur during the finalization of some COM objects. +
+ N + False +
+ + FailIfMissing + + True - Don't create the database if it does not exist, throw an error instead +
+ False - Automatically create the database if it does not exist +
+ N + False +
+ + Max Page Count + {size in pages} - Limits the maximum number of pages (limits the size) of the database + N + 0 + + + Legacy Format + + True - Use the more compatible legacy 3.x database format +
+ False - Use the newer 3.3x database format which compresses numbers more effectively +
+ N + False +
+ + Default Timeout + {time in seconds}
The default command timeout
+ N + 30 +
+ + BusyTimeout + {time in milliseconds}
Sets the busy timeout for the core library.
+ N + 0 +
+ + WaitTimeout + {time in milliseconds}
+ EXPERIMENTAL -- The wait timeout to use with + method. This is only used when + waiting for the enlistment to be reset prior to enlisting in a transaction, + and then only when the appropriate connection flag is set.
+ N + 30000 +
+ + Journal Mode + + Delete - Delete the journal file after a commit. +
+ Persist - Zero out and leave the journal file on disk after a + commit. +
+ Off - Disable the rollback journal entirely. This saves disk I/O + but at the expense of database safety and integrity. If the application + using SQLite crashes in the middle of a transaction when this journaling + mode is set, then the database file will very likely go corrupt. +
+ Truncate - Truncate the journal file to zero-length instead of + deleting it. +
+ Memory - Store the journal in volatile RAM. This saves disk I/O + but at the expense of database safety and integrity. If the application + using SQLite crashes in the middle of a transaction when this journaling + mode is set, then the database file will very likely go corrupt. +
+ Wal - Use a write-ahead log instead of a rollback journal. +
+ N + Delete +
+ + Read Only + + True - Open the database for read only access +
+ False - Open the database for normal read/write access +
+ N + False +
+ + Max Pool Size + The maximum number of connections for the given connection string that can be in the connection pool + N + 100 + + + Default IsolationLevel + The default transaciton isolation level + N + Serializable + + + Foreign Keys + Enable foreign key constraints + N + False + + + Flags + Extra behavioral flags for the connection. See the enumeration for possible values. + N + Default + + + SetDefaults + + True - Apply the default connection settings to the opened database.
+ False - Skip applying the default connection settings to the opened database. +
+ N + True +
+ + ToFullPath + + True - Attempt to expand the data source file name to a fully qualified path before opening. +
+ False - Skip attempting to expand the data source file name to a fully qualified path before opening. +
+ N + True +
+ + PrepareRetries + + The maximum number of retries when preparing SQL to be executed. This + normally only applies to preparation errors resulting from the database + schema being changed. + + N + 3 + + + ProgressOps + + The approximate number of virtual machine instructions between progress + events. In order for progress events to actually fire, the event handler + must be added to the event as well. + + N + 0 + + + Recursive Triggers + + True - Enable the recursive trigger capability. + False - Disable the recursive trigger capability. + + N + False + +
+
+
+ + + The "invalid value" for the enumeration used + by the property. This constant is shared + by this class and the SQLiteConnectionStringBuilder class. + + + + + The default "stub" (i.e. placeholder) base schema name to use when + returning column schema information. Used as the initial value of + the BaseSchemaName property. This should start with "sqlite_*" + because those names are reserved for use by SQLite (i.e. they cannot + be confused with the names of user objects). + + + + + The managed assembly containing this type. + + + + + Object used to synchronize access to the static instance data + for this class. + + + + + The extra connection flags to be used for all opened connections. + + + + + The instance (for this thread) that + had the most recent call to . + + + + + State of the current connection + + + + + The connection string + + + + + Nesting level of the transactions open on the connection + + + + + Transaction counter for the connection. Currently, this is only used + to build SAVEPOINT names. + + + + + If this flag is non-zero, the method will have + no effect; however, the method will continue to + behave as normal. + + + + + If set, then the connection is currently being disposed. + + + + + The default isolation level for new transactions + + + + + This object is used with lock statements to synchronize access to the + field, below. + + + + + Whether or not the connection is enlisted in a distrubuted transaction + + + + + The per-connection mappings between type names and + values. These mappings override the corresponding global mappings. + + + + + The per-connection mappings between type names and optional callbacks + for parameter binding and value reading. + + + + + The base SQLite object to interop with + + + + + The database filename minus path and extension + + + + + Temporary password storage, emptied after the database has been opened + + + + + The "stub" (i.e. placeholder) base schema name to use when returning + column schema information. + + + + + The extra behavioral flags for this connection, if any. See the + enumeration for a list of + possible values. + + + + + The cached values for all settings that have been fetched on behalf + of this connection. This cache may be cleared by calling the + method. + + + + + The default databse type for this connection. This value will only + be used if the + flag is set. + + + + + The default databse type name for this connection. This value will only + be used if the + flag is set. + + + + + The name of the VFS to be used when opening the database connection. + + + + + Default command timeout + + + + + The default busy timeout to use with the SQLite core library. This is + only used when opening a connection. + + + + + The default wait timeout to use with + method. This is only used when waiting for the enlistment to be reset + prior to enlisting in a transaction, and then only when the appropriate + connection flag is set. + + + + + The maximum number of retries when preparing SQL to be executed. This + normally only applies to preparation errors resulting from the database + schema being changed. + + + + + The approximate number of virtual machine instructions between progress + events. In order for progress events to actually fire, the event handler + must be added to the event as + well. This value will only be used when opening the database. + + + + + Non-zero if the built-in (i.e. framework provided) connection string + parser should be used when opening the connection. + + + + + Constructs a new SQLiteConnection object + + + Default constructor + + + + + Initializes the connection with the specified connection string. + + The connection string to use. + + + + Initializes the connection with a pre-existing native connection handle. + This constructor overload is intended to be used only by the private + method. + + + The native connection handle to use. + + + The file name corresponding to the native connection handle. + + + Non-zero if this instance owns the native connection handle and + should dispose of it when it is no longer needed. + + + + + Initializes the connection with the specified connection string. + + + The connection string to use. + + + Non-zero to parse the connection string using the built-in (i.e. + framework provided) parser when opening the connection. + + + + + Clones the settings and connection string from an existing connection. If the existing connection is already open, this + function will open its own connection, enumerate any attached databases of the original connection, and automatically + attach to them. + + The connection to copy the settings from. + + + + Attempts to lookup the native handle associated with the connection. An exception will + be thrown if this cannot be accomplished. + + + The connection associated with the desired native handle. + + + The native handle associated with the connection or if it + cannot be determined. + + + + + Raises the event. + + + The connection associated with this event. If this parameter is not + null and the specified connection cannot raise events, then the + registered event handlers will not be invoked. + + + A that contains the event data. + + + + + Creates and returns a new managed database connection handle. This + method is intended to be used by implementations of the + interface only. In theory, it + could be used by other classes; however, that usage is not supported. + + + This must be a native database connection handle returned by the + SQLite core library and it must remain valid and open during the + entire duration of the calling method. + + + The new managed database connection handle or null if it cannot be + created. + + + + + Backs up the database, using the specified database connection as the + destination. + + The destination database connection. + The destination database name. + The source database name. + + The number of pages to copy at a time -OR- a negative value to copy all + pages. When a negative value is used, the + may never be invoked. + + + The method to invoke between each step of the backup process. This + parameter may be null (i.e. no callbacks will be performed). If the + callback returns false -OR- throws an exception, the backup is canceled. + + + The number of milliseconds to sleep after encountering a locking error + during the backup process. A value less than zero means that no sleep + should be performed. + + + + + Clears the per-connection cached settings. + + + The total number of per-connection settings cleared. + + + + + Queries and returns the value of the specified setting, using the + cached setting names and values for this connection, when available. + + + The name of the setting. + + + The value to be returned if the setting has not been set explicitly + or cannot be determined. + + + The value of the cached setting is stored here if found; otherwise, + the value of is stored here. + + + Non-zero if the cached setting was found; otherwise, zero. + + + + + Adds or sets the cached setting specified by + to the value specified by . + + + The name of the cached setting to add or replace. + + + The new value of the cached setting. + + + + + Clears the per-connection type mappings. + + + The total number of per-connection type mappings cleared. + + + + + Returns the per-connection type mappings. + + + The per-connection type mappings -OR- null if they are unavailable. + + + + + Adds a per-connection type mapping, possibly replacing one or more + that already exist. + + + The case-insensitive database type name (e.g. "MYDATE"). The value + of this parameter cannot be null. Using an empty string value (or + a string value consisting entirely of whitespace) for this parameter + is not recommended. + + + The value that should be associated with the + specified type name. + + + Non-zero if this mapping should be considered to be the primary one + for the specified . + + + A negative value if nothing was done. Zero if no per-connection type + mappings were replaced (i.e. it was a pure add operation). More than + zero if some per-connection type mappings were replaced. + + + + + Clears the per-connection type callbacks. + + + The total number of per-connection type callbacks cleared. + + + + + Attempts to get the per-connection type callbacks for the specified + database type name. + + + The database type name. + + + Upon success, this parameter will contain the object holding the + callbacks for the database type name. Upon failure, this parameter + will be null. + + + Non-zero upon success; otherwise, zero. + + + + + Sets, resets, or clears the per-connection type callbacks for the + specified database type name. + + + The database type name. + + + The object holding the callbacks for the database type name. If + this parameter is null, any callbacks for the database type name + will be removed if they are present. + + + Non-zero if callbacks were set or removed; otherwise, zero. + + + + + Attempts to bind the specified object + instance to this connection. + + + The object instance containing + the metadata for the function to be bound. + + + The object instance that implements the + function to be bound. + + + + + Attempts to bind the specified object + instance to this connection. + + + The object instance containing + the metadata for the function to be bound. + + + A object instance that helps implement the + function to be bound. For scalar functions, this corresponds to the + type. For aggregate functions, + this corresponds to the type. For + collation functions, this corresponds to the + type. + + + A object instance that helps implement the + function to be bound. For aggregate functions, this corresponds to the + type. For other callback types, it + is not used and must be null. + + + + + Attempts to unbind the specified object + instance to this connection. + + + The object instance containing + the metadata for the function to be unbound. + + Non-zero if the function was unbound. + + + + This method unbinds all registered (known) functions -OR- all previously + bound user-defined functions from this connection. + + + Non-zero to unbind all registered (known) functions -OR- zero to unbind + all functions currently bound to the connection. + + + Non-zero if all the specified user-defined functions were unbound. + + + + + Parses a connection string into component parts using the custom + connection string parser. An exception may be thrown if the syntax + of the connection string is incorrect. + + + The connection string to parse. + + + Non-zero to parse the connection string using the algorithm provided + by the framework itself. This is not applicable when running on the + .NET Compact Framework. + + + Non-zero if names are allowed without values. + + + The list of key/value pairs corresponding to the parameters specified + within the connection string. + + + + + Parses a connection string into component parts using the custom + connection string parser. An exception may be thrown if the syntax + of the connection string is incorrect. + + + The connection that will be using the parsed connection string. + + + The connection string to parse. + + + Non-zero to parse the connection string using the algorithm provided + by the framework itself. This is not applicable when running on the + .NET Compact Framework. + + + Non-zero if names are allowed without values. + + + The list of key/value pairs corresponding to the parameters specified + within the connection string. + + + + + Attempts to escape the specified connection string property name or + value in a way that is compatible with the connection string parser. + + + The connection string property name or value to escape. + + + Non-zero if the equals sign is permitted in the string. If this is + zero and the string contains an equals sign, an exception will be + thrown. + + + The original string, with all special characters escaped. If the + original string contains equals signs, they will not be escaped. + Instead, they will be preserved verbatim. + + + + + Builds a connection string from a list of key/value pairs. + + + The list of key/value pairs corresponding to the parameters to be + specified within the connection string. + + + The connection string. Depending on how the connection string was + originally parsed, the returned connection string value may not be + usable in a subsequent call to the method. + + + + + Disposes and finalizes the connection, if applicable. + + + + + Cleans up resources (native and managed) associated with the current instance. + + + Zero when being disposed via garbage collection; otherwise, non-zero. + + + + + Creates a clone of the connection. All attached databases and user-defined functions are cloned. If the existing connection is open, the cloned connection + will also be opened. + + + + + + Creates a database file. This just creates a zero-byte file which SQLite + will turn into a database when the file is opened properly. + + The file to create + + + + Raises the state change event when the state of the connection changes + + The new connection state. If this is different + from the previous state, the event is + raised. + The event data created for the raised event, if + it was actually raised. + + + + Determines and returns the fallback default isolation level when one cannot be + obtained from an existing connection instance. + + + The fallback default isolation level for this connection instance -OR- + if it cannot be determined. + + + + + Determines and returns the default isolation level for this connection instance. + + + The default isolation level for this connection instance -OR- + if it cannot be determined. + + + + + OBSOLETE. Creates a new SQLiteTransaction if one isn't already active on the connection. + + This parameter is ignored. + When TRUE, SQLite defers obtaining a write lock until a write operation is requested. + When FALSE, a writelock is obtained immediately. The default is TRUE, but in a multi-threaded multi-writer + environment, one may instead choose to lock the database immediately to avoid any possible writer deadlock. + Returns a SQLiteTransaction object. + + + + OBSOLETE. Creates a new SQLiteTransaction if one isn't already active on the connection. + + When TRUE, SQLite defers obtaining a write lock until a write operation is requested. + When FALSE, a writelock is obtained immediately. The default is false, but in a multi-threaded multi-writer + environment, one may instead choose to lock the database immediately to avoid any possible writer deadlock. + Returns a SQLiteTransaction object. + + + + Creates a new if one isn't already active on the connection. + + Supported isolation levels are Serializable, ReadCommitted and Unspecified. + + Unspecified will use the default isolation level specified in the connection string. If no isolation level is specified in the + connection string, Serializable is used. + Serializable transactions are the default. In this mode, the engine gets an immediate lock on the database, and no other threads + may begin a transaction. Other threads may read from the database, but not write. + With a ReadCommitted isolation level, locks are deferred and elevated as needed. It is possible for multiple threads to start + a transaction in ReadCommitted mode, but if a thread attempts to commit a transaction while another thread + has a ReadCommitted lock, it may timeout or cause a deadlock on both threads until both threads' CommandTimeout's are reached. + + Returns a SQLiteTransaction object. + + + + Creates a new if one isn't already + active on the connection. + + Returns the new transaction object. + + + + Forwards to the local function + + Supported isolation levels are Unspecified, Serializable, and ReadCommitted + + + + + This method is not implemented; however, the + event will still be raised. + + + + + + When the database connection is closed, all commands linked to this connection are automatically reset. + + + + + Clears the connection pool associated with the connection. Any other active connections using the same database file + will be discarded instead of returned to the pool when they are closed. + + + + + + Clears all connection pools. Any active connections will be discarded instead of sent to the pool when they are closed. + + + + + Create a new and associate it with this connection. + + Returns a new command object already assigned to this connection. + + + + Forwards to the local function. + + + + + + Attempts to create a new object instance + using this connection and the specified database name. + + + The name of the database for the newly created session. + + + The newly created session -OR- null if it cannot be created. + + + + + Attempts to create a new object instance + using this connection and the specified raw data. + + + The raw data that contains a change set (or patch set). + + + The newly created change set -OR- null if it cannot be created. + + + + + Attempts to create a new object instance + using this connection and the specified raw data. + + + The raw data that contains a change set (or patch set). + + + The flags used to create the change set iterator. + + + The newly created change set -OR- null if it cannot be created. + + + + + Attempts to create a new object instance + using this connection and the specified stream. + + + The stream where the raw data that contains a change set (or patch set) + may be read. + + + The stream where the raw data that contains a change set (or patch set) + may be written. + + + The newly created change set -OR- null if it cannot be created. + + + + + Attempts to create a new object instance + using this connection and the specified stream. + + + The stream where the raw data that contains a change set (or patch set) + may be read. + + + The stream where the raw data that contains a change set (or patch set) + may be written. + + + The flags used to create the change set iterator. + + + The newly created change set -OR- null if it cannot be created. + + + + + Attempts to create a new object + instance using this connection. + + + The newly created change group -OR- null if it cannot be created. + + + + + Determines if the legacy connection string parser should be used. + + + The connection that will be using the parsed connection string. + + + Non-zero if the legacy connection string parser should be used. + + + + + Parses a connection string into component parts using the custom + connection string parser. An exception may be thrown if the syntax + of the connection string is incorrect. + + + The connection string to parse. + + + Non-zero if names are allowed without values. + + + The list of key/value pairs corresponding to the parameters specified + within the connection string. + + + + + Parses a connection string into component parts using the custom + connection string parser. An exception may be thrown if the syntax + of the connection string is incorrect. + + + The connection that will be using the parsed connection string. + + + The connection string to parse. + + + Non-zero if names are allowed without values. + + + The list of key/value pairs corresponding to the parameters specified + within the connection string. + + + + + Parses a connection string using the built-in (i.e. framework provided) + connection string parser class and returns the key/value pairs. An + exception may be thrown if the connection string is invalid or cannot be + parsed. When compiled for the .NET Compact Framework, the custom + connection string parser is always used instead because the framework + provided one is unavailable there. + + + The connection that will be using the parsed connection string. + + + The connection string to parse. + + + Non-zero to throw an exception if any connection string values are not of + the type. This is not applicable when running on + the .NET Compact Framework. + + The list of key/value pairs. + + + + Manual distributed transaction enlistment support + + The distributed transaction to enlist in + + + + EXPERIMENTAL -- + Waits for the enlistment associated with this connection to be reset. + This method always throws when + running on the .NET Compact Framework. + + + The approximate maximum number of milliseconds to wait before timing + out the wait operation. + + + The return value to use if the connection has been disposed; if this + value is null, will be raised + if the connection has been disposed. + + + Non-zero if the enlistment assciated with this connection was reset; + otherwise, zero. It should be noted that this method returning a + non-zero value does not necessarily guarantee that the connection + can enlist in a new transaction (i.e. due to potentical race with + other threads); therefore, callers should generally use try/catch + when calling the method. + + + + + Looks for a key in the array of key/values of the parameter string. If not found, return the specified default value + + The list to look in + The key to find + The default value to return if the key is not found + The value corresponding to the specified key, or the default value if not found. + + + + Attempts to convert the string value to an enumerated value of the specified type. + + The enumerated type to convert the string value to. + The string value to be converted. + Non-zero to make the conversion case-insensitive. + The enumerated value upon success or null upon error. + + + + Attempts to convert an input string into a byte value. + + + The string value to be converted. + + + The number styles to use for the conversion. + + + Upon sucess, this will contain the parsed byte value. + Upon failure, the value of this parameter is undefined. + + + Non-zero upon success; zero on failure. + + + + + Change a limit value for the database. + + + The database limit to change. + + + The new value for the specified limit. + + + The old value for the specified limit -OR- negative one if an error + occurs. + + + + + Change a configuration option value for the database. + + + The database configuration option to change. + + + The new value for the specified configuration option. + + + + + Enables or disables extension loading. + + + True to enable loading of extensions, false to disable. + + + + + Loads a SQLite extension library from the named dynamic link library file. + + + The name of the dynamic link library file containing the extension. + + + + + Loads a SQLite extension library from the named dynamic link library file. + + + The name of the dynamic link library file containing the extension. + + + The name of the exported function used to initialize the extension. + If null, the default "sqlite3_extension_init" will be used. + + + + + Creates a disposable module containing the implementation of a virtual + table. + + + The module object to be used when creating the disposable module. + + + + + Parses a string containing a sequence of zero or more hexadecimal + encoded byte values and returns the resulting byte array. The + "0x" prefix is not allowed on the input string. + + + The input string containing zero or more hexadecimal encoded byte + values. + + + A byte array containing the parsed byte values or null if an error + was encountered. + + + + + Creates and returns a string containing the hexadecimal encoded byte + values from the input array. + + + The input array of bytes. + + + The resulting string or null upon failure. + + + + + Parses a string containing a sequence of zero or more hexadecimal + encoded byte values and returns the resulting byte array. The + "0x" prefix is not allowed on the input string. + + + The input string containing zero or more hexadecimal encoded byte + values. + + + Upon failure, this will contain an appropriate error message. + + + A byte array containing the parsed byte values or null if an error + was encountered. + + + + + This method figures out what the default connection pool setting should + be based on the connection flags. When present, the "Pooling" connection + string property value always overrides the value returned by this method. + + + Non-zero if the connection pool should be enabled by default; otherwise, + zero. + + + + + Determines the transaction isolation level that should be used by + the caller, primarily based upon the one specified by the caller. + If mapping of transaction isolation levels is enabled, the returned + transaction isolation level may be significantly different than the + originally specified one. + + + The originally specified transaction isolation level. + + + The transaction isolation level that should be used. + + + + + Opens the connection using the parameters found in the . + + + + + Opens the connection using the parameters found in the and then returns it. + + The current connection object. + + + + This method causes any pending database operation to abort and return at + its earliest opportunity. This routine is typically called in response + to a user action such as pressing "Cancel" or Ctrl-C where the user wants + a long query operation to halt immediately. It is safe to call this + routine from any thread. However, it is not safe to call this routine + with a database connection that is closed or might close before this method + returns. + + + + + Checks if this connection to the specified database should be considered + read-only. An exception will be thrown if the database name specified + via cannot be found. + + + The name of a database associated with this connection -OR- null for the + main database. + + + Non-zero if this connection to the specified database should be considered + read-only. + + + + + Returns various global memory statistics for the SQLite core library via + a dictionary of key/value pairs. Currently, only the "MemoryUsed" and + "MemoryHighwater" keys are returned and they have values that correspond + to the values that could be obtained via the + and connection properties. + + + This dictionary will be populated with the global memory statistics. It + will be created if necessary. + + + + + Attempts to free as much heap memory as possible for this database connection. + + + + + Attempts to free N bytes of heap memory by deallocating non-essential memory + allocations held by the database library. Memory used to cache database pages + to improve performance is an example of non-essential memory. This is a no-op + returning zero if the SQLite core library was not compiled with the compile-time + option SQLITE_ENABLE_MEMORY_MANAGEMENT. Optionally, attempts to reset and/or + compact the Win32 native heap, if applicable. + + + The requested number of bytes to free. + + + Non-zero to attempt a heap reset. + + + Non-zero to attempt heap compaction. + + + The number of bytes actually freed. This value may be zero. + + + This value will be non-zero if the heap reset was successful. + + + The size of the largest committed free block in the heap, in bytes. + This value will be zero unless heap compaction is enabled. + + + A standard SQLite return code (i.e. zero for success and non-zero + for failure). + + + + + Sets the status of the memory usage tracking subsystem in the SQLite core library. By default, this is enabled. + If this is disabled, memory usage tracking will not be performed. This is not really a per-connection value, it is + global to the process. + + Non-zero to enable memory usage tracking, zero otherwise. + A standard SQLite return code (i.e. zero for success and non-zero for failure). + + + + Queries and returns the value of the specified setting, using the + cached setting names and values for the last connection that used + the method, when available. + + + The name of the setting. + + + The value to be returned if the setting has not been set explicitly + or cannot be determined. + + + The value of the cached setting is stored here if found; otherwise, + the value of is stored here. + + + Non-zero if the cached setting was found; otherwise, zero. + + + + + Adds or sets the cached setting specified by + to the value specified by using the cached + setting names and values for the last connection that used the + method, when available. + + + The name of the cached setting to add or replace. + + + The new value of the cached setting. + + + + + Passes a shutdown request to the SQLite core library. Does not throw + an exception if the shutdown request fails. + + + A standard SQLite return code (i.e. zero for success and non-zero for + failure). + + + + + Passes a shutdown request to the SQLite core library. Throws an + exception if the shutdown request fails and the no-throw parameter + is non-zero. + + + Non-zero to reset the database and temporary directories to their + default values, which should be null for both. + + + When non-zero, throw an exception if the shutdown request fails. + + + + Enables or disables extended result codes returned by SQLite + + + Enables or disables extended result codes returned by SQLite + + + Enables or disables extended result codes returned by SQLite + + + Add a log message via the SQLite sqlite3_log interface. + + + Add a log message via the SQLite sqlite3_log interface. + + + + Change the password (or assign a password) to an open database. + + + No readers or writers may be active for this process. The database must already be open + and if it already was password protected, the existing password must already have been supplied. + + The new password to assign to the database + + + + Change the password (or assign a password) to an open database. + + + No readers or writers may be active for this process. The database must already be open + and if it already was password protected, the existing password must already have been supplied. + + The new password to assign to the database + + + + Sets the password for a password-protected database. A password-protected database is + unusable for any operation until the password has been set. + + The password for the database + + + + Sets the password for a password-protected database. A password-protected database is + unusable for any operation until the password has been set. + + The password for the database + + + + Queries or modifies the number of retries or the retry interval (in milliseconds) for + certain I/O operations that may fail due to anti-virus software. + + The number of times to retry the I/O operation. A negative value + will cause the current count to be queried and replace that negative value. + The number of milliseconds to wait before retrying the I/O + operation. This number is multiplied by the number of retry attempts so far to come + up with the final number of milliseconds to wait. A negative value will cause the + current interval to be queried and replace that negative value. + Zero for success, non-zero for error. + + + + Sets the chunk size for the primary file associated with this database + connection. + + + The new chunk size for the main database, in bytes. + + + Zero for success, non-zero for error. + + + + + Removes one set of surrounding single -OR- double quotes from the string + value and returns the resulting string value. If the string is null, empty, + or contains quotes that are not balanced, nothing is done and the original + string value will be returned. + + The string value to process. + + The string value, modified to remove one set of surrounding single -OR- + double quotes, if applicable. + + + + + Determines the directory to be used when dealing with the "|DataDirectory|" + macro in a database file name. + + + The directory to use in place of the "|DataDirectory|" macro -OR- null if it + cannot be determined. + + + + + Expand the filename of the data source, resolving the |DataDirectory| + macro as appropriate. + + The database filename to expand + + Non-zero if the returned file name should be converted to a full path + (except when using the .NET Compact Framework). + + The expanded path and filename of the filename + + + + The following commands are used to extract schema information out of the database. Valid schema types are: + + + MetaDataCollections + + + DataSourceInformation + + + Catalogs + + + Columns + + + ForeignKeys + + + Indexes + + + IndexColumns + + + Tables + + + Views + + + ViewColumns + + + + + Returns the MetaDataCollections schema + + A DataTable of the MetaDataCollections schema + + + + Returns schema information of the specified collection + + The schema collection to retrieve + A DataTable of the specified collection + + + + Retrieves schema information using the specified constraint(s) for the specified collection + + The collection to retrieve. + + The restrictions to impose. Typically, this may include: + + + restrictionValues element index + usage + + + 0 + The database (or catalog) name, if applicable. + + + 1 + The schema name. This is not used by this provider. + + + 2 + The table name, if applicable. + + + 3 + + Depends on . + When "IndexColumns", it is the index name; otherwise, it is the column name. + + + + 4 + + Depends on . + When "IndexColumns", it is the column name; otherwise, it is not used. + + + + + A DataTable of the specified collection + + + + Builds a MetaDataCollections schema datatable + + DataTable + + + + Builds a DataSourceInformation datatable + + DataTable + + + + Build a Columns schema + + The catalog (attached database) to query, can be null + The table to retrieve schema information for, can be null + The column to retrieve schema information for, can be null + DataTable + + + + Returns index information for the given database and catalog + + The catalog (attached database) to query, can be null + The name of the index to retrieve information for, can be null + The table to retrieve index information for, can be null + DataTable + + + + Retrieves table schema information for the database and catalog + + The catalog (attached database) to retrieve tables on + The table to retrieve, can be null + The table type, can be null + DataTable + + + + Retrieves view schema information for the database + + The catalog (attached database) to retrieve views on + The view name, can be null + DataTable + + + + Retrieves catalog (attached databases) schema information for the database + + The catalog to retrieve, can be null + DataTable + + + + Returns the base column information for indexes in a database + + The catalog to retrieve indexes for (can be null) + The table to restrict index information by (can be null) + The index to restrict index information by (can be null) + The source column to restrict index information by (can be null) + A DataTable containing the results + + + + Returns detailed column information for a specified view + + The catalog to retrieve columns for (can be null) + The view to restrict column information by (can be null) + The source column to restrict column information by (can be null) + A DataTable containing the results + + + + Retrieves foreign key information from the specified set of filters + + An optional catalog to restrict results on + An optional table to restrict results on + An optional foreign key name to restrict results on + A DataTable with the results of the query + + + + Static variable to store the connection event handlers to call. + + + + + This event is raised whenever the database is opened or closed. + + + + + This event is raised when events related to the lifecycle of a + SQLiteConnection object occur. + + + + + This property is used to obtain or set the custom connection pool + implementation to use, if any. Setting this property to null will + cause the default connection pool implementation to be used. + + + + + Returns the number of pool entries for the file name associated with this connection. + + + + + The connection string containing the parameters for the connection + + + For the complete list of supported connection string properties, + please see . + + + + + Returns the data source file name without extension or path. + + + + + Returns the fully qualified path and file name for the currently open + database, if any. + + + + + Returns the string "main". + + + + + Gets/sets the default command timeout for newly-created commands. This is especially useful for + commands used internally such as inside a SQLiteTransaction, where setting the timeout is not possible. + This can also be set in the ConnectionString with "Default Timeout" + + + + + Gets/sets the default busy timeout to use with the SQLite core library. This is only used when + opening a connection. + + + + + EXPERIMENTAL -- + The wait timeout to use with method. + This is only used when waiting for the enlistment to be reset prior to + enlisting in a transaction, and then only when the appropriate connection + flag is set. + + + + + The maximum number of retries when preparing SQL to be executed. This + normally only applies to preparation errors resulting from the database + schema being changed. + + + + + The approximate number of virtual machine instructions between progress + events. In order for progress events to actually fire, the event handler + must be added to the event as + well. This value will only be used when the underlying native progress + callback needs to be changed. + + + + + Non-zero if the built-in (i.e. framework provided) connection string + parser should be used when opening the connection. + + + + + Gets/sets the extra behavioral flags for this connection. See the + enumeration for a list of + possible values. + + + + + Gets/sets the default database type for this connection. This value + will only be used when not null. + + + + + Gets/sets the default database type name for this connection. This + value will only be used when not null. + + + + + Gets/sets the VFS name for this connection. This value will only be + used when opening the database. + + + + + Returns non-zero if the underlying native connection handle is + owned by this instance. + + + + + Returns the version of the underlying SQLite database engine + + + + + Returns the rowid of the most recent successful INSERT into the database from this connection. + + + + + Returns the number of rows changed by the last INSERT, UPDATE, or DELETE statement executed on + this connection. + + + + + Returns non-zero if the given database connection is in autocommit mode. + Autocommit mode is on by default. Autocommit mode is disabled by a BEGIN + statement. Autocommit mode is re-enabled by a COMMIT or ROLLBACK. + + + + + Returns the amount of memory (in bytes) currently in use by the SQLite core library. + + + + + Returns the maximum amount of memory (in bytes) used by the SQLite core library since the high-water mark was last reset. + + + + + Returns a string containing the define constants (i.e. compile-time + options) used to compile the core managed assembly, delimited with + spaces. + + + + + Returns the version of the underlying SQLite core library. + + + + + This method returns the string whose value is the same as the + SQLITE_SOURCE_ID C preprocessor macro used when compiling the + SQLite core library. + + + + + Returns a string containing the compile-time options used to + compile the SQLite core native library, delimited with spaces. + + + + + This method returns the version of the interop SQLite assembly + used. If the SQLite interop assembly is not in use or the + necessary information cannot be obtained for any reason, a null + value may be returned. + + + + + This method returns the string whose value contains the unique + identifier for the source checkout used to build the interop + assembly. If the SQLite interop assembly is not in use or the + necessary information cannot be obtained for any reason, a null + value may be returned. + + + + + Returns a string containing the compile-time options used to + compile the SQLite interop assembly, delimited with spaces. + + + + + This method returns the version of the managed components used + to interact with the SQLite core library. If the necessary + information cannot be obtained for any reason, a null value may + be returned. + + + + + This method returns the string whose value contains the unique + identifier for the source checkout used to build the managed + components currently executing. If the necessary information + cannot be obtained for any reason, a null value may be returned. + + + + + The default connection flags to be used for all opened connections + when they are not present in the connection string. + + + + + The extra connection flags to be used for all opened connections. + + + + + Returns the state of the connection. + + + + + This event is raised periodically during long running queries. Changing + the value of the property will + determine if the operation in progress will continue or be interrupted. + For the entire duration of the event, the associated connection and + statement objects must not be modified, either directly or indirectly, by + the called code. + + + + + This event is raised whenever SQLite encounters an action covered by the + authorizer during query preparation. Changing the value of the + property will determine if + the specific action will be allowed, ignored, or denied. For the entire + duration of the event, the associated connection and statement objects + must not be modified, either directly or indirectly, by the called code. + + + + + This event is raised whenever SQLite makes an update/delete/insert into the database on + this connection. It only applies to the given connection. + + + + + This event is raised whenever SQLite is committing a transaction. + Return non-zero to trigger a rollback. + + + + + This event is raised whenever SQLite statement first begins executing on + this connection. It only applies to the given connection. + + + + + This event is raised whenever SQLite is rolling back a transaction. + + + + + Returns the instance. + + + + + The I/O file cache flushing behavior for the connection + + + + + Normal file flushing at critical sections of the code + + + + + Full file flushing after every write operation + + + + + Use the default operating system's file flushing, SQLite does not explicitly flush the file buffers after writing + + + + + Raised each time the number of virtual machine instructions is + approximately equal to the value of the + property. + + The connection performing the operation. + A that contains the + event data. + + + + Raised when authorization is required to perform an action contained + within a SQL query. + + The connection performing the action. + A that contains the + event data. + + + + Raised when a transaction is about to be committed. To roll back a transaction, set the + rollbackTrans boolean value to true. + + The connection committing the transaction + Event arguments on the transaction + + + + Raised when data is inserted, updated and deleted on a given connection + + The connection committing the transaction + The event parameters which triggered the event + + + + Raised when a statement first begins executing on a given connection + + The connection executing the statement + Event arguments of the trace + + + + Raised between each backup step. + + + The source database connection. + + + The source database name. + + + The destination database connection. + + + The destination database name. + + + The number of pages copied with each step. + + + The number of pages remaining to be copied. + + + The total number of pages in the source database. + + + Set to true if the operation needs to be retried due to database + locking issues; otherwise, set to false. + + + True to continue with the backup process or false to halt the backup + process, rolling back any changes that have been made so far. + + + + + The event data associated with progress reporting events. + + + + + The user-defined native data associated with this event. Currently, + this will always contain the value of . + + + + + The return code for the current call into the progress callback. + + + + + Constructs an instance of this class with default property values. + + + + + Constructs an instance of this class with specific property values. + + + The user-defined native data associated with this event. + + + The progress return code. + + + + + The data associated with a call into the authorizer. + + + + + The user-defined native data associated with this event. Currently, + this will always contain the value of . + + + + + The action code responsible for the current call into the authorizer. + + + + + The first string argument for the current call into the authorizer. + The exact value will vary based on the action code, see the + enumeration for possible + values. + + + + + The second string argument for the current call into the authorizer. + The exact value will vary based on the action code, see the + enumeration for possible + values. + + + + + The database name for the current call into the authorizer, if + applicable. + + + + + The name of the inner-most trigger or view that is responsible for + the access attempt or a null value if this access attempt is directly + from top-level SQL code. + + + + + The return code for the current call into the authorizer. + + + + + Constructs an instance of this class with default property values. + + + + + Constructs an instance of this class with specific property values. + + + The user-defined native data associated with this event. + + + The authorizer action code. + + + The first authorizer argument. + + + The second authorizer argument. + + + The database name, if applicable. + + + The name of the inner-most trigger or view that is responsible for + the access attempt or a null value if this access attempt is directly + from top-level SQL code. + + + The authorizer return code. + + + + + Whenever an update event is triggered on a connection, this enum will indicate + exactly what type of operation is being performed. + + + + + A row is being deleted from the given database and table + + + + + A row is being inserted into the table. + + + + + A row is being updated in the table. + + + + + Passed during an Update callback, these event arguments detail the type of update operation being performed + on the given connection. + + + + + The name of the database being updated (usually "main" but can be any attached or temporary database) + + + + + The name of the table being updated + + + + + The type of update being performed (insert/update/delete) + + + + + The RowId affected by this update. + + + + + Event arguments raised when a transaction is being committed + + + + + Set to true to abort the transaction and trigger a rollback + + + + + Passed during an Trace callback, these event arguments contain the UTF-8 rendering of the SQL statement text + + + + + SQL statement text as the statement first begins executing + + + + + This interface represents a custom connection pool implementation + usable by System.Data.SQLite. + + + + + Counts the number of pool entries matching the specified file name. + + + The file name to match or null to match all files. + + + The pool entry counts for each matching file. + + + The total number of connections successfully opened from any pool. + + + The total number of connections successfully closed from any pool. + + + The total number of pool entries for all matching files. + + + + + Disposes of all pooled connections associated with the specified + database file name. + + + The database file name. + + + + + Disposes of all pooled connections. + + + + + Adds a connection to the pool of those associated with the + specified database file name. + + + The database file name. + + + The database connection handle. + + + The connection pool version at the point the database connection + handle was received from the connection pool. This is also the + connection pool version that the database connection handle was + created under. + + + + + Removes a connection from the pool of those associated with the + specified database file name with the intent of using it to + interact with the database. + + + The database file name. + + + The new maximum size of the connection pool for the specified + database file name. + + + The connection pool version associated with the returned database + connection handle, if any. + + + The database connection handle associated with the specified + database file name or null if it cannot be obtained. + + + + + This default method implementations in this class should not be used by + applications that make use of COM (either directly or indirectly) due + to possible deadlocks that can occur during finalization of some COM + objects. + + + + + This field is used to synchronize access to the private static data + in this class. + + + + + When this field is non-null, it will be used to provide the + implementation of all the connection pool methods; otherwise, + the default method implementations will be used. + + + + + The dictionary of connection pools, based on the normalized file + name of the SQLite database. + + + + + The default version number new pools will get. + + + + + The number of connections successfully opened from any pool. + This value is incremented by the Remove method. + + + + + The number of connections successfully closed from any pool. + This value is incremented by the Add method. + + + + + Counts the number of pool entries matching the specified file name. + + + The file name to match or null to match all files. + + + The pool entry counts for each matching file. + + + The total number of connections successfully opened from any pool. + + + The total number of connections successfully closed from any pool. + + + The total number of pool entries for all matching files. + + + + + Disposes of all pooled connections associated with the specified + database file name. + + + The database file name. + + + + + Disposes of all pooled connections. + + + + + Adds a connection to the pool of those associated with the + specified database file name. + + + The database file name. + + + The database connection handle. + + + The connection pool version at the point the database connection + handle was received from the connection pool. This is also the + connection pool version that the database connection handle was + created under. + + + + + Removes a connection from the pool of those associated with the + specified database file name with the intent of using it to + interact with the database. + + + The database file name. + + + The new maximum size of the connection pool for the specified + database file name. + + + The connection pool version associated with the returned database + connection handle, if any. + + + The database connection handle associated with the specified + database file name or null if it cannot be obtained. + + + + + This method is used to obtain a reference to the custom connection + pool implementation currently in use, if any. + + + The custom connection pool implementation or null if the default + connection pool implementation should be used. + + + + + This method is used to set the reference to the custom connection + pool implementation to use, if any. + + + The custom connection pool implementation to use or null if the + default connection pool implementation should be used. + + + + + We do not have to thread-lock anything in this function, because it + is only called by other functions above which already take the lock. + + + The pool queue to resize. + + + If a function intends to add to the pool, this is true, which + forces the resize to take one more than it needs from the pool. + + + + + Keeps track of connections made on a specified file. The PoolVersion + dictates whether old objects get returned to the pool or discarded + when no longer in use. + + + + + The queue of weak references to the actual database connection + handles. + + + + + This pool version associated with the database connection + handles in this pool queue. + + + + + The maximum size of this pool queue. + + + + + Constructs a connection pool queue using the specified version + and maximum size. Normally, all the database connection + handles in this pool are associated with a single database file + name. + + + The initial pool version for this connection pool queue. + + + The initial maximum size for this connection pool queue. + + + + + SQLite implementation of DbConnectionStringBuilder. + + + + + Properties of this class + + + + + Constructs a new instance of the class + + + Default constructor + + + + + Constructs a new instance of the class using the specified connection string. + + The connection string to parse + + + + Private initializer, which assigns the connection string and resets the builder + + The connection string to assign + + + + Helper function for retrieving values from the connectionstring + + The keyword to retrieve settings for + The resulting parameter value + Returns true if the value was found and returned + + + + Fallback method for MONO, which doesn't implement DbConnectionStringBuilder.GetProperties() + + The hashtable to fill with property descriptors + + + + Gets/Sets the default version of the SQLite engine to instantiate. Currently the only valid value is 3, indicating version 3 of the sqlite library. + + + + + Gets/Sets the synchronization mode (file flushing) of the connection string. Default is "Normal". + + + + + Gets/Sets the encoding for the connection string. The default is "False" which indicates UTF-8 encoding. + + + + + Gets/Sets whether or not to use connection pooling. The default is "False" + + + + + Gets/Sets whethor not to store GUID's in binary format. The default is True + which saves space in the database. + + + + + Gets/Sets the filename to open on the connection string. + + + + + An alternate to the data source property + + + + + An alternate to the data source property that uses the SQLite URI syntax. + + + + + Gets/sets the default command timeout for newly-created commands. This is especially useful for + commands used internally such as inside a SQLiteTransaction, where setting the timeout is not possible. + + + + + Gets/sets the busy timeout to use with the SQLite core library. + + + + + EXPERIMENTAL -- + The wait timeout to use with + method. + This is only used when waiting for the enlistment to be reset + prior to enlisting in a transaction, and then only when the + appropriate connection flag is set. + + + + + Gets/sets the maximum number of retries when preparing SQL to be executed. + This normally only applies to preparation errors resulting from the database + schema being changed. + + + + + Gets/sets the approximate number of virtual machine instructions between + progress events. In order for progress events to actually fire, the event + handler must be added to the event + as well. + + + + + Determines whether or not the connection will automatically participate + in the current distributed transaction (if one exists) + + + + + If set to true, will throw an exception if the database specified in the connection + string does not exist. If false, the database will be created automatically. + + + + + If enabled, uses the legacy 3.xx format for maximum compatibility, but results in larger + database sizes. + + + + + When enabled, the database will be opened for read-only access and writing will be disabled. + + + + + Gets/sets the database encryption password + + + + + Gets/sets the database encryption hexadecimal password + + + + + Gets/Sets the page size for the connection. + + + + + Gets/Sets the maximum number of pages the database may hold + + + + + Gets/Sets the cache size for the connection. + + + + + Gets/Sets the DateTime format for the connection. + + + + + Gets/Sets the DateTime kind for the connection. + + + + + Gets/sets the DateTime format string used for formatting + and parsing purposes. + + + + + Gets/Sets the placeholder base schema name used for + .NET Framework compatibility purposes. + + + + + Determines how SQLite handles the transaction journal file. + + + + + Sets the default isolation level for transactions on the connection. + + + + + Gets/sets the default database type for the connection. + + + + + Gets/sets the default type name for the connection. + + + + + Gets/sets the VFS name for the connection. + + + + + If enabled, use foreign key constraints + + + + + Enable or disable the recursive trigger capability. + + + + + If non-null, this is the version of ZipVFS to use. This requires the + System.Data.SQLite interop assembly -AND- primary managed assembly to + be compiled with the INTEROP_INCLUDE_ZIPVFS option; otherwise, this + property does nothing. + + + + + Gets/Sets the extra behavioral flags. + + + + + If enabled, apply the default connection settings to opened databases. + + + + + If enabled, attempt to resolve the provided data source file name to a + full path before opening. + + + + + If enabled, skip using the configured default connection flags. + + + + + If enabled, skip using the configured shared connection flags. + + + + + SQLite has very limited types, and is inherently text-based. The first 5 types below represent the sum of all types SQLite + understands. The DateTime extension to the spec is for internal use only. + + + + + Not used + + + + + All integers in SQLite default to Int64 + + + + + All floating point numbers in SQLite default to double + + + + + The default data type of SQLite is text + + + + + Typically blob types are only seen when returned from a function + + + + + Null types can be returned from functions + + + + + Used internally by this provider + + + + + Used internally by this provider + + + + + These are the event types associated with the + + delegate (and its corresponding event) and the + class. + + + + + Not used. + + + + + Not used. + + + + + The connection is being opened. + + + + + The connection string has been parsed. + + + + + The connection was opened. + + + + + The method was called on the + connection. + + + + + A transaction was created using the connection. + + + + + The connection was enlisted into a transaction. + + + + + A command was created using the connection. + + + + + A data reader was created using the connection. + + + + + An instance of a derived class has + been created to wrap a native resource. + + + + + The connection is being closed. + + + + + The connection was closed. + + + + + A command is being disposed. + + + + + A data reader is being disposed. + + + + + A data reader is being closed. + + + + + A native resource was opened (i.e. obtained) from the pool. + + + + + A native resource was closed (i.e. released) to the pool. + + + + + This implementation of SQLite for ADO.NET can process date/time fields in + databases in one of six formats. + + + ISO8601 format is more compatible, readable, fully-processable, but less + accurate as it does not provide time down to fractions of a second. + JulianDay is the numeric format the SQLite uses internally and is arguably + the most compatible with 3rd party tools. It is not readable as text + without post-processing. Ticks less compatible with 3rd party tools that + query the database, and renders the DateTime field unreadable as text + without post-processing. UnixEpoch is more compatible with Unix systems. + InvariantCulture allows the configured format for the invariant culture + format to be used and is human readable. CurrentCulture allows the + configured format for the current culture to be used and is also human + readable. + + The preferred order of choosing a DateTime format is JulianDay, ISO8601, + and then Ticks. Ticks is mainly present for legacy code support. + + + + + Use the value of DateTime.Ticks. This value is not recommended and is not well supported with LINQ. + + + + + Use the ISO-8601 format. Uses the "yyyy-MM-dd HH:mm:ss.FFFFFFFK" format for UTC DateTime values and + "yyyy-MM-dd HH:mm:ss.FFFFFFF" format for local DateTime values). + + + + + The interval of time in days and fractions of a day since January 1, 4713 BC. + + + + + The whole number of seconds since the Unix epoch (January 1, 1970). + + + + + Any culture-independent string value that the .NET Framework can interpret as a valid DateTime. + + + + + Any string value that the .NET Framework can interpret as a valid DateTime using the current culture. + + + + + The default format for this provider. + + + + + This enum determines how SQLite treats its journal file. + + + By default SQLite will create and delete the journal file when needed during a transaction. + However, for some computers running certain filesystem monitoring tools, the rapid + creation and deletion of the journal file can cause those programs to fail, or to interfere with SQLite. + + If a program or virus scanner is interfering with SQLite's journal file, you may receive errors like "unable to open database file" + when starting a transaction. If this is happening, you may want to change the default journal mode to Persist. + + + + + The default mode, this causes SQLite to use the existing journaling mode for the database. + + + + + SQLite will create and destroy the journal file as-needed. + + + + + When this is set, SQLite will keep the journal file even after a transaction has completed. It's contents will be erased, + and the journal re-used as often as needed. If it is deleted, it will be recreated the next time it is needed. + + + + + This option disables the rollback journal entirely. Interrupted transactions or a program crash can cause database + corruption in this mode! + + + + + SQLite will truncate the journal file to zero-length instead of deleting it. + + + + + SQLite will store the journal in volatile RAM. This saves disk I/O but at the expense of database safety and integrity. + If the application using SQLite crashes in the middle of a transaction when the MEMORY journaling mode is set, then the + database file will very likely go corrupt. + + + + + SQLite uses a write-ahead log instead of a rollback journal to implement transactions. The WAL journaling mode is persistent; + after being set it stays in effect across multiple database connections and after closing and reopening the database. A database + in WAL journaling mode can only be accessed by SQLite version 3.7.0 or later. + + + + + Possible values for the "synchronous" database setting. This setting determines + how often the database engine calls the xSync method of the VFS. + + + + + Use the default "synchronous" database setting. Currently, this should be + the same as using the FULL mode. + + + + + The database engine continues without syncing as soon as it has handed + data off to the operating system. If the application running SQLite + crashes, the data will be safe, but the database might become corrupted + if the operating system crashes or the computer loses power before that + data has been written to the disk surface. + + + + + The database engine will still sync at the most critical moments, but + less often than in FULL mode. There is a very small (though non-zero) + chance that a power failure at just the wrong time could corrupt the + database in NORMAL mode. + + + + + The database engine will use the xSync method of the VFS to ensure that + all content is safely written to the disk surface prior to continuing. + This ensures that an operating system crash or power failure will not + corrupt the database. FULL synchronous is very safe, but it is also + slower. + + + + + The requested command execution type. This controls which method of the + object will be called. + + + + + Do nothing. No method will be called. + + + + + The command is not expected to return a result -OR- the result is not + needed. The or + method + will be called. + + + + + The command is expected to return a scalar result -OR- the result should + be limited to a scalar result. The + or method will + be called. + + + + + The command is expected to return result. + The or + method will + be called. + + + + + Use the default command execution type. Using this value is the same + as using the value. + + + + + The action code responsible for the current call into the authorizer. + + + + + No action is being performed. This value should not be used from + external code. + + + + + No longer used. + + + + + An index will be created. The action-specific arguments are the + index name and the table name. + + + + + + A table will be created. The action-specific arguments are the + table name and a null value. + + + + + A temporary index will be created. The action-specific arguments + are the index name and the table name. + + + + + A temporary table will be created. The action-specific arguments + are the table name and a null value. + + + + + A temporary trigger will be created. The action-specific arguments + are the trigger name and the table name. + + + + + A temporary view will be created. The action-specific arguments are + the view name and a null value. + + + + + A trigger will be created. The action-specific arguments are the + trigger name and the table name. + + + + + A view will be created. The action-specific arguments are the view + name and a null value. + + + + + A DELETE statement will be executed. The action-specific arguments + are the table name and a null value. + + + + + An index will be dropped. The action-specific arguments are the + index name and the table name. + + + + + A table will be dropped. The action-specific arguments are the tables + name and a null value. + + + + + A temporary index will be dropped. The action-specific arguments are + the index name and the table name. + + + + + A temporary table will be dropped. The action-specific arguments are + the table name and a null value. + + + + + A temporary trigger will be dropped. The action-specific arguments + are the trigger name and the table name. + + + + + A temporary view will be dropped. The action-specific arguments are + the view name and a null value. + + + + + A trigger will be dropped. The action-specific arguments are the + trigger name and the table name. + + + + + A view will be dropped. The action-specific arguments are the view + name and a null value. + + + + + An INSERT statement will be executed. The action-specific arguments + are the table name and a null value. + + + + + A PRAGMA statement will be executed. The action-specific arguments + are the name of the PRAGMA and the new value or a null value. + + + + + A table column will be read. The action-specific arguments are the + table name and the column name. + + + + + A SELECT statement will be executed. The action-specific arguments + are both null values. + + + + + A transaction will be started, committed, or rolled back. The + action-specific arguments are the name of the operation (BEGIN, + COMMIT, or ROLLBACK) and a null value. + + + + + An UPDATE statement will be executed. The action-specific arguments + are the table name and the column name. + + + + + A database will be attached to the connection. The action-specific + arguments are the database file name and a null value. + + + + + A database will be detached from the connection. The action-specific + arguments are the database name and a null value. + + + + + The schema of a table will be altered. The action-specific arguments + are the database name and the table name. + + + + + An index will be deleted and then recreated. The action-specific + arguments are the index name and a null value. + + + + + A table will be analyzed to gathers statistics about it. The + action-specific arguments are the table name and a null value. + + + + + A virtual table will be created. The action-specific arguments are + the table name and the module name. + + + + + A virtual table will be dropped. The action-specific arguments are + the table name and the module name. + + + + + A SQL function will be called. The action-specific arguments are a + null value and the function name. + + + + + A savepoint will be created, released, or rolled back. The + action-specific arguments are the name of the operation (BEGIN, + RELEASE, or ROLLBACK) and the savepoint name. + + + + + A recursive query will be executed. The action-specific arguments + are two null values. + + + + + The possible return codes for the progress callback. + + + + + The operation should continue. + + + + + The operation should be interrupted. + + + + + The return code for the current call into the authorizer. + + + + + The action will be allowed. + + + + + The overall action will be disallowed and an error message will be + returned from the query preparation method. + + + + + The specific action will be disallowed; however, the overall action + will continue. The exact effects of this return code vary depending + on the specific action, please refer to the SQLite core library + documentation for futher details. + + + + + Class used internally to determine the datatype of a column in a resultset + + + + + The DbType of the column, or DbType.Object if it cannot be determined + + + + + The affinity of a column, used for expressions or when Type is DbType.Object + + + + + Constructs a default instance of this type. + + + + + Constructs an instance of this type with the specified field values. + + + The type affinity to use for the new instance. + + + The database type to use for the new instance. + + + + + SQLite implementation of DbDataAdapter. + + + + + This class is just a shell around the DbDataAdapter. Nothing from + DbDataAdapter is overridden here, just a few constructors are defined. + + + Default constructor. + + + + + Constructs a data adapter using the specified select command. + + + The select command to associate with the adapter. + + + + + Constructs a data adapter with the supplied select command text and + associated with the specified connection. + + + The select command text to associate with the data adapter. + + + The connection to associate with the select command. + + + + + Constructs a data adapter with the specified select command text, + and using the specified database connection string. + + + The select command text to use to construct a select command. + + + A connection string suitable for passing to a new SQLiteConnection, + which is associated with the select command. + + + + + Constructs a data adapter with the specified select command text, + and using the specified database connection string. + + + The select command text to use to construct a select command. + + + A connection string suitable for passing to a new SQLiteConnection, + which is associated with the select command. + + + Non-zero to parse the connection string using the built-in (i.e. + framework provided) parser when opening the connection. + + + + + Cleans up resources (native and managed) associated with the current instance. + + + Zero when being disposed via garbage collection; otherwise, non-zero. + + + + + Raised by the underlying DbDataAdapter when a row is being updated + + The event's specifics + + + + Raised by DbDataAdapter after a row is updated + + The event's specifics + + + + Row updating event handler + + + + + Row updated event handler + + + + + Gets/sets the select command for this DataAdapter + + + + + Gets/sets the insert command for this DataAdapter + + + + + Gets/sets the update command for this DataAdapter + + + + + Gets/sets the delete command for this DataAdapter + + + + + SQLite implementation of DbDataReader. + + + + + Underlying command this reader is attached to + + + + + The flags pertaining to the associated connection (via the command). + + + + + Index of the current statement in the command being processed + + + + + Current statement being Read() + + + + + State of the current statement being processed. + -1 = First Step() executed, so the first Read() will be ignored + 0 = Actively reading + 1 = Finished reading + 2 = Non-row-returning statement, no records + + + + + Number of records affected by the insert/update statements executed on the command + + + + + Count of fields (columns) in the row-returning statement currently being processed + + + + + The number of calls to Step() that have returned true (i.e. the number of rows that + have been read in the current result set). + + + + + Maps the field (column) names to their corresponding indexes within the results. + + + + + Datatypes of active fields (columns) in the current statement, used for type-restricting data + + + + + The behavior of the datareader + + + + + If set, then dispose of the command object when the reader is finished + + + + + If set, then raise an exception when the object is accessed after being disposed. + + + + + An array of rowid's for the active statement if CommandBehavior.KeyInfo is specified + + + + + Matches the version of the connection. + + + + + The "stub" (i.e. placeholder) base schema name to use when returning + column schema information. Matches the base schema name used by the + associated connection. + + + + + Internal constructor, initializes the datareader and sets up to begin executing statements + + The SQLiteCommand this data reader is for + The expected behavior of the data reader + + + + Dispose of all resources used by this datareader. + + + + + + Closes the datareader, potentially closing the connection as well if CommandBehavior.CloseConnection was specified. + + + + + Throw an error if the datareader is closed + + + + + Throw an error if a row is not loaded + + + + + Enumerator support + + Returns a DbEnumerator object. + + + + Forces the connection flags cached by this data reader to be refreshed + from the underlying connection. + + + + + This method is used to make sure the result set is open and a row is currently available. + + + + + SQLite is inherently un-typed. All datatypes in SQLite are natively strings. The definition of the columns of a table + and the affinity of returned types are all we have to go on to type-restrict data in the reader. + + This function attempts to verify that the type of data being requested of a column matches the datatype of the column. In + the case of columns that are not backed into a table definition, we attempt to match up the affinity of a column (int, double, string or blob) + to a set of known types that closely match that affinity. It's not an exact science, but its the best we can do. + + + This function throws an InvalidTypeCast() exception if the requested type doesn't match the column's definition or affinity. + + The index of the column to type-check + The type we want to get out of the column + + + + Invokes the data reader value callback configured for the database + type name associated with the specified column. If no data reader + value callback is available for the database type name, do nothing. + + + The index of the column being read. + + + The extra event data to pass into the callback. + + + Non-zero if the default handling for the data reader call should be + skipped. If this is set to non-zero and the necessary return value + is unavailable or unsuitable, an exception will be thrown. + + + + + Attempts to query the integer identifier for the current row. This + will not work for tables that were created WITHOUT ROWID -OR- if the + query does not include the "rowid" column or one of its aliases -OR- + if the was not created with the + flag. + + + The index of the BLOB column. + + + The integer identifier for the current row -OR- null if it could not + be determined. + + + + + Retrieves the column as a object. + This will not work for tables that were created WITHOUT ROWID + -OR- if the query does not include the "rowid" column or one + of its aliases -OR- if the was + not created with the + flag. + + The index of the column. + + Non-zero to open the blob object for read-only access. + + A new object. + + + + Retrieves the column as a boolean value + + The index of the column. + bool + + + + Retrieves the column as a single byte value + + The index of the column. + byte + + + + Retrieves a column as an array of bytes (blob) + + The index of the column. + The zero-based index of where to begin reading the data + The buffer to write the bytes into + The zero-based index of where to begin writing into the array + The number of bytes to retrieve + The actual number of bytes written into the array + + To determine the number of bytes in the column, pass a null value for the buffer. The total length will be returned. + + + + + Returns the column as a single character + + The index of the column. + char + + + + Retrieves a column as an array of chars (blob) + + The index of the column. + The zero-based index of where to begin reading the data + The buffer to write the characters into + The zero-based index of where to begin writing into the array + The number of bytes to retrieve + The actual number of characters written into the array + + To determine the number of characters in the column, pass a null value for the buffer. The total length will be returned. + + + + + Retrieves the name of the back-end datatype of the column + + The index of the column. + string + + + + Retrieve the column as a date/time value + + The index of the column. + DateTime + + + + Retrieve the column as a decimal value + + The index of the column. + decimal + + + + Returns the column as a double + + The index of the column. + double + + + + Determines and returns the of the + specified column. + + + The index of the column. + + + The associated with the specified + column, if any. + + + + + Returns the .NET type of a given column + + The index of the column. + Type + + + + Returns a column as a float value + + The index of the column. + float + + + + Returns the column as a Guid + + The index of the column. + Guid + + + + Returns the column as a short + + The index of the column. + Int16 + + + + Retrieves the column as an int + + The index of the column. + Int32 + + + + Retrieves the column as a long + + The index of the column. + Int64 + + + + Retrieves the name of the column + + The index of the column. + string + + + + Returns the name of the database associated with the specified column. + + The index of the column. + string + + + + Returns the name of the table associated with the specified column. + + The index of the column. + string + + + + Returns the original name of the specified column. + + The index of the column. + string + + + + Retrieves the i of a column, given its name + + The name of the column to retrieve + The int i of the column + + + + Schema information in SQLite is difficult to map into .NET conventions, so a lot of work must be done + to gather the necessary information so it can be represented in an ADO.NET manner. + + Returns a DataTable containing the schema information for the active SELECT statement being processed. + + + + Retrieves the column as a string + + The index of the column. + string + + + + Retrieves the column as an object corresponding to the underlying datatype of the column + + The index of the column. + object + + + + Retreives the values of multiple columns, up to the size of the supplied array + + The array to fill with values from the columns in the current resultset + The number of columns retrieved + + + + Returns a collection containing all the column names and values for the + current row of data in the current resultset, if any. If there is no + current row or no current resultset, an exception may be thrown. + + + The collection containing the column name and value information for the + current row of data in the current resultset or null if this information + cannot be obtained. + + + + + Returns True if the specified column is null + + The index of the column. + True or False + + + + Moves to the next resultset in multiple row-returning SQL command. + + True if the command was successful and a new resultset is available, False otherwise. + + + + This method attempts to query the database connection associated with + the data reader in use. If the underlying command or connection is + unavailable, a null value will be returned. + + + The connection object -OR- null if it is unavailable. + + + + + Retrieves the SQLiteType for a given column and row value. + + + The original SQLiteType structure, based only on the column. + + + The textual value of the column for a given row. + + + The SQLiteType structure. + + + + + Retrieves the SQLiteType for a given column, and caches it to avoid repetetive interop calls. + + The flags associated with the parent connection object. + The index of the column. + A SQLiteType structure + + + + Reads the next row from the resultset + + True if a new row was successfully loaded and is ready for processing + + + + Not implemented. Returns 0 + + + + + Returns the number of columns in the current resultset + + + + + Returns the number of rows seen so far in the current result set. + + + + + Returns the number of visible fields in the current resultset + + + + + Returns True if the resultset has rows that can be fetched + + + + + Returns True if the data reader is closed + + + + + Returns the number of rows affected by the statement being executed. + The value returned may not be accurate for DDL statements. Also, it + will be -1 for any statement that does not modify the database (e.g. + SELECT). If an otherwise read-only statement modifies the database + indirectly (e.g. via a virtual table or user-defined function), the + value returned is undefined. + + + + + Indexer to retrieve data from a column given its name + + The name of the column to retrieve data for + The value contained in the column + + + + Indexer to retrieve data from a column given its i + + The index of the column. + The value contained in the column + + + + SQLite exception class. + + + + + This value was copied from the "WinError.h" file included with the + Platform SDK for Windows 10. + + + + + Private constructor for use with serialization. + + + Holds the serialized object data about the exception being thrown. + + + Contains contextual information about the source or destination. + + + + + Public constructor for generating a SQLite exception given the error + code and message. + + + The SQLite return code to report. + + + Message text to go along with the return code message text. + + + + + Public constructor that uses the base class constructor for the error + message. + + Error message text. + + + + Public constructor that uses the default base class constructor. + + + + + Public constructor that uses the base class constructor for the error + message and inner exception. + + Error message text. + The original (inner) exception. + + + + Adds extra information to the serialized object data specific to this + class type. This is only used for serialization. + + + Holds the serialized object data about the exception being thrown. + + + Contains contextual information about the source or destination. + + + + + This method performs extra initialization tasks. It may be called by + any of the constructors of this class. It must not throw exceptions. + + + + + Maps a Win32 error code to an HRESULT. + + + The specified Win32 error code. It must be within the range of zero + (0) to 0xFFFF (65535). + + + Non-zero if the HRESULT should indicate success; otherwise, zero. + + + The integer value of the HRESULT. + + + + + Attempts to map the specified onto an + existing HRESULT -OR- a Win32 error code wrapped in an HRESULT. The + mappings may not have perfectly matching semantics; however, they do + have the benefit of being unique within the context of this exception + type. + + + The to map. + + + The integer HRESULT value -OR- null if there is no known mapping. + + + + + Returns the error message for the specified SQLite return code. + + The SQLite return code. + The error message or null if it cannot be found. + + + + Returns the composite error message based on the SQLite return code + and the optional detailed error message. + + The SQLite return code. + Optional detailed error message. + Error message text for the return code. + + + + Gets the associated SQLite result code for this exception as a + . This property returns the same + underlying value as the property. + + + + + Gets the associated SQLite return code for this exception as an + . For desktop versions of the .NET Framework, + this property overrides the property of the same name within the + + class. This property returns the same underlying value as the + property. + + + + + SQLite error codes. Actually, this enumeration represents a return code, + which may also indicate success in one of several ways (e.g. SQLITE_OK, + SQLITE_ROW, and SQLITE_DONE). Therefore, the name of this enumeration is + something of a misnomer. + + + + + The error code is unknown. This error code + is only used by the managed wrapper itself. + + + + + Successful result + + + + + SQL error or missing database + + + + + Internal logic error in SQLite + + + + + Access permission denied + + + + + Callback routine requested an abort + + + + + The database file is locked + + + + + A table in the database is locked + + + + + A malloc() failed + + + + + Attempt to write a readonly database + + + + + Operation terminated by sqlite3_interrupt() + + + + + Some kind of disk I/O error occurred + + + + + The database disk image is malformed + + + + + Unknown opcode in sqlite3_file_control() + + + + + Insertion failed because database is full + + + + + Unable to open the database file + + + + + Database lock protocol error + + + + + Database is empty + + + + + The database schema changed + + + + + String or BLOB exceeds size limit + + + + + Abort due to constraint violation + + + + + Data type mismatch + + + + + Library used incorrectly + + + + + Uses OS features not supported on host + + + + + Authorization denied + + + + + Auxiliary database format error + + + + + 2nd parameter to sqlite3_bind out of range + + + + + File opened that is not a database file + + + + + Notifications from sqlite3_log() + + + + + Warnings from sqlite3_log() + + + + + sqlite3_step() has another row ready + + + + + sqlite3_step() has finished executing + + + + + Used to mask off extended result codes + + + + + A collation sequence was referenced by a schema and it cannot be + found. + + + + + An internal operation failed and it may succeed if retried. + + + + + The specified snapshot has been overwritten by a checkpoint. + + + + + A file read operation failed. + + + + + A file read operation returned less data than requested. + + + + + A file write operation failed. + + + + + A file synchronization operation failed. + + + + + A directory synchronization operation failed. + + + + + A file truncate operation failed. + + + + + A file metadata operation failed. + + + + + A file unlock operation failed. + + + + + A file lock operation failed. + + + + + A file delete operation failed. + + + + + Not currently used. + + + + + Out-of-memory during a file operation. + + + + + A file existence/status operation failed. + + + + + A check for a reserved lock failed. + + + + + A file lock operation failed. + + + + + A file close operation failed. + + + + + A directory close operation failed. + + + + + A shared memory open operation failed. + + + + + A shared memory size operation failed. + + + + + A shared memory lock operation failed. + + + + + A shared memory map operation failed. + + + + + A file seek operation failed. + + + + + A file delete operation failed because it does not exist. + + + + + A file memory mapping operation failed. + + + + + The temporary directory path could not be obtained. + + + + + A path string conversion operation failed. + + + + + Reserved. + + + + + An attempt to authenticate failed. + + + + + An attempt to begin a file system transaction failed. + + + + + An attempt to commit a file system transaction failed. + + + + + An attempt to rollback a file system transaction failed. + + + + + A database table is locked in shared-cache mode. + + + + + A virtual table in the database is locked. + + + + + A database file is locked due to a recovery operation. + + + + + A database file is locked due to snapshot semantics. + + + + + A database file cannot be opened because no temporary directory is available. + + + + + A database file cannot be opened because its path represents a directory. + + + + + A database file cannot be opened because its full path could not be obtained. + + + + + A database file cannot be opened because a path string conversion operation failed. + + + + + No longer used. + + + + + A database file is a symbolic link and cannot be opened. + + + + + A virtual table is malformed. + + + + + A required sequence table is missing or corrupt. + + + + + A database file is read-only due to a recovery operation. + + + + + A database file is read-only because a lock could not be obtained. + + + + + A database file is read-only because it needs rollback processing. + + + + + A database file is read-only because it was moved while open. + + + + + The shared-memory file is read-only and it should be read-write. + + + + + Unable to create journal file because the directory is read-only. + + + + + An operation is being aborted due to rollback processing. + + + + + A CHECK constraint failed. + + + + + A commit hook produced a unsuccessful return code. + + + + + A FOREIGN KEY constraint failed. + + + + + Not currently used. + + + + + A NOT NULL constraint failed. + + + + + A PRIMARY KEY constraint failed. + + + + + The RAISE function was used by a trigger-program. + + + + + A UNIQUE constraint failed. + + + + + Not currently used. + + + + + A ROWID constraint failed. + + + + + A database cursor is busy and cannot be moved. + + + + + Frames were recovered from the WAL log file. + + + + + Pages were recovered from the journal file. + + + + + An automatic index was created to process a query. + + + + + User authentication failed. + + + + + Success. Prevents the extension from unloading until the process + terminates. + + + + + Success. The specified file name refers to a symbolic link. + + + + + SQLite implementation of . + + + SQLite implementation of . + + + + + Constructs a new instance. + + + + + Cleans up resources (native and managed) associated with the current instance. + + + + + Cleans up resources associated with the current instance. + + + + + Static instance member which returns an instanced class. + + + + + Creates and returns a new object. + + The new object. + + + + Creates and returns a new object. + + The new object. + + + + Creates and returns a new object. + + The new object. + + + + Creates and returns a new object. + + The new object. + + + + Creates and returns a new object. + + The new object. + + + + Creates and returns a new object. + + The new object. + + + + Will provide a object in .NET 3.5. + + The class or interface type to query for. + + + + + This event is raised whenever SQLite raises a logging event. + Note that this should be set as one of the first things in the + application. This event is provided for backward compatibility only. + New code should use the class instead. + + + + + This abstract class is designed to handle user-defined functions easily. An instance of the derived class is made for each + connection to the database. + + + Although there is one instance of a class derived from SQLiteFunction per database connection, the derived class has no access + to the underlying connection. This is necessary to deter implementers from thinking it would be a good idea to make database + calls during processing. + + It is important to distinguish between a per-connection instance, and a per-SQL statement context. One instance of this class + services all SQL statements being stepped through on that connection, and there can be many. One should never store per-statement + information in member variables of user-defined function classes. + + For aggregate functions, always create and store your per-statement data in the contextData object on the 1st step. This data will + be automatically freed for you (and Dispose() called if the item supports IDisposable) when the statement completes. + + + + + The base connection this function is attached to + + + + + Internal array used to keep track of aggregate function context data + + + + + The connection flags associated with this object (this should be the + same value as the flags associated with the parent connection object). + + + + + Holds a reference to the callback function for user functions + + + + + Holds a reference to the callbakc function for stepping in an aggregate function + + + + + Holds a reference to the callback function for finalizing an aggregate function + + + + + Holds a reference to the callback function for collating sequences + + + + + Current context of the current callback. Only valid during a callback + + + + + This static dictionary contains all the registered (known) user-defined + functions declared using the proper attributes. The contained dictionary + values are always null and are not currently used. + + + + + Internal constructor, initializes the function's internal variables. + + + + + Constructs an instance of this class using the specified data-type + conversion parameters. + + + The DateTime format to be used when converting string values to a + DateTime and binding DateTime parameters. + + + The to be used when creating DateTime + values. + + + The format string to be used when parsing and formatting DateTime + values. + + + Non-zero to create a UTF-16 data-type conversion context; otherwise, + a UTF-8 data-type conversion context will be created. + + + + + Disposes of any active contextData variables that were not automatically cleaned up. Sometimes this can happen if + someone closes the connection while a DataReader is open. + + + + + Placeholder for a user-defined disposal routine + + True if the object is being disposed explicitly + + + + Cleans up resources associated with the current instance. + + + + + Scalar functions override this method to do their magic. + + + Parameters passed to functions have only an affinity for a certain data type, there is no underlying schema available + to force them into a certain type. Therefore the only types you will ever see as parameters are + DBNull.Value, Int64, Double, String or byte[] array. + + The arguments for the command to process + You may return most simple types as a return value, null or DBNull.Value to return null, DateTime, or + you may return an Exception-derived class if you wish to return an error to SQLite. Do not actually throw the error, + just return it! + + + + Aggregate functions override this method to do their magic. + + + Typically you'll be updating whatever you've placed in the contextData field and returning as quickly as possible. + + The arguments for the command to process + The 1-based step number. This is incrememted each time the step method is called. + A placeholder for implementers to store contextual data pertaining to the current context. + + + + Aggregate functions override this method to finish their aggregate processing. + + + If you implemented your aggregate function properly, + you've been recording and keeping track of your data in the contextData object provided, and now at this stage you should have + all the information you need in there to figure out what to return. + NOTE: It is possible to arrive here without receiving a previous call to Step(), in which case the contextData will + be null. This can happen when no rows were returned. You can either return null, or 0 or some other custom return value + if that is the case. + + Your own assigned contextData, provided for you so you can return your final results. + You may return most simple types as a return value, null or DBNull.Value to return null, DateTime, or + you may return an Exception-derived class if you wish to return an error to SQLite. Do not actually throw the error, + just return it! + + + + + User-defined collating sequences override this method to provide a custom string sorting algorithm. + + The first string to compare. + The second strnig to compare. + 1 if param1 is greater than param2, 0 if they are equal, or -1 if param1 is less than param2. + + + + Converts an IntPtr array of context arguments to an object array containing the resolved parameters the pointers point to. + + + Parameters passed to functions have only an affinity for a certain data type, there is no underlying schema available + to force them into a certain type. Therefore the only types you will ever see as parameters are + DBNull.Value, Int64, Double, String or byte[] array. + + The number of arguments + A pointer to the array of arguments + An object array of the arguments once they've been converted to .NET values + + + + Takes the return value from Invoke() and Final() and figures out how to return it to SQLite's context. + + The context the return value applies to + The parameter to return to SQLite + + + + Internal scalar callback function, which wraps the raw context pointer and calls the virtual Invoke() method. + WARNING: Must not throw exceptions. + + A raw context pointer + Number of arguments passed in + A pointer to the array of arguments + + + + Internal collating sequence function, which wraps up the raw string pointers and executes the Compare() virtual function. + WARNING: Must not throw exceptions. + + Not used + Length of the string pv1 + Pointer to the first string to compare + Length of the string pv2 + Pointer to the second string to compare + Returns -1 if the first string is less than the second. 0 if they are equal, or 1 if the first string is greater + than the second. Returns 0 if an exception is caught. + + + + Internal collating sequence function, which wraps up the raw string pointers and executes the Compare() virtual function. + WARNING: Must not throw exceptions. + + Not used + Length of the string pv1 + Pointer to the first string to compare + Length of the string pv2 + Pointer to the second string to compare + Returns -1 if the first string is less than the second. 0 if they are equal, or 1 if the first string is greater + than the second. Returns 0 if an exception is caught. + + + + The internal aggregate Step function callback, which wraps the raw context pointer and calls the virtual Step() method. + WARNING: Must not throw exceptions. + + + This function takes care of doing the lookups and getting the important information put together to call the Step() function. + That includes pulling out the user's contextData and updating it after the call is made. We use a sorted list for this so + binary searches can be done to find the data. + + A raw context pointer + Number of arguments passed in + A pointer to the array of arguments + + + + An internal aggregate Final function callback, which wraps the context pointer and calls the virtual Final() method. + WARNING: Must not throw exceptions. + + A raw context pointer + + + + Using reflection, enumerate all assemblies in the current appdomain looking for classes that + have a SQLiteFunctionAttribute attribute, and registering them accordingly. + + + + + Manual method of registering a function. The type must still have the SQLiteFunctionAttributes in order to work + properly, but this is a workaround for the Compact Framework where enumerating assemblies is not currently supported. + + The type of the function to register + + + + Alternative method of registering a function. This method + does not require the specified type to be annotated with + . + + + The name of the function to register. + + + The number of arguments accepted by the function. + + + The type of SQLite function being resitered (e.g. scalar, + aggregate, or collating sequence). + + + The that actually implements the function. + This will only be used if the + and parameters are null. + + + The to be used for all calls into the + , + , + and virtual methods. + + + The to be used for all calls into the + virtual method. This + parameter is only necessary for aggregate functions. + + + + + Replaces a registered function, disposing of the associated (old) + value if necessary. + + + The attribute that describes the function to replace. + + + The new value to use. + + + Non-zero if an existing registered function was replaced; otherwise, + zero. + + + + + Creates a instance based on the specified + . + + + The containing the metadata about + the function to create. + + + The created function -OR- null if the function could not be created. + + + Non-zero if the function was created; otherwise, zero. + + + + + Called by the SQLiteBase derived classes, this method binds all registered (known) user-defined functions to a connection. + It is done this way so that all user-defined functions will access the database using the same encoding scheme + as the connection (UTF-8 or UTF-16). + + + The wrapper functions that interop with SQLite will create a unique cookie value, which internally is a pointer to + all the wrapped callback functions. The interop function uses it to map CDecl callbacks to StdCall callbacks. + + The base object on which the functions are to bind. + The flags associated with the parent connection object. + Returns a logical list of functions which the connection should retain until it is closed. + + + + Called by the SQLiteBase derived classes, this method unbinds all registered (known) + functions -OR- all previously bound user-defined functions from a connection. + + The base object from which the functions are to be unbound. + The flags associated with the parent connection object. + + Non-zero to unbind all registered (known) functions -OR- zero to unbind all functions + currently bound to the connection. + + Non-zero if all the specified user-defined functions were unbound. + + + + This function binds a user-defined function to a connection. + + + The object instance associated with the + that the function should be bound to. + + + The object instance containing + the metadata for the function to be bound. + + + The object instance that implements the + function to be bound. + + + The flags associated with the parent connection object. + + + + + This function unbinds a user-defined functions from a connection. + + + The object instance associated with the + that the function should be bound to. + + + The object instance containing + the metadata for the function to be bound. + + + The object instance that implements the + function to be bound. + + + The flags associated with the parent connection object. + + Non-zero if the function was unbound. + + + + Returns a reference to the underlying connection's SQLiteConvert class, which can be used to convert + strings and DateTime's into the current connection's encoding schema. + + + + + This type is used with the + method. + + + This is always the string literal "Invoke". + + + The arguments for the scalar function. + + + The result of the scalar function. + + + + + This type is used with the + method. + + + This is always the string literal "Step". + + + The arguments for the aggregate function. + + + The step number (one based). This is incrememted each time the + method is called. + + + A placeholder for implementers to store contextual data pertaining + to the current context. + + + + + This type is used with the + method. + + + This is always the string literal "Final". + + + A placeholder for implementers to store contextual data pertaining + to the current context. + + + The result of the aggregate function. + + + + + This type is used with the + method. + + + This is always the string literal "Compare". + + + The first string to compare. + + + The second strnig to compare. + + + A positive integer if the parameter is + greater than the parameter, a negative + integer if the parameter is less than + the parameter, or zero if they are + equal. + + + + + This class implements a SQLite function using a . + All the virtual methods of the class are + implemented using calls to the , + , , + and strongly typed delegate types + or via the method. + The arguments are presented in the same order they appear in + the associated methods with one exception: + the first argument is the name of the virtual method being implemented. + + + + + This error message is used by the overridden virtual methods when + a required property (e.g. + or ) has not been + set. + + + + + This error message is used by the overridden + method when the result does not have a type of . + + + + + Constructs an empty instance of this class. + + + + + Constructs an instance of this class using the specified + as the + implementation. + + + The to be used for all calls into the + , , and + virtual methods needed by the + base class. + + + The to be used for all calls into the + virtual methods needed by the + base class. + + + + + Returns the list of arguments for the method, + as an of . The first + argument is always the literal string "Invoke". + + + The original arguments received by the method. + + + Non-zero if the returned arguments are going to be used with the + type; otherwise, zero. + + + The arguments to pass to the configured . + + + + + Returns the list of arguments for the method, + as an of . The first + argument is always the literal string "Step". + + + The original arguments received by the method. + + + The step number (one based). This is incrememted each time the + method is called. + + + A placeholder for implementers to store contextual data pertaining + to the current context. + + + Non-zero if the returned arguments are going to be used with the + type; otherwise, zero. + + + The arguments to pass to the configured . + + + + + Updates the output arguments for the method, + using an of . The first + argument is always the literal string "Step". Currently, only the + parameter is updated. + + + The original arguments received by the method. + + + A placeholder for implementers to store contextual data pertaining + to the current context. + + + Non-zero if the returned arguments are going to be used with the + type; otherwise, zero. + + + The arguments to pass to the configured . + + + + + Returns the list of arguments for the method, + as an of . The first + argument is always the literal string "Final". + + + A placeholder for implementers to store contextual data pertaining + to the current context. + + + Non-zero if the returned arguments are going to be used with the + type; otherwise, zero. + + + The arguments to pass to the configured . + + + + + Returns the list of arguments for the method, + as an of . The first + argument is always the literal string "Compare". + + + The first string to compare. + + + The second strnig to compare. + + + Non-zero if the returned arguments are going to be used with the + type; otherwise, zero. + + + The arguments to pass to the configured . + + + + + This virtual method is the implementation for scalar functions. + See the method for more + details. + + + The arguments for the scalar function. + + + The result of the scalar function. + + + + + This virtual method is part of the implementation for aggregate + functions. See the method + for more details. + + + The arguments for the aggregate function. + + + The step number (one based). This is incrememted each time the + method is called. + + + A placeholder for implementers to store contextual data pertaining + to the current context. + + + + + This virtual method is part of the implementation for aggregate + functions. See the method + for more details. + + + A placeholder for implementers to store contextual data pertaining + to the current context. + + + The result of the aggregate function. + + + + + This virtual method is part of the implementation for collating + sequences. See the method + for more details. + + + The first string to compare. + + + The second strnig to compare. + + + A positive integer if the parameter is + greater than the parameter, a negative + integer if the parameter is less than + the parameter, or zero if they are + equal. + + + + + The to be used for all calls into the + , , and + virtual methods needed by the + base class. + + + + + The to be used for all calls into the + virtual methods needed by the + base class. + + + + + Extends SQLiteFunction and allows an inherited class to obtain the collating sequence associated with a function call. + + + User-defined functions can call the GetCollationSequence() method in this class and use it to compare strings and char arrays. + + + + + Obtains the collating sequence in effect for the given function. + + + + + + Cleans up resources (native and managed) associated with the current instance. + + + Zero when being disposed via garbage collection; otherwise, non-zero. + + + + + The type of user-defined function to declare + + + + + Scalar functions are designed to be called and return a result immediately. Examples include ABS(), Upper(), Lower(), etc. + + + + + Aggregate functions are designed to accumulate data until the end of a call and then return a result gleaned from the accumulated data. + Examples include SUM(), COUNT(), AVG(), etc. + + + + + Collating sequences are used to sort textual data in a custom manner, and appear in an ORDER BY clause. Typically text in an ORDER BY is + sorted using a straight case-insensitive comparison function. Custom collating sequences can be used to alter the behavior of text sorting + in a user-defined manner. + + + + + An internal callback delegate declaration. + + Raw native context pointer for the user function. + Total number of arguments to the user function. + Raw native pointer to the array of raw native argument pointers. + + + + An internal final callback delegate declaration. + + Raw context pointer for the user function + + + + Internal callback delegate for implementing collating sequences + + Not used + Length of the string pv1 + Pointer to the first string to compare + Length of the string pv2 + Pointer to the second string to compare + Returns -1 if the first string is less than the second. 0 if they are equal, or 1 if the first string is greater + than the second. + + + + The type of collating sequence + + + + + The built-in BINARY collating sequence + + + + + The built-in NOCASE collating sequence + + + + + The built-in REVERSE collating sequence + + + + + A custom user-defined collating sequence + + + + + The encoding type the collation sequence uses + + + + + The collation sequence is UTF8 + + + + + The collation sequence is UTF16 little-endian + + + + + The collation sequence is UTF16 big-endian + + + + + A struct describing the collating sequence a function is executing in + + + + + The name of the collating sequence + + + + + The type of collating sequence + + + + + The text encoding of the collation sequence + + + + + Context of the function that requested the collating sequence + + + + + Calls the base collating sequence to compare two strings + + The first string to compare + The second string to compare + -1 if s1 is less than s2, 0 if s1 is equal to s2, and 1 if s1 is greater than s2 + + + + Calls the base collating sequence to compare two character arrays + + The first array to compare + The second array to compare + -1 if c1 is less than c2, 0 if c1 is equal to c2, and 1 if c1 is greater than c2 + + + + A simple custom attribute to enable us to easily find user-defined functions in + the loaded assemblies and initialize them in SQLite as connections are made. + + + + + Default constructor, initializes the internal variables for the function. + + + + + Constructs an instance of this class. This sets the initial + , , and + properties to null. + + + The name of the function, as seen by the SQLite core library. + + + The number of arguments that the function will accept. + + + The type of function being declared. This will either be Scalar, + Aggregate, or Collation. + + + + + The function's name as it will be used in SQLite command text. + + + + + The number of arguments this function expects. -1 if the number of arguments is variable. + + + + + The type of function this implementation will be. + + + + + The object instance that describes the class + containing the implementation for the associated function. The value of + this property will not be used if either the or + property values are set to non-null. + + + + + The that refers to the implementation for the + associated function. If this property value is set to non-null, it will + be used instead of the property value. + + + + + The that refers to the implementation for the + associated function. If this property value is set to non-null, it will + be used instead of the property value. + + + + + This class provides key info for a given SQLite statement. + + Providing key information for a given statement is non-trivial :( + + + + + + This function does all the nasty work at determining what keys need to be returned for + a given statement. + + + + + + + + Make sure all the subqueries are open and ready and sync'd with the current rowid + of the table they're supporting + + + + + Release any readers on any subqueries + + + + + Append all the columns we've added to the original query to the schema + + + + + + How many additional columns of keyinfo we're holding + + + + + Used to support CommandBehavior.KeyInfo + + + + + Used to keep track of the per-table RowId column metadata. + + + + + A single sub-query for a given table/database. + + + + + Event data for logging event handlers. + + + + + The error code. The type of this object value should be + or . + + + + + SQL statement text as the statement first begins executing + + + + + Extra data associated with this event, if any. + + + + + Constructs the object. + + Should be null. + + The error code. The type of this object value should be + or . + + The error message, if any. + The extra data, if any. + + + + Raised when a log event occurs. + + The current connection + Event arguments of the trace + + + + Manages the SQLite custom logging functionality and the associated + callback for the whole process. + + + + + Object used to synchronize access to the static instance data + for this class. + + + + + Member variable to store the AppDomain.DomainUnload event handler. + + + + + The default log event handler. + + + + + The log callback passed to native SQLite engine. This must live + as long as the SQLite library has a pointer to it. + + + + + The base SQLite object to interop with. + + + + + The number of times that the + has been called when the logging subystem was actually eligible + to be initialized (i.e. without the "No_SQLiteLog" environment + variable being set). + + + + + This will be non-zero if an attempt was already made to initialize + the (managed) logging subsystem. + + + + + This will be non-zero if logging is currently enabled. + + + + + Initializes the SQLite logging facilities. + + + + + Initializes the SQLite logging facilities. + + + The name of the managed class that called this method. This + parameter may be null. + + + + + Handles the AppDomain being unloaded. + + Should be null. + The data associated with this event. + + + + Log a message to all the registered log event handlers without going + through the SQLite library. + + The message to be logged. + + + + Log a message to all the registered log event handlers without going + through the SQLite library. + + The SQLite error code. + The message to be logged. + + + + Log a message to all the registered log event handlers without going + through the SQLite library. + + The integer error code. + The message to be logged. + + + + Log a message to all the registered log event handlers without going + through the SQLite library. + + + The error code. The type of this object value should be + System.Int32 or SQLiteErrorCode. + + The message to be logged. + + + + Creates and initializes the default log event handler. + + + + + Adds the default log event handler to the list of handlers. + + + + + Removes the default log event handler from the list of handlers. + + + + + Internal proxy function that calls any registered application log + event handlers. + + WARNING: This method is used more-or-less directly by native code, + do not modify its type signature. + + + The extra data associated with this message, if any. + + + The error code associated with this message. + + + The message string to be logged. + + + + + Default logger. Currently, uses the Trace class (i.e. sends events + to the current trace listeners, if any). + + Should be null. + The data associated with this event. + + + + Member variable to store the application log handler to call. + + + + + This event is raised whenever SQLite raises a logging event. + Note that this should be set as one of the first things in the + application. + + + + + If this property is true, logging is enabled; otherwise, logging is + disabled. When logging is disabled, no logging events will fire. + + + + + MetaDataCollections specific to SQLite + + + + + Returns a list of databases attached to the connection + + + + + Returns column information for the specified table + + + + + Returns index information for the optionally-specified table + + + + + Returns base columns for the given index + + + + + Returns the tables in the given catalog + + + + + Returns user-defined views in the given catalog + + + + + Returns underlying column information on the given view + + + + + Returns foreign key information for the given catalog + + + + + Returns the triggers on the database + + + + + SQLite implementation of DbParameter. + + + + + This value represents an "unknown" . + + + + + The command associated with this parameter. + + + + + The data type of the parameter + + + + + The version information for mapping the parameter + + + + + The value of the data in the parameter + + + + + The source column for the parameter + + + + + The column name + + + + + The data size, unused by SQLite + + + + + The database type name associated with this parameter, if any. + + + + + Constructor used when creating for use with a specific command. + + + The command associated with this parameter. + + + + + Default constructor + + + + + Constructs a named parameter given the specified parameter name + + The parameter name + + + + Constructs a named parameter given the specified parameter name and initial value + + The parameter name + The initial value of the parameter + + + + Constructs a named parameter of the specified type + + The parameter name + The datatype of the parameter + + + + Constructs a named parameter of the specified type and source column reference + + The parameter name + The data type + The source column + + + + Constructs a named parameter of the specified type, source column and row version + + The parameter name + The data type + The source column + The row version information + + + + Constructs an unnamed parameter of the specified data type + + The datatype of the parameter + + + + Constructs an unnamed parameter of the specified data type and sets the initial value + + The datatype of the parameter + The initial value of the parameter + + + + Constructs an unnamed parameter of the specified data type and source column + + The datatype of the parameter + The source column + + + + Constructs an unnamed parameter of the specified data type, source column and row version + + The data type + The source column + The row version information + + + + Constructs a named parameter of the specified type and size + + The parameter name + The data type + The size of the parameter + + + + Constructs a named parameter of the specified type, size and source column + + The name of the parameter + The data type + The size of the parameter + The source column + + + + Constructs a named parameter of the specified type, size, source column and row version + + The name of the parameter + The data type + The size of the parameter + The source column + The row version information + + + + Constructs a named parameter of the specified type, size, source column and row version + + The name of the parameter + The data type + The size of the parameter + Only input parameters are supported in SQLite + Ignored + Ignored + Ignored + The source column + The row version information + The initial value to assign the parameter + + + + Constructs a named parameter, yet another flavor + + The name of the parameter + The data type + The size of the parameter + Only input parameters are supported in SQLite + Ignored + Ignored + The source column + The row version information + Whether or not this parameter is for comparing NULL's + The intial value to assign the parameter + + + + Constructs an unnamed parameter of the specified type and size + + The data type + The size of the parameter + + + + Constructs an unnamed parameter of the specified type, size, and source column + + The data type + The size of the parameter + The source column + + + + Constructs an unnamed parameter of the specified type, size, source column and row version + + The data type + The size of the parameter + The source column + The row version information + + + + Resets the DbType of the parameter so it can be inferred from the value + + + + + Clones a parameter + + A new, unassociated SQLiteParameter + + + + The command associated with this parameter. + + + + + Whether or not the parameter can contain a null value + + + + + Returns the datatype of the parameter + + + + + Supports only input parameters + + + + + Returns the parameter name + + + + + Returns the size of the parameter + + + + + Gets/sets the source column + + + + + Used by DbCommandBuilder to determine the mapping for nullable fields + + + + + Gets and sets the row version + + + + + Gets and sets the parameter value. If no datatype was specified, the datatype will assume the type from the value given. + + + + + The database type name associated with this parameter, if any. + + + + + SQLite implementation of DbParameterCollection. + + + + + The underlying command to which this collection belongs + + + + + The internal array of parameters in this collection + + + + + Determines whether or not all parameters have been bound to their statement(s) + + + + + Initializes the collection + + The command to which the collection belongs + + + + Retrieves an enumerator for the collection + + An enumerator for the underlying array + + + + Adds a parameter to the collection + + The parameter name + The data type + The size of the value + The source column + A SQLiteParameter object + + + + Adds a parameter to the collection + + The parameter name + The data type + The size of the value + A SQLiteParameter object + + + + Adds a parameter to the collection + + The parameter name + The data type + A SQLiteParameter object + + + + Adds a parameter to the collection + + The parameter to add + A zero-based index of where the parameter is located in the array + + + + Adds a parameter to the collection + + The parameter to add + A zero-based index of where the parameter is located in the array + + + + Adds a named/unnamed parameter and its value to the parameter collection. + + Name of the parameter, or null to indicate an unnamed parameter + The initial value of the parameter + Returns the SQLiteParameter object created during the call. + + + + Adds an array of parameters to the collection + + The array of parameters to add + + + + Adds an array of parameters to the collection + + The array of parameters to add + + + + Clears the array and resets the collection + + + + + Determines if the named parameter exists in the collection + + The name of the parameter to check + True if the parameter is in the collection + + + + Determines if the parameter exists in the collection + + The SQLiteParameter to check + True if the parameter is in the collection + + + + Not implemented + + + + + + + Retrieve a parameter by name from the collection + + The name of the parameter to fetch + A DbParameter object + + + + Retrieves a parameter by its index in the collection + + The index of the parameter to retrieve + A DbParameter object + + + + Returns the index of a parameter given its name + + The name of the parameter to find + -1 if not found, otherwise a zero-based index of the parameter + + + + Returns the index of a parameter + + The parameter to find + -1 if not found, otherwise a zero-based index of the parameter + + + + Inserts a parameter into the array at the specified location + + The zero-based index to insert the parameter at + The parameter to insert + + + + Removes a parameter from the collection + + The parameter to remove + + + + Removes a parameter from the collection given its name + + The name of the parameter to remove + + + + Removes a parameter from the collection given its index + + The zero-based parameter index to remove + + + + Re-assign the named parameter to a new parameter object + + The name of the parameter to replace + The new parameter + + + + Re-assign a parameter at the specified index + + The zero-based index of the parameter to replace + The new parameter + + + + Un-binds all parameters from their statements + + + + + This function attempts to map all parameters in the collection to all statements in a Command. + Since named parameters may span multiple statements, this function makes sure all statements are bound + to the same named parameter. Unnamed parameters are bound in sequence. + + + + + Returns false + + + + + Returns false + + + + + Returns false + + + + + Returns null + + + + + Returns a count of parameters in the collection + + + + + Overloaded to specialize the return value of the default indexer + + Name of the parameter to get/set + The specified named SQLite parameter + + + + Overloaded to specialize the return value of the default indexer + + The index of the parameter to get/set + The specified SQLite parameter + + + + Represents a single SQL statement in SQLite. + + + + + The underlying SQLite object this statement is bound to + + + + + The command text of this SQL statement + + + + + The actual statement pointer + + + + + An index from which unnamed parameters begin + + + + + Names of the parameters as SQLite understands them to be + + + + + Parameters for this statement + + + + + Command this statement belongs to (if any) + + + + + The flags associated with the parent connection object. + + + + + Initializes the statement and attempts to get all information about parameters in the statement + + The base SQLite object + The flags associated with the parent connection object + The statement + The command text for this statement + The previous command in a multi-statement command + + + + Disposes and finalizes the statement + + + + + If the underlying database connection is open, fetches the number of changed rows + resulting from the most recent query; otherwise, does nothing. + + + The number of changes when true is returned. + Undefined if false is returned. + + + The read-only flag when true is returned. + Undefined if false is returned. + + Non-zero if the number of changed rows was fetched. + + + + Called by SQLiteParameterCollection, this function determines if the specified parameter name belongs to + this statement, and if so, keeps a reference to the parameter so it can be bound later. + + The parameter name to map + The parameter to assign it + + + + Bind all parameters, making sure the caller didn't miss any + + + + + This method attempts to query the database connection associated with + the statement in use. If the underlying command or connection is + unavailable, a null value will be returned. + + + The connection object -OR- null if it is unavailable. + + + + + Invokes the parameter binding callback configured for the database + type name associated with the specified column. If no parameter + binding callback is available for the database type name, do + nothing. + + + The index of the column being read. + + + The instance being bound to the + command. + + + Non-zero if the default handling for the parameter binding call + should be skipped (i.e. the parameter should not be bound at all). + Great care should be used when setting this to non-zero. + + + + + Perform the bind operation for an individual parameter + + The index of the parameter to bind + The parameter we're binding + + + + SQLite implementation of DbTransaction that does not support nested transactions. + + + + + Base class used by to implement DbTransaction for SQLite. + + + + + The connection to which this transaction is bound. + + + + + Matches the version of the connection. + + + + + The isolation level for this transaction. + + + + + Constructs the transaction object, binding it to the supplied connection + + The connection to open a transaction on + TRUE to defer the writelock, or FALSE to lock immediately + + + + Disposes the transaction. If it is currently active, any changes are rolled back. + + + + + Rolls back the active transaction. + + + + + Attempts to start a transaction. An exception will be thrown if the transaction cannot + be started for any reason. + + TRUE to defer the writelock, or FALSE to lock immediately + + + + Issue a ROLLBACK command against the database connection, + optionally re-throwing any caught exception. + + + Non-zero to re-throw caught exceptions. + + + + + Checks the state of this transaction, optionally throwing an exception if a state + inconsistency is found. + + + Non-zero to throw an exception if a state inconsistency is found. + + + Non-zero if this transaction is valid; otherwise, false. + + + + + Gets the isolation level of the transaction. SQLite only supports Serializable transactions. + + + + + Returns the underlying connection to which this transaction applies. + + + + + Forwards to the local Connection property + + + + + Constructs the transaction object, binding it to the supplied connection + + The connection to open a transaction on + TRUE to defer the writelock, or FALSE to lock immediately + + + + Disposes the transaction. If it is currently active, any changes are rolled back. + + + + + Commits the current transaction. + + + + + Attempts to start a transaction. An exception will be thrown if the transaction cannot + be started for any reason. + + TRUE to defer the writelock, or FALSE to lock immediately + + + + Issue a ROLLBACK command against the database connection, + optionally re-throwing any caught exception. + + + Non-zero to re-throw caught exceptions. + + + + + SQLite implementation of DbTransaction that does support nested transactions. + + + + + The original transaction level for the associated connection + when this transaction was created (i.e. begun). + + + + + The SAVEPOINT name for this transaction, if any. This will + only be non-null if this transaction is a nested one. + + + + + Constructs the transaction object, binding it to the supplied connection + + The connection to open a transaction on + TRUE to defer the writelock, or FALSE to lock immediately + + + + Disposes the transaction. If it is currently active, any changes are rolled back. + + + + + Commits the current transaction. + + + + + Attempts to start a transaction. An exception will be thrown if the transaction cannot + be started for any reason. + + TRUE to defer the writelock, or FALSE to lock immediately + + + + Issue a ROLLBACK command against the database connection, + optionally re-throwing any caught exception. + + + Non-zero to re-throw caught exceptions. + + + + + Constructs the name of a new savepoint for this transaction. It + should only be called from the constructor of this class. + + + The name of the new savepoint -OR- null if it cannot be constructed. + + + + + This static class provides some methods that are shared between the + native library pre-loader and other classes. + + + + + This lock is used to protect the static and + fields. + + + + + This type is only present when running on Mono. + + + + + This type is only present when running on .NET Core. + + + + + Keeps track of whether we are running on Mono. Initially null, it is + set by the method on its first call. Later, it + is returned verbatim by the method. + + + + + Keeps track of whether we are running on .NET Core. Initially null, + it is set by the method on its first + call. Later, it is returned verbatim by the + method. + + + + + Keeps track of whether we successfully invoked the + method. Initially null, it is set by + the method on its first call. + + + + + Determines the ID of the current process. Only used for debugging. + + + The ID of the current process -OR- zero if it cannot be determined. + + + + + Determines whether or not this assembly is running on Mono. + + + Non-zero if this assembly is running on Mono. + + + + + Determines whether or not this assembly is running on .NET Core. + + + Non-zero if this assembly is running on .NET Core. + + + + + Resets the cached value for the "PreLoadSQLite_BreakIntoDebugger" + configuration setting. + + + + + If the "PreLoadSQLite_BreakIntoDebugger" configuration setting is + present (e.g. via the environment), give the interactive user an + opportunity to attach a debugger to the current process; otherwise, + do nothing. + + + + + Determines the ID of the current thread. Only used for debugging. + + + The ID of the current thread -OR- zero if it cannot be determined. + + + + + Determines if the specified flags are present within the flags + associated with the parent connection object. + + + The flags associated with the parent connection object. + + + The flags to check for. + + + Non-zero if the specified flag or flags were present; otherwise, + zero. + + + + + Determines if preparing a query should be logged. + + + The flags associated with the parent connection object. + + + Non-zero if the query preparation should be logged; otherwise, zero. + + + + + Determines if pre-parameter binding should be logged. + + + The flags associated with the parent connection object. + + + Non-zero if the pre-parameter binding should be logged; otherwise, + zero. + + + + + Determines if parameter binding should be logged. + + + The flags associated with the parent connection object. + + + Non-zero if the parameter binding should be logged; otherwise, zero. + + + + + Determines if an exception in a native callback should be logged. + + + The flags associated with the parent connection object. + + + Non-zero if the exception should be logged; otherwise, zero. + + + + + Determines if backup API errors should be logged. + + + The flags associated with the parent connection object. + + + Non-zero if the backup API error should be logged; otherwise, zero. + + + + + Determines if logging for the class is + disabled. + + + The flags associated with the parent connection object. + + + Non-zero if logging for the class is + disabled; otherwise, zero. + + + + + Determines if errors should be logged. + + + The flags associated with the parent connection object. + + + Non-zero if the error should be logged; + otherwise, zero. + + + + + Determines if exceptions should be + logged. + + + The flags associated with the parent connection object. + + + Non-zero if the exception should be + logged; otherwise, zero. + + + + + Determines if the current process is running on one of the Windows + [sub-]platforms. + + + Non-zero when running on Windows; otherwise, zero. + + + + + This is a wrapper around the + method. + On Mono, it has to call the method overload without the + parameter, due to a bug in Mono. + + + This is used for culture-specific formatting. + + + The format string. + + + An array the objects to format. + + + The resulting string. + + + + + This static class provides a thin wrapper around the native library + loading features of the underlying platform. + + + + + Attempts to load the specified native library file using the Win32 + API. + + + The file name of the native library to load. + + + The native module handle upon success -OR- IntPtr.Zero on failure. + + + + + Attempts to determine the machine name of the current process using + the Win32 API. + + + The machine name for the current process -OR- null on failure. + + + + + Attempts to load the specified native library file using the POSIX + API. + + + The file name of the native library to load. + + + The native module handle upon success -OR- IntPtr.Zero on failure. + + + + + Attempts to determine the machine name of the current process using + the POSIX API. + + + The machine name for the current process -OR- null on failure. + + + + + Attempts to load the specified native library file. + + + The file name of the native library to load. + + + The native module handle upon success -OR- IntPtr.Zero on failure. + + + + + Attempts to determine the machine name of the current process. + + + The machine name for the current process -OR- null on failure. + + + + + This delegate is used to wrap the concept of loading a native + library, based on a file name, and returning the loaded module + handle. + + + The file name of the native library to load. + + + The native module handle upon success -OR- IntPtr.Zero on failure. + + + + + This delegate is used to wrap the concept of querying the machine + name of the current process. + + + The machine name for the current process -OR- null on failure. + + + + + This class declares P/Invoke methods to call native POSIX APIs. + + + + + For use with dlopen(), bind function calls lazily. + + + + + For use with dlopen(), bind function calls immediately. + + + + + For use with dlopen(), make symbols globally available. + + + + + For use with dlopen(), opposite of RTLD_GLOBAL, and the default. + + + + + For use with dlopen(), the defaults used by this class. + + + + + This is the P/Invoke method that wraps the native Unix uname + function. See the POSIX documentation for full details on what it + does. + + + Structure containing a preallocated byte buffer to fill with the + requested information. + + + Zero for success and less than zero upon failure. + + + + + This is the P/Invoke method that wraps the native Unix dlopen + function. See the POSIX documentation for full details on what it + does. + + + The name of the executable library. + + + This must be a combination of the individual bit flags RTLD_LAZY, + RTLD_NOW, RTLD_GLOBAL, and/or RTLD_LOCAL. + + + The native module handle upon success -OR- IntPtr.Zero on failure. + + + + + This is the P/Invoke method that wraps the native Unix dlclose + function. See the POSIX documentation for full details on what it + does. + + + The handle to the loaded native library. + + + Zero upon success -OR- non-zero on failure. + + + + + These are the characters used to separate the string fields within + the raw buffer returned by the P/Invoke method. + + + + + This method is a wrapper around the P/Invoke + method that extracts and returns the human readable strings from + the raw buffer. + + + This structure, which contains strings, will be filled based on the + data placed in the raw buffer returned by the + P/Invoke method. + + + Non-zero upon success; otherwise, zero. + + + + + This structure is used when running on POSIX operating systems + to store information about the current machine, including the + human readable name of the operating system as well as that of + the underlying hardware. + + + + + This structure is passed directly to the P/Invoke method to + obtain the information about the current machine, including + the human readable name of the operating system as well as + that of the underlying hardware. + + + + + This class declares P/Invoke methods to call native Win32 APIs. + + + + + This is the P/Invoke method that wraps the native Win32 LoadLibrary + function. See the MSDN documentation for full details on what it + does. + + + The name of the executable library. + + + The native module handle upon success -OR- IntPtr.Zero on failure. + + + + + This is the P/Invoke method that wraps the native Win32 GetSystemInfo + function. See the MSDN documentation for full details on what it + does. + + + The system information structure to be filled in by the function. + + + + + This enumeration contains the possible values for the processor + architecture field of the system information structure. + + + + + This structure contains information about the current computer. This + includes the processor type, page size, memory addresses, etc. + + + + + This class declares P/Invoke methods to call native SQLite APIs. + + + + + The file extension used for dynamic link libraries. + + + + + The file extension used for the XML configuration file. + + + + + This is the name of the XML configuration file specific to the + System.Data.SQLite assembly. + + + + + This is the XML configuratrion file token that will be replaced with + the qualified path to the directory containing the XML configuration + file. + + + + + This is the environment variable token that will be replaced with + the qualified path to the directory containing this assembly. + + + + + This is the environment variable token that will be replaced with an + abbreviation of the target framework attribute value associated with + this assembly. + + + + + This lock is used to protect the static _SQLiteNativeModuleFileName, + _SQLiteNativeModuleHandle, and processorArchitecturePlatforms fields. + + + + + This dictionary stores the mappings between target framework names + and their associated (NuGet) abbreviations. These mappings are only + used by the method. + + + + + This dictionary stores the mappings between processor architecture + names and platform names. These mappings are now used for two + purposes. First, they are used to determine if the assembly code + base should be used instead of the location, based upon whether one + or more of the named sub-directories exist within the assembly code + base. Second, they are used to assist in loading the appropriate + SQLite interop assembly into the current process. + + + + + This is the cached return value from the + method -OR- null if that method + has never returned a valid value. + + + + + When this field is non-zero, it indicates the + method was not able to locate a + suitable assembly directory. The + method will check this + field and skips calls into the + method whenever it is non-zero. + + + + + This is the cached return value from the + method -OR- null if that method + has never returned a valid value. + + + + + When this field is non-zero, it indicates the + method was not able to locate a + suitable XML configuration file name. The + method will check this + field and skips calls into the + method whenever it is non-zero. + + + + + For now, this method simply calls the Initialize method. + + + + + Attempts to initialize this class by pre-loading the native SQLite + library for the processor architecture of the current process. + + + + + Combines two path strings. + + + The first path -OR- null. + + + The second path -OR- null. + + + The combined path string -OR- null if both of the original path + strings are null. + + + + + Resets the cached XML configuration file name value, thus forcing the + next call to method to rely + upon the method to fetch the + XML configuration file name. + + + + + Queries and returns the cached XML configuration file name for the + assembly containing the managed System.Data.SQLite components, if + available. If the cached XML configuration file name value is not + available, the method will + be used to obtain the XML configuration file name. + + + The XML configuration file name -OR- null if it cannot be determined + or does not exist. + + + + + Queries and returns the XML configuration file name for the assembly + containing the managed System.Data.SQLite components. + + + The XML configuration file name -OR- null if it cannot be determined + or does not exist. + + + + + If necessary, replaces all supported XML configuration file tokens + with their associated values. + + + The name of the XML configuration file being read. + + + A setting value read from the XML configuration file. + + + The value of the will all supported XML + configuration file tokens replaced. No return value is reserved + to indicate an error. This method cannot fail. + + + + + Queries and returns the value of the specified setting, using the + specified XML configuration file. + + + The name of the XML configuration file to read. + + + The name of the setting. + + + The value to be returned if the setting has not been set explicitly + or cannot be determined. + + + Non-zero to expand any environment variable references contained in + the setting value to be returned. This has no effect on the .NET + Compact Framework. + + + The value of the setting -OR- the default value specified by + if it has not been set explicitly or + cannot be determined. + + + + + Attempts to determine the target framework attribute value that is + associated with the specified managed assembly, if applicable. + + + The managed assembly to read the target framework attribute value + from. + + + The value of the target framework attribute value for the specified + managed assembly -OR- null if it cannot be determined. If this + assembly was compiled with a version of the .NET Framework prior to + version 4.0, the value returned MAY reflect that version of the .NET + Framework instead of the one associated with the specified managed + assembly. + + + + + Accepts a long target framework attribute value and makes it into a + much shorter version, suitable for use with NuGet packages. + + + The long target framework attribute value to convert. + + + The short target framework attribute value -OR- null if it cannot + be determined or converted. + + + + + If necessary, replaces all supported environment variable tokens + with their associated values. + + + A setting value read from an environment variable. + + + The value of the will all supported + environment variable tokens replaced. No return value is reserved + to indicate an error. This method cannot fail. + + + + + Queries and returns the value of the specified setting, using the XML + configuration file and/or the environment variables for the current + process and/or the current system, when available. + + + The name of the setting. + + + The value to be returned if the setting has not been set explicitly + or cannot be determined. + + + The value of the setting -OR- the default value specified by + if it has not been set explicitly or + cannot be determined. By default, all references to existing + environment variables will be expanded to their corresponding values + within the value to be returned unless either the "No_Expand" or + "No_Expand_" environment variable is set [to + anything]. + + + + + Resets the cached assembly directory value, thus forcing the next + call to method to rely + upon the method to fetch the + assembly directory. + + + + + Queries and returns the cached directory for the assembly currently + being executed, if available. If the cached assembly directory value + is not available, the method will + be used to obtain the assembly directory. + + + The directory for the assembly currently being executed -OR- null if + it cannot be determined. + + + + + Queries and returns the directory for the assembly currently being + executed. + + + The directory for the assembly currently being executed -OR- null if + it cannot be determined. + + + + + The name of the environment variable containing the processor + architecture of the current process. + + + + + The native module file name for the native SQLite library or null. + + + + + The native module handle for the native SQLite library or the value + IntPtr.Zero. + + + + + Determines the base file name (without any directory information) + for the native SQLite library to be pre-loaded by this class. + + + The base file name for the native SQLite library to be pre-loaded by + this class -OR- null if its value cannot be determined. + + + + + Searches for the native SQLite library in the directory containing + the assembly currently being executed as well as the base directory + for the current application domain. + + + Upon success, this parameter will be modified to refer to the base + directory containing the native SQLite library. + + + Upon success, this parameter will be modified to refer to the name + of the immediate directory (i.e. the offset from the base directory) + containing the native SQLite library. + + + Upon success, this parameter will be modified to non-zero only if + the base directory itself should be allowed for loading the native + library. + + + Non-zero (success) if the native SQLite library was found; otherwise, + zero (failure). + + + + + Queries and returns the base directory of the current application + domain. + + + The base directory for the current application domain -OR- null if it + cannot be determined. + + + + + Determines if the dynamic link library file name requires a suffix + and adds it if necessary. + + + The original dynamic link library file name to inspect. + + + The dynamic link library file name, possibly modified to include an + extension. + + + + + Queries and returns the processor architecture of the current + process. + + + The processor architecture of the current process -OR- null if it + cannot be determined. + + + + + Given the processor architecture, returns the name of the platform. + + + The processor architecture to be translated to a platform name. + + + The platform name for the specified processor architecture -OR- null + if it cannot be determined. + + + + + Attempts to load the native SQLite library based on the specified + directory and processor architecture. + + + The base directory to use, null for default (the base directory of + the current application domain). This directory should contain the + processor architecture specific sub-directories. + + + The requested processor architecture, null for default (the + processor architecture of the current process). This caller should + almost always specify null for this parameter. + + + Non-zero indicates that the native SQLite library can be loaded + from the base directory itself. + + + The candidate native module file name to load will be stored here, + if necessary. + + + The native module handle as returned by LoadLibrary will be stored + here, if necessary. This value will be IntPtr.Zero if the call to + LoadLibrary fails. + + + Non-zero if the native module was loaded successfully; otherwise, + zero. + + + + + 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 <?xml version="1.0" standalone="yes"?> + <DocumentElement> + <DataTypes> + <TypeName>smallint</TypeName> + <ProviderDbType>10</ProviderDbType> + <ColumnSize>5</ColumnSize> + <DataType>System.Int16</DataType> + <CreateFormat>smallint</CreateFormat> + <IsAutoIncrementable>false</IsAutoIncrementable> + <IsCaseSensitive>false</IsCaseSensitive> + <IsFixedLength>true</IsFixedLength> + <IsFixedPrecisionScale>true</IsFixedPrecisionScale> + <IsLong>false</IsLong> + <IsNullable>true</ [rest of string was truncated]";. + + + + + Looks up a localized string similar to ALL,ALTER,AND,AS,AUTOINCREMENT,BETWEEN,BY,CASE,CHECK,COLLATE,COMMIT,CONSTRAINT,CREATE,CROSS,DEFAULT,DEFERRABLE,DELETE,DISTINCT,DROP,ELSE,ESCAPE,EXCEPT,FOREIGN,FROM,FULL,GROUP,HAVING,IN,INDEX,INNER,INSERT,INTERSECT,INTO,IS,ISNULL,JOIN,LEFT,LIMIT,NATURAL,NOT,NOTNULL,NULL,ON,OR,ORDER,OUTER,PRIMARY,REFERENCES,RIGHT,ROLLBACK,SELECT,SET,TABLE,THEN,TO,TRANSACTION,UNION,UNIQUE,UPDATE,USING,VALUES,WHEN,WHERE. + + + + + Looks up a localized string similar to <?xml version="1.0" encoding="utf-8" ?> + <DocumentElement> + <MetaDataCollections> + <CollectionName>MetaDataCollections</CollectionName> + <NumberOfRestrictions>0</NumberOfRestrictions> + <NumberOfIdentifierParts>0</NumberOfIdentifierParts> + </MetaDataCollections> + <MetaDataCollections> + <CollectionName>DataSourceInformation</CollectionName> + <NumberOfRestrictions>0</NumberOfRestrictions> + <NumberOfIdentifierParts>0</NumberOfIdentifierParts> + </MetaDataCollections> + <MetaDataC [rest of string was truncated]";. + + + + + This interface represents a virtual table implementation written in + native code. + + + + + + int (*xCreate)(sqlite3 *db, void *pAux, + int argc, char *const*argv, + sqlite3_vtab **ppVTab, + char **pzErr); + + + The xCreate method is called to create a new instance of a virtual table + in response to a CREATE VIRTUAL TABLE statement. + If the xCreate method is the same pointer as the xConnect method, then the + virtual table is an eponymous virtual table. + If the xCreate method is omitted (if it is a NULL pointer) then the virtual + table is an eponymous-only virtual table. + + + The db parameter is a pointer to the SQLite database connection that + is executing the CREATE VIRTUAL TABLE statement. + The pAux argument is the copy of the client data pointer that was the + fourth argument to the sqlite3_create_module() or + sqlite3_create_module_v2() call that registered the + virtual table module. + The argv parameter is an array of argc pointers to null terminated strings. + The first string, argv[0], is the name of the module being invoked. The + module name is the name provided as the second argument to + sqlite3_create_module() and as the argument to the USING clause of the + CREATE VIRTUAL TABLE statement that is running. + The second, argv[1], is the name of the database in which the new virtual table is being created. The database name is "main" for the primary database, or + "temp" for TEMP database, or the name given at the end of the ATTACH + statement for attached databases. The third element of the array, argv[2], + is the name of the new virtual table, as specified following the TABLE + keyword in the CREATE VIRTUAL TABLE statement. + If present, the fourth and subsequent strings in the argv[] array report + the arguments to the module name in the CREATE VIRTUAL TABLE statement. + + + The job of this method is to construct the new virtual table object + (an sqlite3_vtab object) and return a pointer to it in *ppVTab. + + + As part of the task of creating a new sqlite3_vtab structure, this + method must invoke sqlite3_declare_vtab() to tell the SQLite + core about the columns and datatypes in the virtual table. + The sqlite3_declare_vtab() API has the following prototype: + + + int sqlite3_declare_vtab(sqlite3 *db, const char *zCreateTable) + + + The first argument to sqlite3_declare_vtab() must be the same + database connection pointer as the first parameter to this method. + The second argument to sqlite3_declare_vtab() must a zero-terminated + UTF-8 string that contains a well-formed CREATE TABLE statement that + defines the columns in the virtual table and their data types. + The name of the table in this CREATE TABLE statement is ignored, + as are all constraints. Only the column names and datatypes matter. + The CREATE TABLE statement string need not to be + held in persistent memory. The string can be + deallocated and/or reused as soon as the sqlite3_declare_vtab() + routine returns. + + + The xCreate method need not initialize the pModule, nRef, and zErrMsg + fields of the sqlite3_vtab object. The SQLite core will take care of + that chore. + + + The xCreate should return SQLITE_OK if it is successful in + creating the new virtual table, or SQLITE_ERROR if it is not successful. + If not successful, the sqlite3_vtab structure must not be allocated. + An error message may optionally be returned in *pzErr if unsuccessful. + Space to hold the error message string must be allocated using + an SQLite memory allocation function like + sqlite3_malloc() or sqlite3_mprintf() as the SQLite core will + attempt to free the space using sqlite3_free() after the error has + been reported up to the application. + + + If the xCreate method is omitted (left as a NULL pointer) then the + virtual table is an eponymous-only virtual table. New instances of + the virtual table cannot be created using CREATE VIRTUAL TABLE and the + virtual table can only be used via its module name. + Note that SQLite versions prior to 3.9.0 (2015-10-14) do not understand + eponymous-only virtual tables and will segfault if an attempt is made + to CREATE VIRTUAL TABLE on an eponymous-only virtual table because + the xCreate method was not checked for null. + + + If the xCreate method is the exact same pointer as the xConnect method, + that indicates that the virtual table does not need to initialize backing + store. Such a virtual table can be used as an eponymous virtual table + or as a named virtual table using CREATE VIRTUAL TABLE or both. + + + If a column datatype contains the special keyword "HIDDEN" + (in any combination of upper and lower case letters) then that keyword + it is omitted from the column datatype name and the column is marked + as a hidden column internally. + A hidden column differs from a normal column in three respects: + + + ]]> + ]]> Hidden columns are not listed in the dataset returned by + "PRAGMA table_info", + ]]>]]> Hidden columns are not included in the expansion of a "*" + expression in the result set of a SELECT, and + ]]>]]> Hidden columns are not included in the implicit column-list + used by an INSERT statement that lacks an explicit column-list. + ]]>]]> + + + For example, if the following SQL is passed to sqlite3_declare_vtab(): + + + CREATE TABLE x(a HIDDEN VARCHAR(12), b INTEGER, c INTEGER Hidden); + + + Then the virtual table would be created with two hidden columns, + and with datatypes of "VARCHAR(12)" and "INTEGER". + + + An example use of hidden columns can be seen in the FTS3 virtual + table implementation, where every FTS virtual table + contains an FTS hidden column that is used to pass information from the + virtual table into FTS auxiliary functions and to the FTS MATCH operator. + + + A virtual table that contains hidden columns can be used like + a table-valued function in the FROM clause of a SELECT statement. + The arguments to the table-valued function become constraints on + the HIDDEN columns of the virtual table. + + + For example, the "generate_series" extension (located in the + ext/misc/series.c + file in the source tree) + implements an eponymous virtual table with the following schema: + + + CREATE TABLE generate_series( + value, + start HIDDEN, + stop HIDDEN, + step HIDDEN + ); + + + The sqlite3_module.xBestIndex method in the implementation of this + table checks for equality constraints against the HIDDEN columns, and uses + those as input parameters to determine the range of integer "value" outputs + to generate. Reasonable defaults are used for any unconstrained columns. + For example, to list all integers between 5 and 50: + + + SELECT value FROM generate_series(5,50); + + + The previous query is equivalent to the following: + + + SELECT value FROM generate_series WHERE start=5 AND stop=50; + + + Arguments on the virtual table name are matched to hidden columns + in order. The number of arguments can be less than the + number of hidden columns, in which case the latter hidden columns are + unconstrained. However, an error results if there are more arguments + than there are hidden columns in the virtual table. + + + Beginning with SQLite version 3.14.0 (2016-08-08), + the CREATE TABLE statement that + is passed into sqlite3_declare_vtab() may contain a WITHOUT ROWID clause. + This is useful for cases where the virtual table rows + cannot easily be mapped into unique integers. A CREATE TABLE + statement that includes WITHOUT ROWID must define one or more columns as + the PRIMARY KEY. Every column of the PRIMARY KEY must individually be + NOT NULL and all columns for each row must be collectively unique. + + + Note that SQLite does not enforce the PRIMARY KEY for a WITHOUT ROWID + virtual table. Enforcement is the responsibility of the underlying + virtual table implementation. But SQLite does assume that the PRIMARY KEY + constraint is valid - that the identified columns really are UNIQUE and + NOT NULL - and it uses that assumption to optimize queries against the + virtual table. + + + The rowid column is not accessible on a + WITHOUT ROWID virtual table (of course). + + + The xUpdate method was originally designed around having a + ROWID as a single value. The xUpdate method has been expanded to + accommodate an arbitrary PRIMARY KEY in place of the ROWID, but the + PRIMARY KEY must still be only one column. For this reason, SQLite + will reject any WITHOUT ROWID virtual table that has more than one + PRIMARY KEY column and a non-NULL xUpdate method. + + + + The native database connection handle. + + + The original native pointer value that was provided to the + sqlite3_create_module(), sqlite3_create_module_v2() or + sqlite3_create_disposable_module() functions. + + + The number of arguments from the CREATE VIRTUAL TABLE statement. + + + The array of string arguments from the CREATE VIRTUAL TABLE + statement. + + + Upon success, this parameter must be modified to point to the newly + created native sqlite3_vtab derived structure. + + + Upon failure, this parameter must be modified to point to the error + message, with the underlying memory having been obtained from the + sqlite3_malloc() function. + + + A standard SQLite return code. + + + + + + int (*xConnect)(sqlite3*, void *pAux, + int argc, char *const*argv, + sqlite3_vtab **ppVTab, + char **pzErr); + + + The xConnect method is very similar to xCreate. + It has the same parameters and constructs a new sqlite3_vtab structure + just like xCreate. + And it must also call sqlite3_declare_vtab() like xCreate. + + + The difference is that xConnect is called to establish a new + connection to an existing virtual table whereas xCreate is called + to create a new virtual table from scratch. + + + The xCreate and xConnect methods are only different when the + virtual table has some kind of backing store that must be initialized + the first time the virtual table is created. The xCreate method creates + and initializes the backing store. The xConnect method just connects + to an existing backing store. When xCreate and xConnect are the same, + the table is an eponymous virtual table. + + + As an example, consider a virtual table implementation that + provides read-only access to existing comma-separated-value (CSV) + files on disk. There is no backing store that needs to be created + or initialized for such a virtual table (since the CSV files already + exist on disk) so the xCreate and xConnect methods will be identical + for that module. + + + Another example is a virtual table that implements a full-text index. + The xCreate method must create and initialize data structures to hold + the dictionary and posting lists for that index. The xConnect method, + on the other hand, only has to locate and use an existing dictionary + and posting lists that were created by a prior xCreate call. + + + The xConnect method must return SQLITE_OK if it is successful + in creating the new virtual table, or SQLITE_ERROR if it is not + successful. If not successful, the sqlite3_vtab structure must not be + allocated. An error message may optionally be returned in *pzErr if + unsuccessful. + Space to hold the error message string must be allocated using + an SQLite memory allocation function like + sqlite3_malloc() or sqlite3_mprintf() as the SQLite core will + attempt to free the space using sqlite3_free() after the error has + been reported up to the application. + + + The xConnect method is required for every virtual table implementation, + though the xCreate and xConnect pointers of the sqlite3_module object + may point to the same function if the virtual table does not need to + initialize backing store. + + + + The native database connection handle. + + + The original native pointer value that was provided to the + sqlite3_create_module(), sqlite3_create_module_v2() or + sqlite3_create_disposable_module() functions. + + + The number of arguments from the CREATE VIRTUAL TABLE statement. + + + The array of string arguments from the CREATE VIRTUAL TABLE + statement. + + + Upon success, this parameter must be modified to point to the newly + created native sqlite3_vtab derived structure. + + + Upon failure, this parameter must be modified to point to the error + message, with the underlying memory having been obtained from the + sqlite3_malloc() function. + + + A standard SQLite return code. + + + + + + SQLite uses the xBestIndex method of a virtual table module to determine + the best way to access the virtual table. + The xBestIndex method has a prototype like this: + + + int (*xBestIndex)(sqlite3_vtab *pVTab, sqlite3_index_info*); + + + The SQLite core communicates with the xBestIndex method by filling + in certain fields of the sqlite3_index_info structure and passing a + pointer to that structure into xBestIndex as the second parameter. + The xBestIndex method fills out other fields of this structure which + forms the reply. The sqlite3_index_info structure looks like this: + + + struct sqlite3_index_info { + /* Inputs */ + const int nConstraint; /* Number of entries in aConstraint */ + const struct sqlite3_index_constraint { + int iColumn; /* Column constrained. -1 for ROWID */ + unsigned char op; /* Constraint operator */ + unsigned char usable; /* True if this constraint is usable */ + int iTermOffset; /* Used internally - xBestIndex should ignore */ + } *const aConstraint; /* Table of WHERE clause constraints */ + const int nOrderBy; /* Number of terms in the ORDER BY clause */ + const struct sqlite3_index_orderby { + int iColumn; /* Column number */ + unsigned char desc; /* True for DESC. False for ASC. */ + } *const aOrderBy; /* The ORDER BY clause */ + /* Outputs */ + struct sqlite3_index_constraint_usage { + int argvIndex; /* if >0, constraint is part of argv to xFilter */ + unsigned char omit; /* Do not code a test for this constraint */ + } *const aConstraintUsage; + int idxNum; /* Number used to identify the index */ + char *idxStr; /* String, possibly obtained from sqlite3_malloc */ + int needToFreeIdxStr; /* Free idxStr using sqlite3_free() if true */ + int orderByConsumed; /* True if output is already ordered */ + double estimatedCost; /* Estimated cost of using this index */ + ]]>/* Fields below are only available in SQLite 3.8.2 and later */]]> + sqlite3_int64 estimatedRows; /* Estimated number of rows returned */ + ]]>/* Fields below are only available in SQLite 3.9.0 and later */]]> + int idxFlags; /* Mask of SQLITE_INDEX_SCAN_* flags */ + ]]>/* Fields below are only available in SQLite 3.10.0 and later */]]> + sqlite3_uint64 colUsed; /* Input: Mask of columns used by statement */ + }; + + + Note the warnings on the "estimatedRows", "idxFlags", and colUsed fields. + These fields were added with SQLite versions 3.8.2, 3.9.0, and 3.10.0, respectively. + Any extension that reads or writes these fields must first check that the + version of the SQLite library in use is greater than or equal to appropriate + version - perhaps comparing the value returned from sqlite3_libversion_number() + against constants 3008002, 3009000, and/or 3010000. The result of attempting + to access these fields in an sqlite3_index_info structure created by an + older version of SQLite are undefined. + + + In addition, there are some defined constants: + + + #define SQLITE_INDEX_CONSTRAINT_EQ 2 + #define SQLITE_INDEX_CONSTRAINT_GT 4 + #define SQLITE_INDEX_CONSTRAINT_LE 8 + #define SQLITE_INDEX_CONSTRAINT_LT 16 + #define SQLITE_INDEX_CONSTRAINT_GE 32 + #define SQLITE_INDEX_CONSTRAINT_MATCH 64 + #define SQLITE_INDEX_CONSTRAINT_LIKE 65 /* 3.10.0 and later */ + #define SQLITE_INDEX_CONSTRAINT_GLOB 66 /* 3.10.0 and later */ + #define SQLITE_INDEX_CONSTRAINT_REGEXP 67 /* 3.10.0 and later */ + #define SQLITE_INDEX_CONSTRAINT_NE 68 /* 3.21.0 and later */ + #define SQLITE_INDEX_CONSTRAINT_ISNOT 69 /* 3.21.0 and later */ + #define SQLITE_INDEX_CONSTRAINT_ISNOTNULL 70 /* 3.21.0 and later */ + #define SQLITE_INDEX_CONSTRAINT_ISNULL 71 /* 3.21.0 and later */ + #define SQLITE_INDEX_CONSTRAINT_IS 72 /* 3.21.0 and later */ + #define SQLITE_INDEX_CONSTRAINT_FUNCTION 150 /* 3.25.0 and later */ + #define SQLITE_INDEX_SCAN_UNIQUE 1 /* Scan visits at most 1 row */ + + + The SQLite core calls the xBestIndex method when it is compiling a query + that involves a virtual table. In other words, SQLite calls this method + when it is running sqlite3_prepare() or the equivalent. + By calling this method, the + SQLite core is saying to the virtual table that it needs to access + some subset of the rows in the virtual table and it wants to know the + most efficient way to do that access. The xBestIndex method replies + with information that the SQLite core can then use to conduct an + efficient search of the virtual table. + + + While compiling a single SQL query, the SQLite core might call + xBestIndex multiple times with different settings in sqlite3_index_info. + The SQLite core will then select the combination that appears to + give the best performance. + + + Before calling this method, the SQLite core initializes an instance + of the sqlite3_index_info structure with information about the + query that it is currently trying to process. This information + derives mainly from the WHERE clause and ORDER BY or GROUP BY clauses + of the query, but also from any ON or USING clauses if the query is a + join. The information that the SQLite core provides to the xBestIndex + method is held in the part of the structure that is marked as "Inputs". + The "Outputs" section is initialized to zero. + + + The information in the sqlite3_index_info structure is ephemeral + and may be overwritten or deallocated as soon as the xBestIndex method + returns. If the xBestIndex method needs to remember any part of the + sqlite3_index_info structure, it should make a copy. Care must be + take to store the copy in a place where it will be deallocated, such + as in the idxStr field with needToFreeIdxStr set to 1. + + + Note that xBestIndex will always be called before xFilter, since + the idxNum and idxStr outputs from xBestIndex are required inputs to + xFilter. However, there is no guarantee that xFilter will be called + following a successful xBestIndex. + + + The xBestIndex method is required for every virtual table implementation. + + + The main thing that the SQLite core is trying to communicate to + the virtual table is the constraints that are available to limit + the number of rows that need to be searched. The aConstraint[] array + contains one entry for each constraint. There will be exactly + nConstraint entries in that array. + + + Each constraint will usually correspond to a term in the WHERE clause + or in a USING or ON clause that is of the form + + + column OP EXPR + + + Where "column" is a column in the virtual table, OP is an operator + like "=" or "<", and EXPR is an arbitrary expression. So, for example, + if the WHERE clause contained a term like this: + + + a = 5 + + + Then one of the constraints would be on the "a" column with + operator "=" and an expression of "5". Constraints need not have a + literal representation of the WHERE clause. The query optimizer might + make transformations to the + WHERE clause in order to extract as many constraints + as it can. So, for example, if the WHERE clause contained something + like this: + + + x BETWEEN 10 AND 100 AND 999>y + + + The query optimizer might translate this into three separate constraints: + + + x >= 10 + x <= 100 + y < 999 + + + For each such constraint, the aConstraint[].iColumn field indicates which + column appears on the left-hand side of the constraint. + The first column of the virtual table is column 0. + The rowid of the virtual table is column -1. + The aConstraint[].op field indicates which operator is used. + The SQLITE_INDEX_CONSTRAINT_* constants map integer constants + into operator values. + Columns occur in the order they were defined by the call to + sqlite3_declare_vtab() in the xCreate or xConnect method. + Hidden columns are counted when determining the column index. + + + If the xFindFunction() method for the virtual table is defined, and + if xFindFunction() sometimes returns SQLITE_INDEX_CONSTRAINT_FUNCTION or + larger, then the constraints might also be of the form: + + + FUNCTION( column, EXPR) + + + In this case the aConstraint[].op value is the same as the value + returned by xFindFunction() for FUNCTION. + + + The aConstraint[] array contains information about all constraints + that apply to the virtual table. But some of the constraints might + not be usable because of the way tables are ordered in a join. + The xBestIndex method must therefore only consider constraints + that have an aConstraint[].usable flag which is true. + + + In addition to WHERE clause constraints, the SQLite core also + tells the xBestIndex method about the ORDER BY clause. + (In an aggregate query, the SQLite core might put in GROUP BY clause + information in place of the ORDER BY clause information, but this fact + should not make any difference to the xBestIndex method.) + If all terms of the ORDER BY clause are columns in the virtual table, + then nOrderBy will be the number of terms in the ORDER BY clause + and the aOrderBy[] array will identify the column for each term + in the order by clause and whether or not that column is ASC or DESC. + + + In SQLite version 3.10.0 (2016-01-06) and later, + the colUsed field is available + to indicate which fields of the virtual table are actually used by the + statement being prepared. If the lowest bit of colUsed is set, that + means that the first column is used. The second lowest bit corresponds + to the second column. And so forth. If the most significant bit of + colUsed is set, that means that one or more columns other than the + first 63 columns are used. If column usage information is needed by the + xFilter method, then the required bits must be encoded into either + the idxNum or idxStr output fields. + + + Given all of the information above, the job of the xBestIndex + method it to figure out the best way to search the virtual table. + + + The xBestIndex method fills the idxNum and idxStr fields with + information that communicates an indexing strategy to the xFilter + method. The information in idxNum and idxStr is arbitrary as far + as the SQLite core is concerned. The SQLite core just copies the + information through to the xFilter method. Any desired meaning can + be assigned to idxNum and idxStr as long as xBestIndex and xFilter + agree on what that meaning is. + + + The idxStr value may be a string obtained from an SQLite + memory allocation function such as sqlite3_mprintf(). + If this is the case, then the needToFreeIdxStr flag must be set to + true so that the SQLite core will know to call sqlite3_free() on + that string when it has finished with it, and thus avoid a memory leak. + The idxStr value may also be a static constant string, in which case + the needToFreeIdxStr boolean should remain false. + + + If the virtual table will output rows in the order specified by + the ORDER BY clause, then the orderByConsumed flag may be set to + true. If the output is not automatically in the correct order + then orderByConsumed must be left in its default false setting. + This will indicate to the SQLite core that it will need to do a + separate sorting pass over the data after it comes out of the virtual table. + + + The estimatedCost field should be set to the estimated number + of disk access operations required to execute this query against + the virtual table. The SQLite core will often call xBestIndex + multiple times with different constraints, obtain multiple cost + estimates, then choose the query plan that gives the lowest estimate. + The SQLite core initializes estimatedCost to a very large value + prior to invoking xBestIndex, so if xBestIndex determines that the + current combination of parameters is undesirable, it can leave the + estimatedCost field unchanged to discourage its use. + + + If the current version of SQLite is 3.8.2 or greater, the estimatedRows + field may be set to an estimate of the number of rows returned by the + proposed query plan. If this value is not explicitly set, the default + estimate of 25 rows is used. + + + If the current version of SQLite is 3.9.0 or greater, the idxFlags field + may be set to SQLITE_INDEX_SCAN_UNIQUE to indicate that the virtual table + will return only zero or one rows given the input constraints. Additional + bits of the idxFlags field might be understood in later versions of SQLite. + + + The aConstraintUsage[] array contains one element for each of + the nConstraint constraints in the inputs section of the + sqlite3_index_info structure. + The aConstraintUsage[] array is used by xBestIndex to tell the + core how it is using the constraints. + + + The xBestIndex method may set aConstraintUsage[].argvIndex + entries to values greater than zero. + Exactly one entry should be set to 1, another to 2, another to 3, + and so forth up to as many or as few as the xBestIndex method wants. + The EXPR of the corresponding constraints will then be passed + in as the argv[] parameters to xFilter. + + + For example, if the aConstraint[3].argvIndex is set to 1, then + when xFilter is called, the argv[0] passed to xFilter will have + the EXPR value of the aConstraint[3] constraint. + + + By default, the SQLite core double checks all constraints on + each row of the virtual table that it receives. If such a check + is redundant, the xBestFilter method can suppress that double-check by + setting aConstraintUsage[].omit. + + + The xBestIndex method should return SQLITE_OK on success. If any + kind of fatal error occurs, an appropriate error code (ex: SQLITE_NOMEM) + should be returned instead. + + + If xBestIndex returns SQLITE_CONSTRAINT, that does not indicate an + error. Rather, SQLITE_CONSTRAINT indicates that the particular combination + of input parameters specified should not be used in the query plan. + The SQLITE_CONSTRAINT return is useful for table-valued functions that + have required parameters. If the aConstraint[].usable field is false + for one of the required parameter, then the xBestIndex method should + return SQLITE_CONSTRAINT. + + + The following example will better illustrate the use of SQLITE_CONSTRAINT + as a return value from xBestIndex: + + + SELECT * FROM realtab, tablevaluedfunc(realtab.x); + + + Assuming that the first hidden column of "tablevaluedfunc" is "param1", + the query above is semantically equivalent to this: + + + SELECT * FROM realtab, tablevaluedfunc + WHERE tablevaluedfunc.param1 = realtab.x; + + + The query planner must decide between many possible implementations + of this query, but two plans in particular are of note: + + ]]> + ]]>Scan all + rows of realtab and for each row, find rows in tablevaluedfunc where + param1 is equal to realtab.x + ]]>]]>Scan all rows of tablevalued func and for each row find rows + in realtab where x is equal to tablevaluedfunc.param1. + ]]>]]> + + The xBestIndex method will be invoked once for each of the potential + plans above. For plan 1, the aConstraint[].usable flag for for the + SQLITE_CONSTRAINT_EQ constraint on the param1 column will be true because + the right-hand side value for the "param1 = ?" constraint will be known, + since it is determined by the outer realtab loop. + But for plan 2, the aConstraint[].usable flag for "param1 = ?" will be false + because the right-hand side value is determined by an inner loop and is thus + an unknown quantity. Because param1 is a required input to the table-valued + functions, the xBestIndex method should return SQLITE_CONSTRAINT when presented + with plan 2, indicating that a required input is missing. This forces the + query planner to select plan 1. + + + + The native pointer to the sqlite3_vtab derived structure. + + + The native pointer to the sqlite3_index_info structure. + + + A standard SQLite return code. + + + + + + int (*xDisconnect)(sqlite3_vtab *pVTab); + + + This method releases a connection to a virtual table. + Only the sqlite3_vtab object is destroyed. + The virtual table is not destroyed and any backing store + associated with the virtual table persists. + + This method undoes the work of xConnect. + + This method is a destructor for a connection to the virtual table. + Contrast this method with xDestroy. The xDestroy is a destructor + for the entire virtual table. + + + The xDisconnect method is required for every virtual table implementation, + though it is acceptable for the xDisconnect and xDestroy methods to be + the same function if that makes sense for the particular virtual table. + + + + The native pointer to the sqlite3_vtab derived structure. + + + A standard SQLite return code. + + + + + + int (*xDestroy)(sqlite3_vtab *pVTab); + + + This method releases a connection to a virtual table, just like + the xDisconnect method, and it also destroys the underlying + table implementation. This method undoes the work of xCreate. + + + The xDisconnect method is called whenever a database connection + that uses a virtual table is closed. The xDestroy method is only + called when a DROP TABLE statement is executed against the virtual table. + + + The xDestroy method is required for every virtual table implementation, + though it is acceptable for the xDisconnect and xDestroy methods to be + the same function if that makes sense for the particular virtual table. + + + + The native pointer to the sqlite3_vtab derived structure. + + + A standard SQLite return code. + + + + + + int (*xOpen)(sqlite3_vtab *pVTab, sqlite3_vtab_cursor **ppCursor); + + + The xOpen method creates a new cursor used for accessing (read and/or + writing) a virtual table. A successful invocation of this method + will allocate the memory for the sqlite3_vtab_cursor (or a subclass), + initialize the new object, and make *ppCursor point to the new object. + The successful call then returns SQLITE_OK. + + + For every successful call to this method, the SQLite core will + later invoke the xClose method to destroy + the allocated cursor. + + + The xOpen method need not initialize the pVtab field of the + sqlite3_vtab_cursor structure. The SQLite core will take care + of that chore automatically. + + + A virtual table implementation must be able to support an arbitrary + number of simultaneously open cursors. + + + When initially opened, the cursor is in an undefined state. + The SQLite core will invoke the xFilter method + on the cursor prior to any attempt to position or read from the cursor. + + + The xOpen method is required for every virtual table implementation. + + + + The native pointer to the sqlite3_vtab derived structure. + + + Upon success, this parameter must be modified to point to the newly + created native sqlite3_vtab_cursor derived structure. + + + A standard SQLite return code. + + + + + + int (*xClose)(sqlite3_vtab_cursor*); + + + The xClose method closes a cursor previously opened by + xOpen. + The SQLite core will always call xClose once for each cursor opened + using xOpen. + + + This method must release all resources allocated by the + corresponding xOpen call. The routine will not be called again even if it + returns an error. The SQLite core will not use the + sqlite3_vtab_cursor again after it has been closed. + + + The xClose method is required for every virtual table implementation. + + + + The native pointer to the sqlite3_vtab_cursor derived structure. + + + A standard SQLite return code. + + + + + + int (*xFilter)(sqlite3_vtab_cursor*, int idxNum, const char *idxStr, + int argc, sqlite3_value **argv); + + + This method begins a search of a virtual table. + The first argument is a cursor opened by xOpen. + The next two arguments define a particular search index previously + chosen by xBestIndex. The specific meanings of idxNum and idxStr + are unimportant as long as xFilter and xBestIndex agree on what + that meaning is. + + + The xBestIndex function may have requested the values of + certain expressions using the aConstraintUsage[].argvIndex values + of the sqlite3_index_info structure. + Those values are passed to xFilter using the argc and argv parameters. + + + If the virtual table contains one or more rows that match the + search criteria, then the cursor must be left point at the first row. + Subsequent calls to xEof must return false (zero). + If there are no rows match, then the cursor must be left in a state + that will cause the xEof to return true (non-zero). + The SQLite engine will use + the xColumn and xRowid methods to access that row content. + The xNext method will be used to advance to the next row. + + + This method must return SQLITE_OK if successful, or an sqlite + error code if an error occurs. + + + The xFilter method is required for every virtual table implementation. + + + + The native pointer to the sqlite3_vtab_cursor derived structure. + + + Number used to help identify the selected index. + + + The native pointer to the UTF-8 encoded string containing the + string used to help identify the selected index. + + + The number of native pointers to sqlite3_value structures specified + in . + + + An array of native pointers to sqlite3_value structures containing + filtering criteria for the selected index. + + + A standard SQLite return code. + + + + + + int (*xNext)(sqlite3_vtab_cursor*); + + + The xNext method advances a virtual table cursor + to the next row of a result set initiated by xFilter. + If the cursor is already pointing at the last row when this + routine is called, then the cursor no longer points to valid + data and a subsequent call to the xEof method must return true (non-zero). + If the cursor is successfully advanced to another row of content, then + subsequent calls to xEof must return false (zero). + + + This method must return SQLITE_OK if successful, or an sqlite + error code if an error occurs. + + + The xNext method is required for every virtual table implementation. + + + + The native pointer to the sqlite3_vtab_cursor derived structure. + + + A standard SQLite return code. + + + + + + int (*xEof)(sqlite3_vtab_cursor*); + + + The xEof method must return false (zero) if the specified cursor + currently points to a valid row of data, or true (non-zero) otherwise. + This method is called by the SQL engine immediately after each + xFilter and xNext invocation. + + + The xEof method is required for every virtual table implementation. + + + + The native pointer to the sqlite3_vtab_cursor derived structure. + + + Non-zero if no more rows are available; zero otherwise. + + + + + + int (*xColumn)(sqlite3_vtab_cursor*, sqlite3_context*, int N); + + + The SQLite core invokes this method in order to find the value for + the N-th column of the current row. N is zero-based so the first column + is numbered 0. + The xColumn method may return its result back to SQLite using one of the + following interface: + + + ]]> + ]]> sqlite3_result_blob() + ]]>]]> sqlite3_result_double() + ]]>]]> sqlite3_result_int() + ]]>]]> sqlite3_result_int64() + ]]>]]> sqlite3_result_null() + ]]>]]> sqlite3_result_text() + ]]>]]> sqlite3_result_text16() + ]]>]]> sqlite3_result_text16le() + ]]>]]> sqlite3_result_text16be() + ]]>]]> sqlite3_result_zeroblob() + ]]>]]> + + + If the xColumn method implementation calls none of the functions above, + then the value of the column defaults to an SQL NULL. + + + To raise an error, the xColumn method should use one of the result_text() + methods to set the error message text, then return an appropriate + error code. The xColumn method must return SQLITE_OK on success. + + + The xColumn method is required for every virtual table implementation. + + + + The native pointer to the sqlite3_vtab_cursor derived structure. + + + The native pointer to the sqlite3_context structure to be used + for returning the specified column value to the SQLite core + library. + + + The zero-based index corresponding to the column containing the + value to be returned. + + + A standard SQLite return code. + + + + + + int (*xRowid)(sqlite3_vtab_cursor *pCur, sqlite_int64 *pRowid); + + + A successful invocation of this method will cause *pRowid to be + filled with the rowid of row that the + virtual table cursor pCur is currently pointing at. + This method returns SQLITE_OK on success. + It returns an appropriate error code on failure. + + + The xRowid method is required for every virtual table implementation. + + + + The native pointer to the sqlite3_vtab_cursor derived structure. + + + Upon success, this parameter must be modified to contain the unique + integer row identifier for the current row for the specified cursor. + + + A standard SQLite return code. + + + + + + int (*xUpdate)( + sqlite3_vtab *pVTab, + int argc, + sqlite3_value **argv, + sqlite_int64 *pRowid + ); + + + All changes to a virtual table are made using the xUpdate method. + This one method can be used to insert, delete, or update. + + + The argc parameter specifies the number of entries in the argv array. + The value of argc will be 1 for a pure delete operation or N+2 for an insert + or replace or update where N is the number of columns in the table. + In the previous sentence, N includes any hidden columns. + + + Every argv entry will have a non-NULL value in C but may contain the + SQL value NULL. In other words, it is always true that + ]]>argv[i]!=0]]> for ]]>i]]> between 0 and ]]>argc-1]]>. + However, it might be the case that + ]]>sqlite3_value_type(argv[i])==SQLITE_NULL]]>. + + + The argv[0] parameter is the rowid of a row in the virtual table + to be deleted. If argv[0] is an SQL NULL, then no deletion occurs. + + + The argv[1] parameter is the rowid of a new row to be inserted + into the virtual table. If argv[1] is an SQL NULL, then the implementation + must choose a rowid for the newly inserted row. Subsequent argv[] + entries contain values of the columns of the virtual table, in the + order that the columns were declared. The number of columns will + match the table declaration that the xConnect or xCreate method made + using the sqlite3_declare_vtab() call. All hidden columns are included. + + + When doing an insert without a rowid (argc>1, argv[1] is an SQL NULL), + on a virtual table that uses ROWID (but not on a WITHOUT ROWID virtual table), + the implementation must set *pRowid to the rowid of the newly inserted row; + this will become the value returned by the sqlite3_last_insert_rowid() + function. Setting this value in all the other cases is a harmless no-op; + the SQLite engine ignores the *pRowid return value if argc==1 or + argv[1] is not an SQL NULL. + + + Each call to xUpdate will fall into one of cases shown below. + Not that references to ]]>argv[i]]]> mean the SQL value + held within the argv[i] object, not the argv[i] + object itself. + + + ]]> + ]]>]]>argc = 1 ]]> argv[0] ≠ NULL]]> + ]]>]]> + DELETE: The single row with rowid or PRIMARY KEY equal to argv[0] is deleted. + No insert occurs. + ]]>]]>]]>argc > 1 ]]> argv[0] = NULL]]> + ]]>]]> + INSERT: A new row is inserted with column values taken from + argv[2] and following. In a rowid virtual table, if argv[1] is an SQL NULL, + then a new unique rowid is generated automatically. The argv[1] will be NULL + for a WITHOUT ROWID virtual table, in which case the implementation should + take the PRIMARY KEY value from the appropriate column in argv[2] and following. + ]]>]]>]]>argc > 1 ]]> argv[0] ≠ NULL ]]> argv[0] = argv[1]]]> + ]]>]]> + UPDATE: + The row with rowid or PRIMARY KEY argv[0] is updated with new values + in argv[2] and following parameters. + ]]>]]>]]>argc > 1 ]]> argv[0] ≠ NULL ]]> argv[0] ≠ argv[1]]]> + ]]>]]> + UPDATE with rowid or PRIMARY KEY change: + The row with rowid or PRIMARY KEY argv[0] is updated with + the rowid or PRIMARY KEY in argv[1] + and new values in argv[2] and following parameters. This will occur + when an SQL statement updates a rowid, as in the statement: + + UPDATE table SET rowid=rowid+1 WHERE ...; + + ]]>]]> + + + The xUpdate method must return SQLITE_OK if and only if it is + successful. If a failure occurs, the xUpdate must return an appropriate + error code. On a failure, the pVTab->zErrMsg element may optionally + be replaced with error message text stored in memory allocated from SQLite + using functions such as sqlite3_mprintf() or sqlite3_malloc(). + + + If the xUpdate method violates some constraint of the virtual table + (including, but not limited to, attempting to store a value of the wrong + datatype, attempting to store a value that is too + large or too small, or attempting to change a read-only value) then the + xUpdate must fail with an appropriate error code. + + + If the xUpdate method is performing an UPDATE, then + sqlite3_value_nochange(X) can be used to discover which columns + of the virtual table were actually modified by the UPDATE + statement. The sqlite3_value_nochange(X) interface returns + true for columns that do not change. + On every UPDATE, SQLite will first invoke + xColumn separately for each unchanging column in the table to + obtain the value for that column. The xColumn method can + check to see if the column is unchanged at the SQL level + by invoking sqlite3_vtab_nochange(). If xColumn sees that + the column is not being modified, it should return without setting + a result using one of the sqlite3_result_xxxxx() + interfaces. Only in that case sqlite3_value_nochange() will be + true within the xUpdate method. If xColumn does + invoke one or more sqlite3_result_xxxxx() + interfaces, then SQLite understands that as a change in the value + of the column and the sqlite3_value_nochange() call for that + column within xUpdate will return false. + + + There might be one or more sqlite3_vtab_cursor objects open and in use + on the virtual table instance and perhaps even on the row of the virtual + table when the xUpdate method is invoked. The implementation of + xUpdate must be prepared for attempts to delete or modify rows of the table + out from other existing cursors. If the virtual table cannot accommodate + such changes, the xUpdate method must return an error code. + + + The xUpdate method is optional. + If the xUpdate pointer in the sqlite3_module for a virtual table + is a NULL pointer, then the virtual table is read-only. + + + + The native pointer to the sqlite3_vtab derived structure. + + + The number of new or modified column values contained in + . + + + The array of native pointers to sqlite3_value structures containing + the new or modified column values, if any. + + + Upon success, this parameter must be modified to contain the unique + integer row identifier for the row that was inserted, if any. + + + A standard SQLite return code. + + + + + + int (*xBegin)(sqlite3_vtab *pVTab); + + + This method begins a transaction on a virtual table. + This is method is optional. The xBegin pointer of sqlite3_module + may be NULL. + + + This method is always followed by one call to either the + xCommit or xRollback method. Virtual table transactions do + not nest, so the xBegin method will not be invoked more than once + on a single virtual table + without an intervening call to either xCommit or xRollback. + Multiple calls to other methods can and likely will occur in between + the xBegin and the corresponding xCommit or xRollback. + + + + The native pointer to the sqlite3_vtab derived structure. + + + A standard SQLite return code. + + + + + + int (*xSync)(sqlite3_vtab *pVTab); + + + This method signals the start of a two-phase commit on a virtual + table. + This is method is optional. The xSync pointer of sqlite3_module + may be NULL. + + + This method is only invoked after call to the xBegin method and + prior to an xCommit or xRollback. In order to implement two-phase + commit, the xSync method on all virtual tables is invoked prior to + invoking the xCommit method on any virtual table. If any of the + xSync methods fail, the entire transaction is rolled back. + + + + The native pointer to the sqlite3_vtab derived structure. + + + A standard SQLite return code. + + + + + + int (*xCommit)(sqlite3_vtab *pVTab); + + + This method causes a virtual table transaction to commit. + This is method is optional. The xCommit pointer of sqlite3_module + may be NULL. + + + A call to this method always follows a prior call to xBegin and + xSync. + + + + The native pointer to the sqlite3_vtab derived structure. + + + A standard SQLite return code. + + + + + + int (*xRollback)(sqlite3_vtab *pVTab); + + + This method causes a virtual table transaction to rollback. + This is method is optional. The xRollback pointer of sqlite3_module + may be NULL. + + + A call to this method always follows a prior call to xBegin. + + + + The native pointer to the sqlite3_vtab derived structure. + + + A standard SQLite return code. + + + + + + int (*xFindFunction)( + sqlite3_vtab *pVtab, + int nArg, + const char *zName, + void (**pxFunc)(sqlite3_context*,int,sqlite3_value**), + void **ppArg + ); + + + This method is called during sqlite3_prepare() to give the virtual + table implementation an opportunity to overload functions. + This method may be set to NULL in which case no overloading occurs. + + + When a function uses a column from a virtual table as its first + argument, this method is called to see if the virtual table would + like to overload the function. The first three parameters are inputs: + the virtual table, the number of arguments to the function, and the + name of the function. If no overloading is desired, this method + returns 0. To overload the function, this method writes the new + function implementation into *pxFunc and writes user data into *ppArg + and returns either 1 or a number between + SQLITE_INDEX_CONSTRAINT_FUNCTION and 255. + + + Historically, the return value from xFindFunction() was either zero + or one. Zero means that the function is not overloaded and one means that + it is overload. The ability to return values of + SQLITE_INDEX_CONSTRAINT_FUNCTION or greater was added in + version 3.25.0 (2018-09-15). If xFindFunction returns + SQLITE_INDEX_CONSTRAINT_FUNCTION or greater, than means that the function + takes two arguments and the function + can be used as a boolean in the WHERE clause of a query and that + the virtual table is able to exploit that function to speed up the query + result. When xFindFunction returns SQLITE_INDEX_CONSTRAINT_FUNCTION or + larger, the value returned becomes the sqlite3_index_info.aConstraint.op + value for one of the constraints passed into xBestIndex() and the second + argument becomes the value corresponding to that constraint that is passed + to xFilter(). This enables the + xBestIndex()/xFilter implementations to use the function to speed + its search. + + + The technique of having xFindFunction() return values of + SQLITE_INDEX_CONSTRAINT_FUNCTION was initially used in the implementation + of the Geopoly module. The xFindFunction() method of that module returns + SQLITE_INDEX_CONSTRAINT_FUNCTION for the geopoly_overlap() SQL function + and it returns + SQLITE_INDEX_CONSTRAINT_FUNCTION+1 for the geopoly_within() SQL function. + This permits search optimizations for queries such as: + + + SELECT * FROM geopolytab WHERE geopoly_overlap(_shape, $query_polygon); + + + Note that infix functions (LIKE, GLOB, REGEXP, and MATCH) reverse + the order of their arguments. So "like(A,B)" is equivalent to "B like A". + For the form "B like A" the B term is considered the first argument + to the function. But for "like(A,B)" the A term is considered the + first argument. + + + The function pointer returned by this routine must be valid for + the lifetime of the sqlite3_vtab object given in the first parameter. + + + + The native pointer to the sqlite3_vtab derived structure. + + + The number of arguments to the function being sought. + + + The name of the function being sought. + + + Upon success, this parameter must be modified to contain the + delegate responsible for implementing the specified function. + + + Upon success, this parameter must be modified to contain the + native user-data pointer associated with + . + + + Non-zero if the specified function was found; zero otherwise. + + + + + + int (*xRename)(sqlite3_vtab *pVtab, const char *zNew); + + + This method provides notification that the virtual table implementation + that the virtual table will be given a new name. + If this method returns SQLITE_OK then SQLite renames the table. + If this method returns an error code then the renaming is prevented. + + + The xRename method is optional. If omitted, then the virtual + table may not be renamed using the ALTER TABLE RENAME command. + + + The PRAGMA legacy_alter_table setting is enabled prior to invoking this + method, and the value for legacy_alter_table is restored after this + method finishes. This is necessary for the correct operation of virtual + tables that make use of shadow tables where the shadow tables must be + renamed to match the new virtual table name. If the legacy_alter_format is + off, then the xConnect method will be invoked for the virtual table every + time the xRename method tries to change the name of the shadow table. + + + + The native pointer to the sqlite3_vtab derived structure. + + + The native pointer to the UTF-8 encoded string containing the new + name for the virtual table. + + + A standard SQLite return code. + + + + + + int (*xSavepoint)(sqlite3_vtab *pVtab, int); + int (*xRelease)(sqlite3_vtab *pVtab, int); + int (*xRollbackTo)(sqlite3_vtab *pVtab, int); + + + These methods provide the virtual table implementation an opportunity to + implement nested transactions. They are always optional and will only be + called in SQLite version 3.7.7 (2011-06-23) and later. + + + When xSavepoint(X,N) is invoked, that is a signal to the virtual table X + that it should save its current state as savepoint N. + A subsequent call + to xRollbackTo(X,R) means that the state of the virtual table should return + to what it was when xSavepoint(X,R) was last called. + The call + to xRollbackTo(X,R) will invalidate all savepoints with N>R; none of the + invalided savepoints will be rolled back or released without first + being reinitialized by a call to xSavepoint(). + A call to xRelease(X,M) invalidates all savepoints where N>=M. + + + None of the xSavepoint(), xRelease(), or xRollbackTo() methods will ever + be called except in between calls to xBegin() and + either xCommit() or xRollback(). + + + + The native pointer to the sqlite3_vtab derived structure. + + + This is an integer identifier under which the the current state of + the virtual table should be saved. + + + A standard SQLite return code. + + + + + + int (*xSavepoint)(sqlite3_vtab *pVtab, int); + int (*xRelease)(sqlite3_vtab *pVtab, int); + int (*xRollbackTo)(sqlite3_vtab *pVtab, int); + + + These methods provide the virtual table implementation an opportunity to + implement nested transactions. They are always optional and will only be + called in SQLite version 3.7.7 (2011-06-23) and later. + + + When xSavepoint(X,N) is invoked, that is a signal to the virtual table X + that it should save its current state as savepoint N. + A subsequent call + to xRollbackTo(X,R) means that the state of the virtual table should return + to what it was when xSavepoint(X,R) was last called. + The call + to xRollbackTo(X,R) will invalidate all savepoints with N>R; none of the + invalided savepoints will be rolled back or released without first + being reinitialized by a call to xSavepoint(). + A call to xRelease(X,M) invalidates all savepoints where N>=M. + + + None of the xSavepoint(), xRelease(), or xRollbackTo() methods will ever + be called except in between calls to xBegin() and + either xCommit() or xRollback(). + + + + The native pointer to the sqlite3_vtab derived structure. + + + This is an integer used to indicate that any saved states with an + identifier greater than or equal to this should be deleted by the + virtual table. + + + A standard SQLite return code. + + + + + + int (*xSavepoint)(sqlite3_vtab *pVtab, int); + int (*xRelease)(sqlite3_vtab *pVtab, int); + int (*xRollbackTo)(sqlite3_vtab *pVtab, int); + + + These methods provide the virtual table implementation an opportunity to + implement nested transactions. They are always optional and will only be + called in SQLite version 3.7.7 (2011-06-23) and later. + + + When xSavepoint(X,N) is invoked, that is a signal to the virtual table X + that it should save its current state as savepoint N. + A subsequent call + to xRollbackTo(X,R) means that the state of the virtual table should return + to what it was when xSavepoint(X,R) was last called. + The call + to xRollbackTo(X,R) will invalidate all savepoints with N>R; none of the + invalided savepoints will be rolled back or released without first + being reinitialized by a call to xSavepoint(). + A call to xRelease(X,M) invalidates all savepoints where N>=M. + + + None of the xSavepoint(), xRelease(), or xRollbackTo() methods will ever + be called except in between calls to xBegin() and + either xCommit() or xRollback(). + + + + The native pointer to the sqlite3_vtab derived structure. + + + This is an integer identifier used to specify a specific saved + state for the virtual table for it to restore itself back to, which + should also have the effect of deleting all saved states with an + integer identifier greater than this one. + + + A standard SQLite return code. + + + + + This class represents a context from the SQLite core library that can + be passed to the sqlite3_result_*() and associated functions. + + + + + This interface represents a native handle provided by the SQLite core + library. + + + + + The native handle value. + + + + + The native context handle. + + + + + Constructs an instance of this class using the specified native + context handle. + + + The native context handle to use. + + + + + Sets the context result to NULL. + + + + + Sets the context result to the specified + value. + + + The value to use. + + + + + Sets the context result to the specified + value. + + + The value to use. + + + + + Sets the context result to the specified + value. + + + The value to use. + + + + + Sets the context result to the specified + value. + + + The value to use. This value will be + converted to the UTF-8 encoding prior to being used. + + + + + Sets the context result to the specified + value containing an error message. + + + The value containing the error message text. + This value will be converted to the UTF-8 encoding prior to being + used. + + + + + Sets the context result to the specified + value. + + + The value to use. + + + + + Sets the context result to contain the error code SQLITE_TOOBIG. + + + + + Sets the context result to contain the error code SQLITE_NOMEM. + + + + + Sets the context result to the specified array + value. + + + The array value to use. + + + + + Sets the context result to a BLOB of zeros of the specified size. + + + The number of zero bytes to use for the BLOB context result. + + + + + Sets the context result to the specified . + + + The to use. + + + + + Returns the underlying SQLite native handle associated with this + object instance. + + + + + This class represents a value from the SQLite core library that can be + passed to the sqlite3_value_*() and associated functions. + + + + + The native value handle. + + + + + Constructs an instance of this class using the specified native + value handle. + + + The native value handle to use. + + + + + Invalidates the native value handle, thereby preventing further + access to it from this object instance. + + + + + Converts a native pointer to a native sqlite3_value structure into + a managed object instance. + + + The native pointer to a native sqlite3_value structure to convert. + + + The managed object instance or null upon + failure. + + + + + Converts a logical array of native pointers to native sqlite3_value + structures into a managed array of + object instances. + + + The number of elements in the logical array of native sqlite3_value + structures. + + + The native pointer to the logical array of native sqlite3_value + structures to convert. + + + The managed array of object instances or + null upon failure. + + + + + Gets and returns the type affinity associated with this value. + + + The type affinity associated with this value. + + + + + Gets and returns the number of bytes associated with this value, if + it refers to a UTF-8 encoded string. + + + The number of bytes associated with this value. The returned value + may be zero. + + + + + Gets and returns the associated with this + value. + + + The associated with this value. + + + + + Gets and returns the associated with + this value. + + + The associated with this value. + + + + + Gets and returns the associated with this + value. + + + The associated with this value. + + + + + Gets and returns the associated with this + value. + + + The associated with this value. The value is + converted from the UTF-8 encoding prior to being returned. + + + + + Gets and returns the array associated with this + value. + + + The array associated with this value. + + + + + Gets and returns an instance associated with + this value. + + + The associated with this value. If the type + affinity of the object is unknown or cannot be determined, a null + value will be returned. + + + + + Uses the native value handle to obtain and store the managed value + for this object instance, thus saving it for later use. The type + of the managed value is determined by the type affinity of the + native value. If the type affinity is not recognized by this + method, no work is done and false is returned. + + + Non-zero if the native value was persisted successfully. + + + + + Returns the underlying SQLite native handle associated with this + object instance. + + + + + Returns non-zero if the native SQLite value has been successfully + persisted as a managed value within this object instance (i.e. the + property may then be read successfully). + + + + + If the managed value for this object instance is available (i.e. it + has been previously persisted via the ) method, + that value is returned; otherwise, an exception is thrown. The + returned value may be null. + + + + + These are the allowed values for the operators that are part of a + constraint term in the WHERE clause of a query that uses a virtual + table. + + + + + This value represents the equality operator. + + + + + This value represents the greater than operator. + + + + + This value represents the less than or equal to operator. + + + + + This value represents the less than operator. + + + + + This value represents the greater than or equal to operator. + + + + + This value represents the MATCH operator. + + + + + This value represents the LIKE operator. + + + + + This value represents the GLOB operator. + + + + + This value represents the REGEXP operator. + + + + + This value represents the inequality operator. + + + + + This value represents the IS NOT operator. + + + + + This value represents the IS NOT NULL operator. + + + + + This value represents the IS NULL operator. + + + + + This value represents the IS operator. + + + + + These are the allowed values for the index flags from the + method. + + + + + No special handling. This is the default. + + + + + This value indicates that the scan of the index will visit at + most one row. + + + + + This class represents the native sqlite3_index_constraint structure + from the SQLite core library. + + + + + Constructs an instance of this class using the specified native + sqlite3_index_constraint structure. + + + The native sqlite3_index_constraint structure to use. + + + + + Constructs an instance of this class using the specified field + values. + + + Column on left-hand side of constraint. + + + Constraint operator (). + + + True if this constraint is usable. + + + Used internally - + should ignore. + + + + + Column on left-hand side of constraint. + + + + + Constraint operator (). + + + + + True if this constraint is usable. + + + + + Used internally - + should ignore. + + + + + This class represents the native sqlite3_index_orderby structure from + the SQLite core library. + + + + + Constructs an instance of this class using the specified native + sqlite3_index_orderby structure. + + + The native sqlite3_index_orderby structure to use. + + + + + Constructs an instance of this class using the specified field + values. + + + Column number. + + + True for DESC. False for ASC. + + + + + Column number. + + + + + True for DESC. False for ASC. + + + + + This class represents the native sqlite3_index_constraint_usage + structure from the SQLite core library. + + + + + Constructs a default instance of this class. + + + + + Constructs an instance of this class using the specified native + sqlite3_index_constraint_usage structure. + + + The native sqlite3_index_constraint_usage structure to use. + + + + + Constructs an instance of this class using the specified field + values. + + + If greater than 0, constraint is part of argv to xFilter. + + + Do not code a test for this constraint. + + + + + If greater than 0, constraint is part of argv to xFilter. + + + + + Do not code a test for this constraint. + + + + + This class represents the various inputs provided by the SQLite core + library to the method. + + + + + Constructs an instance of this class. + + + The number of instances to + pre-allocate space for. + + + The number of instances to + pre-allocate space for. + + + + + An array of object instances, + each containing information supplied by the SQLite core library. + + + + + An array of object instances, + each containing information supplied by the SQLite core library. + + + + + This class represents the various outputs provided to the SQLite core + library by the method. + + + + + Constructs an instance of this class. + + + The number of instances + to pre-allocate space for. + + + + + Determines if the native estimatedRows field can be used, based on + the available version of the SQLite core library. + + + Non-zero if the property is supported + by the SQLite core library. + + + + + Determines if the native flags field can be used, based on the + available version of the SQLite core library. + + + Non-zero if the property is supported by + the SQLite core library. + + + + + Determines if the native flags field can be used, based on the + available version of the SQLite core library. + + + Non-zero if the property is supported by + the SQLite core library. + + + + + An array of object + instances, each containing information to be supplied to the SQLite + core library. + + + + + Number used to help identify the selected index. This value will + later be provided to the + method. + + + + + String used to help identify the selected index. This value will + later be provided to the + method. + + + + + Non-zero if the index string must be freed by the SQLite core + library. + + + + + True if output is already ordered. + + + + + Estimated cost of using this index. Using a null value here + indicates that a default estimated cost value should be used. + + + + + Estimated number of rows returned. Using a null value here + indicates that a default estimated rows value should be used. + This property has no effect if the SQLite core library is not at + least version 3.8.2. + + + + + The flags that should be used with this index. Using a null value + here indicates that a default flags value should be used. This + property has no effect if the SQLite core library is not at least + version 3.9.0. + + + + + + Indicates which columns of the virtual table may be required by the + current scan. Virtual table columns are numbered from zero in the + order in which they appear within the CREATE TABLE statement passed + to sqlite3_declare_vtab(). For the first 63 columns (columns 0-62), + the corresponding bit is set within the bit mask if the column may + be required by SQLite. If the table has at least 64 columns and + any column to the right of the first 63 is required, then bit 63 of + colUsed is also set. In other words, column iCol may be required + if the expression + + + (colUsed & ((sqlite3_uint64)1 << (iCol>=63 ? 63 : iCol))) + + + evaluates to non-zero. Using a null value here indicates that a + default flags value should be used. This property has no effect if + the SQLite core library is not at least version 3.10.0. + + + + + + This class represents the various inputs and outputs used with the + method. + + + + + Constructs an instance of this class. + + + The number of (and + ) instances to + pre-allocate space for. + + + The number of instances to + pre-allocate space for. + + + + + Attempts to determine the structure sizes needed to create and + populate a native + + structure. + + + The size of the native + + structure is stored here. + + + The size of the native + + structure is stored here. + + + The size of the native + + structure is stored here. + + + The size of the native + + structure is stored here. + + + + + Attempts to allocate and initialize a native + + structure. + + + The number of instances to + pre-allocate space for. + + + The number of instances to + pre-allocate space for. + + + The newly allocated native + structure + -OR- if it could not be fully allocated. + + + + + Frees all the memory associated with a native + + structure. + + + The native pointer to the native sqlite3_index_info structure to + free. + + + + + Converts a native pointer to a native sqlite3_index_info structure + into a new object instance. + + + The native pointer to the native sqlite3_index_info structure to + convert. + + + Non-zero to include fields from the outputs portion of the native + structure; otherwise, the "output" fields will not be read. + + + Upon success, this parameter will be modified to contain the newly + created object instance. + + + + + Populates the outputs of a pre-allocated native sqlite3_index_info + structure using an existing object + instance. + + + The existing object instance containing + the output data to use. + + + The native pointer to the pre-allocated native sqlite3_index_info + structure. + + + Non-zero to include fields from the inputs portion of the native + structure; otherwise, the "input" fields will not be written. + + + + + The object instance containing + the inputs to the + method. + + + + + The object instance containing + the outputs from the + method. + + + + + This class represents a managed virtual table implementation. It is + not sealed and should be used as the base class for any user-defined + virtual table classes implemented in managed code. + + + + + The index within the array of strings provided to the + and + methods containing the + name of the module implementing this virtual table. + + + + + The index within the array of strings provided to the + and + methods containing the + name of the database containing this virtual table. + + + + + The index within the array of strings provided to the + and + methods containing the + name of the virtual table. + + + + + Constructs an instance of this class. + + + The original array of strings provided to the + and + methods. + + + + + This method should normally be used by the + method in order to + perform index selection based on the constraints provided by the + SQLite core library. + + + The object instance containing all the + data for the inputs and outputs relating to index selection. + + + Non-zero upon success. + + + + + Attempts to record the renaming of the virtual table associated + with this object instance. + + + The new name for the virtual table. + + + Non-zero upon success. + + + + + Disposes of this object instance. + + + + + Throws an if this object + instance has been disposed. + + + + + Disposes of this object instance. + + + Non-zero if this method is being called from the + method. Zero if this method is being called + from the finalizer. + + + + + Finalizes this object instance. + + + + + The original array of strings provided to the + and + methods. + + + + + The name of the module implementing this virtual table. + + + + + The name of the database containing this virtual table. + + + + + The name of the virtual table. + + + + + The object instance containing all the + data for the inputs and outputs relating to the most recent index + selection. + + + + + Returns the underlying SQLite native handle associated with this + object instance. + + + + + This class represents a managed virtual table cursor implementation. + It is not sealed and should be used as the base class for any + user-defined virtual table cursor classes implemented in managed code. + + + + + This value represents an invalid integer row sequence number. + + + + + The field holds the integer row sequence number for the current row + pointed to by this cursor object instance. + + + + + Constructs an instance of this class. + + + The object instance associated + with this object instance. + + + + + Constructs an instance of this class. + + + + + Attempts to persist the specified object + instances in order to make them available after the + method returns. + + + The array of object instances to be + persisted. + + + The number of object instances that were + successfully persisted. + + + + + This method should normally be used by the + method in order to + perform filtering of the result rows and/or to record the filtering + criteria provided by the SQLite core library. + + + Number used to help identify the selected index. + + + String used to help identify the selected index. + + + The values corresponding to each column in the selected index. + + + + + Determines the integer row sequence number for the current row. + + + The integer row sequence number for the current row -OR- zero if + it cannot be determined. + + + + + Adjusts the integer row sequence number so that it refers to the + next row. + + + + + Disposes of this object instance. + + + + + Throws an if this object + instance has been disposed. + + + + + Disposes of this object instance. + + + Non-zero if this method is being called from the + method. Zero if this method is being called + from the finalizer. + + + + + Finalizes this object instance. + + + + + The object instance associated + with this object instance. + + + + + Number used to help identify the selected index. This value will + be set via the method. + + + + + String used to help identify the selected index. This value will + be set via the method. + + + + + The values used to filter the rows returned via this cursor object + instance. This value will be set via the + method. + + + + + Returns the underlying SQLite native handle associated with this + object instance. + + + + + This interface represents a virtual table implementation written in + managed code. + + + + + This method is called in response to the + method. + + + The object instance associated with + the virtual table. + + + The native user-data pointer associated with this module, as it was + provided to the SQLite core library when the native module instance + was created. + + + The module name, database name, virtual table name, and all other + arguments passed to the CREATE VIRTUAL TABLE statement. + + + Upon success, this parameter must be modified to contain the + object instance associated with + the virtual table. + + + Upon failure, this parameter must be modified to contain an error + message. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated with + the virtual table. + + + The native user-data pointer associated with this module, as it was + provided to the SQLite core library when the native module instance + was created. + + + The module name, database name, virtual table name, and all other + arguments passed to the CREATE VIRTUAL TABLE statement. + + + Upon success, this parameter must be modified to contain the + object instance associated with + the virtual table. + + + Upon failure, this parameter must be modified to contain an error + message. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + The object instance containing all the + data for the inputs and outputs relating to index selection. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + Upon success, this parameter must be modified to contain the + object instance associated + with the newly opened virtual table cursor. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance + associated with the previously opened virtual table cursor to be + used. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance + associated with the previously opened virtual table cursor to be + used. + + + Number used to help identify the selected index. + + + String used to help identify the selected index. + + + The values corresponding to each column in the selected index. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance + associated with the previously opened virtual table cursor to be + used. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance + associated with the previously opened virtual table cursor to be + used. + + + Non-zero if no more rows are available; zero otherwise. + + + + + This method is called in response to the + method. + + + The object instance + associated with the previously opened virtual table cursor to be + used. + + + The object instance to be used for + returning the specified column value to the SQLite core library. + + + The zero-based index corresponding to the column containing the + value to be returned. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance + associated with the previously opened virtual table cursor to be + used. + + + Upon success, this parameter must be modified to contain the unique + integer row identifier for the current row for the specified cursor. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + The array of object instances containing + the new or modified column values, if any. + + + Upon success, this parameter must be modified to contain the unique + integer row identifier for the row that was inserted, if any. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + The number of arguments to the function being sought. + + + The name of the function being sought. + + + Upon success, this parameter must be modified to contain the + object instance responsible for + implementing the specified function. + + + Upon success, this parameter must be modified to contain the + native user-data pointer associated with + . + + + Non-zero if the specified function was found; zero otherwise. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + The new name for the virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + This is an integer identifier under which the the current state of + the virtual table should be saved. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + This is an integer used to indicate that any saved states with an + identifier greater than or equal to this should be deleted by the + virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + This is an integer identifier used to specify a specific saved + state for the virtual table for it to restore itself back to, which + should also have the effect of deleting all saved states with an + integer identifier greater than this one. + + + A standard SQLite return code. + + + + + Returns non-zero if the schema for the virtual table has been + declared. + + + + + Returns the name of the module as it was registered with the SQLite + core library. + + + + + This class contains static methods that are used to allocate, + manipulate, and free native memory provided by the SQLite core library. + + + + + Determines if the native sqlite3_msize() API can be used, based on + the available version of the SQLite core library. + + + Non-zero if the native sqlite3_msize() API is supported by the + SQLite core library. + + + + + Allocates at least the specified number of bytes of native memory + via the SQLite core library sqlite3_malloc() function and returns + the resulting native pointer. If the TRACK_MEMORY_BYTES option + was enabled at compile-time, adjusts the number of bytes currently + allocated by this class. + + + The number of bytes to allocate. + + + The native pointer that points to a block of memory of at least the + specified size -OR- if the memory could + not be allocated. + + + + + Allocates at least the specified number of bytes of native memory + via the SQLite core library sqlite3_malloc64() function and returns + the resulting native pointer. If the TRACK_MEMORY_BYTES option + was enabled at compile-time, adjusts the number of bytes currently + allocated by this class. + + + The number of bytes to allocate. + + + The native pointer that points to a block of memory of at least the + specified size -OR- if the memory could + not be allocated. + + + + + Allocates at least the specified number of bytes of native memory + via the SQLite core library sqlite3_malloc() function and returns + the resulting native pointer without adjusting the number of + allocated bytes currently tracked by this class. This is useful + when dealing with blocks of memory that will be freed directly by + the SQLite core library. + + + The number of bytes to allocate. + + + The native pointer that points to a block of memory of at least the + specified size -OR- if the memory could + not be allocated. + + + + + Allocates at least the specified number of bytes of native memory + via the SQLite core library sqlite3_malloc64() function and returns + the resulting native pointer without adjusting the number of + allocated bytes currently tracked by this class. This is useful + when dealing with blocks of memory that will be freed directly by + the SQLite core library. + + + The number of bytes to allocate. + + + The native pointer that points to a block of memory of at least the + specified size -OR- if the memory could + not be allocated. + + + + + Gets and returns the actual size of the specified memory block + that was previously obtained from the , + , , or + methods or directly from the + SQLite core library. + + + The native pointer to the memory block previously obtained from + the , , + , or + methods or directly from the + SQLite core library. + + + The actual size, in bytes, of the memory block specified via the + native pointer. + + + + + Gets and returns the actual size of the specified memory block + that was previously obtained from the , + , , or + methods or directly from the + SQLite core library. + + + The native pointer to the memory block previously obtained from + the , , + , or + methods or directly from the + SQLite core library. + + + The actual size, in bytes, of the memory block specified via the + native pointer. + + + + + Frees a memory block previously obtained from the + or methods. If + the TRACK_MEMORY_BYTES option was enabled at compile-time, adjusts + the number of bytes currently allocated by this class. + + + The native pointer to the memory block previously obtained from the + or methods. + + + + + Frees a memory block previously obtained from the SQLite core + library without adjusting the number of allocated bytes currently + tracked by this class. This is useful when dealing with blocks of + memory that were not allocated using this class. + + + The native pointer to the memory block previously obtained from the + SQLite core library. + + + + + This class contains static methods that are used to deal with native + UTF-8 string pointers to be used with the SQLite core library. + + + + + This is the maximum possible length for the native UTF-8 encoded + strings used with the SQLite core library. + + + + + This is the object instance used to handle + conversions from/to UTF-8. + + + + + Converts the specified managed string into the UTF-8 encoding and + returns the array of bytes containing its representation in that + encoding. + + + The managed string to convert. + + + The array of bytes containing the representation of the managed + string in the UTF-8 encoding or null upon failure. + + + + + Converts the specified array of bytes representing a string in the + UTF-8 encoding and returns a managed string. + + + The array of bytes to convert. + + + The managed string or null upon failure. + + + + + Probes a native pointer to a string in the UTF-8 encoding for its + terminating NUL character, within the specified length limit. + + + The native NUL-terminated string pointer. + + + The maximum length of the native string, in bytes. + + + The length of the native string, in bytes -OR- zero if the length + could not be determined. + + + + + Converts the specified native NUL-terminated UTF-8 string pointer + into a managed string. + + + The native NUL-terminated UTF-8 string pointer. + + + The managed string or null upon failure. + + + + + Converts the specified native UTF-8 string pointer of the specified + length into a managed string. + + + The native UTF-8 string pointer. + + + The length of the native string, in bytes. + + + The managed string or null upon failure. + + + + + Converts the specified managed string into a native NUL-terminated + UTF-8 string pointer using memory obtained from the SQLite core + library. + + + The managed string to convert. + + + The native NUL-terminated UTF-8 string pointer or + upon failure. + + + + + Converts the specified managed string into a native NUL-terminated + UTF-8 string pointer using memory obtained from the SQLite core + library. + + + The managed string to convert. + + + Non-zero to obtain memory from the SQLite core library without + adjusting the number of allocated bytes currently being tracked + by the class. + + + The native NUL-terminated UTF-8 string pointer or + upon failure. + + + + + Converts the specified managed string into a native NUL-terminated + UTF-8 string pointer using memory obtained from the SQLite core + library. + + + The managed string to convert. + + + The length of the native string, in bytes. + + + The native NUL-terminated UTF-8 string pointer or + upon failure. + + + + + Converts the specified managed string into a native NUL-terminated + UTF-8 string pointer using memory obtained from the SQLite core + library. + + + The managed string to convert. + + + Non-zero to obtain memory from the SQLite core library without + adjusting the number of allocated bytes currently being tracked + by the class. + + + The length of the native string, in bytes. + + + The native NUL-terminated UTF-8 string pointer or + upon failure. + + + + + Converts a logical array of native NUL-terminated UTF-8 string + pointers into an array of managed strings. + + + The number of elements in the logical array of native + NUL-terminated UTF-8 string pointers. + + + The native pointer to the logical array of native NUL-terminated + UTF-8 string pointers to convert. + + + The array of managed strings or null upon failure. + + + + + Converts an array of managed strings into an array of native + NUL-terminated UTF-8 string pointers. + + + The array of managed strings to convert. + + + Non-zero to obtain memory from the SQLite core library without + adjusting the number of allocated bytes currently being tracked + by the class. + + + The array of native NUL-terminated UTF-8 string pointers or null + upon failure. + + + + + This class contains static methods that are used to deal with native + pointers to memory blocks that logically contain arrays of bytes to be + used with the SQLite core library. + + + + + Converts a native pointer to a logical array of bytes of the + specified length into a managed byte array. + + + The native pointer to the logical array of bytes to convert. + + + The length, in bytes, of the logical array of bytes to convert. + + + The managed byte array or null upon failure. + + + + + Converts a managed byte array into a native pointer to a logical + array of bytes. + + + The managed byte array to convert. + + + The native pointer to a logical byte array or null upon failure. + + + + + Converts a managed byte array into a native pointer to a logical + array of bytes. + + + The managed byte array to convert. + + + The length, in bytes, of the converted logical array of bytes. + + + The native pointer to a logical byte array or null upon failure. + + + + + This class contains static methods that are used to perform several + low-level data marshalling tasks between native and managed code. + + + + + Returns a new object instance based on the + specified object instance and an integer + offset. + + + The object instance representing the base + memory location. + + + The integer offset from the base memory location that the new + object instance should point to. + + + The new object instance. + + + + + Rounds up an integer size to the next multiple of the alignment. + + + The size, in bytes, to be rounded up. + + + The required alignment for the return value. + + + The size, in bytes, rounded up to the next multiple of the + alignment. This value may end up being the same as the original + size. + + + + + Determines the offset, in bytes, of the next structure member. + + + The offset, in bytes, of the current structure member. + + + The size, in bytes, of the current structure member. + + + The alignment, in bytes, of the next structure member. + + + The offset, in bytes, of the next structure member. + + + + + Reads a value from the specified memory + location. + + + The object instance representing the base + memory location. + + + The integer offset from the base memory location where the + value to be read is located. + + + The value at the specified memory location. + + + + + Reads a value from the specified memory + location. + + + The object instance representing the base + memory location. + + + The integer offset from the base memory location where the + value to be read is located. + + + The value at the specified memory location. + + + + + Reads a value from the specified memory + location. + + + The object instance representing the base + memory location. + + + The integer offset from the base memory location where the + to be read is located. + + + The value at the specified memory location. + + + + + Reads an value from the specified memory + location. + + + The object instance representing the base + memory location. + + + The integer offset from the base memory location where the + value to be read is located. + + + The value at the specified memory location. + + + + + Writes an value to the specified memory + location. + + + The object instance representing the base + memory location. + + + The integer offset from the base memory location where the + value to be written is located. + + + The value to write. + + + + + Writes an value to the specified memory + location. + + + The object instance representing the base + memory location. + + + The integer offset from the base memory location where the + value to be written is located. + + + The value to write. + + + + + Writes a value to the specified memory + location. + + + The object instance representing the base + memory location. + + + The integer offset from the base memory location where the + value to be written is located. + + + The value to write. + + + + + Writes a value to the specified memory + location. + + + The object instance representing the base + memory location. + + + The integer offset from the base memory location where the + value to be written is located. + + + The value to write. + + + + + Generates a hash code value for the object. + + + The object instance used to calculate the hash code. + + + Non-zero if different object instances with the same value should + generate different hash codes, where applicable. This parameter + has no effect on the .NET Compact Framework. + + + The hash code value -OR- zero if the object is null. + + + + + This class represents a managed virtual table module implementation. + It is not sealed and must be used as the base class for any + user-defined virtual table module classes implemented in managed code. + + + + + The default version of the native sqlite3_module structure in use. + + + + + This field is used to store the native sqlite3_module structure + associated with this object instance. + + + + + This field is used to store the destructor delegate to be passed to + the SQLite core library via the sqlite3_create_disposable_module() + function. + + + + + This field is used to store a pointer to the native sqlite3_module + structure returned by the sqlite3_create_disposable_module + function. + + + + + This field is used to store the virtual table instances associated + with this module. The native pointer to the sqlite3_vtab derived + structure is used to key into this collection. + + + + + This field is used to store the virtual table cursor instances + associated with this module. The native pointer to the + sqlite3_vtab_cursor derived structure is used to key into this + collection. + + + + + This field is used to store the virtual table function instances + associated with this module. The case-insensitive function name + and the number of arguments (with -1 meaning "any") are used to + construct the string that is used to key into this collection. + + + + + Constructs an instance of this class. + + + The name of the module. This parameter cannot be null. + + + + + Calls the native SQLite core library in order to create a new + disposable module containing the implementation of a virtual table. + + + The native database connection pointer to use. + + + Non-zero upon success. + + + + + This method is called by the SQLite core library when the native + module associated with this object instance is being destroyed due + to its parent connection being closed. It may also be called by + the "vtshim" module if/when the sqlite3_dispose_module() function + is called. + + + The native user-data pointer associated with this module, as it was + provided to the SQLite core library when the native module instance + was created. + + + + + Creates and returns the native sqlite_module structure using the + configured (or default) + interface implementation. + + + The native sqlite_module structure using the configured (or + default) interface + implementation. + + + + + Creates and returns the native sqlite_module structure using the + specified interface + implementation. + + + The interface implementation to + use. + + + The native sqlite_module structure using the specified + interface implementation. + + + + + Creates a copy of the specified + object instance, + using default implementations for the contained delegates when + necessary. + + + The object + instance to copy. + + + The new object + instance. + + + + + Calls one of the virtual table initialization methods. + + + Non-zero to call the + method; otherwise, the + method will be called. + + + The native database connection handle. + + + The original native pointer value that was provided to the + sqlite3_create_module(), sqlite3_create_module_v2() or + sqlite3_create_disposable_module() functions. + + + The number of arguments from the CREATE VIRTUAL TABLE statement. + + + The array of string arguments from the CREATE VIRTUAL TABLE + statement. + + + Upon success, this parameter must be modified to point to the newly + created native sqlite3_vtab derived structure. + + + Upon failure, this parameter must be modified to point to the error + message, with the underlying memory having been obtained from the + sqlite3_malloc() function. + + + A standard SQLite return code. + + + + + Calls one of the virtual table finalization methods. + + + Non-zero to call the + method; otherwise, the + method will be + called. + + + The native pointer to the sqlite3_vtab derived structure. + + + A standard SQLite return code. + + + + + Arranges for the specified error message to be placed into the + zErrMsg field of a sqlite3_vtab derived structure, freeing the + existing error message, if any. + + + The object instance to be used. + + + The native pointer to the sqlite3_vtab derived structure. + + + Non-zero if this error message should also be logged using the + class. + + + Non-zero if caught exceptions should be logged using the + class. + + + The error message. + + + Non-zero upon success. + + + + + Arranges for the specified error message to be placed into the + zErrMsg field of a sqlite3_vtab derived structure, freeing the + existing error message, if any. + + + The object instance to be used. + + + The object instance used to + lookup the native pointer to the sqlite3_vtab derived structure. + + + Non-zero if this error message should also be logged using the + class. + + + Non-zero if caught exceptions should be logged using the + class. + + + The error message. + + + Non-zero upon success. + + + + + Arranges for the specified error message to be placed into the + zErrMsg field of a sqlite3_vtab derived structure, freeing the + existing error message, if any. + + + The object instance to be used. + + + The native pointer to the sqlite3_vtab_cursor derived structure + used to get the native pointer to the sqlite3_vtab derived + structure. + + + Non-zero if this error message should also be logged using the + class. + + + Non-zero if caught exceptions should be logged using the + class. + + + The error message. + + + Non-zero upon success. + + + + + Arranges for the specified error message to be placed into the + zErrMsg field of a sqlite3_vtab derived structure, freeing the + existing error message, if any. + + + The object instance to be used. + + + The object instance used to + lookup the native pointer to the sqlite3_vtab derived structure. + + + Non-zero if this error message should also be logged using the + class. + + + Non-zero if caught exceptions should be logged using the + class. + + + The error message. + + + Non-zero upon success. + + + + + Gets and returns the interface + implementation to be used when creating the native sqlite3_module + structure. Derived classes may override this method to supply an + alternate implementation for the + interface. + + + The interface implementation to + be used when populating the native sqlite3_module structure. If + the returned value is null, the private methods provided by the + class and relating to the + interface will be used to + create the necessary delegates. + + + + + Creates and returns the + interface implementation corresponding to the current + object instance. + + + The interface implementation + corresponding to the current object + instance. + + + + + Allocates a native sqlite3_vtab derived structure and returns a + native pointer to it. + + + A native pointer to a native sqlite3_vtab derived structure. + + + + + Zeros out the fields of a native sqlite3_vtab derived structure. + + + The native pointer to the native sqlite3_vtab derived structure to + zero. + + + + + Frees a native sqlite3_vtab structure using the provided native + pointer to it. + + + A native pointer to a native sqlite3_vtab derived structure. + + + + + Allocates a native sqlite3_vtab_cursor derived structure and + returns a native pointer to it. + + + A native pointer to a native sqlite3_vtab_cursor derived structure. + + + + + Frees a native sqlite3_vtab_cursor structure using the provided + native pointer to it. + + + A native pointer to a native sqlite3_vtab_cursor derived structure. + + + + + Reads and returns the native pointer to the sqlite3_vtab derived + structure based on the native pointer to the sqlite3_vtab_cursor + derived structure. + + + The object instance to be used. + + + The native pointer to the sqlite3_vtab_cursor derived structure + from which to read the native pointer to the sqlite3_vtab derived + structure. + + + The native pointer to the sqlite3_vtab derived structure -OR- + if it cannot be determined. + + + + + Reads and returns the native pointer to the sqlite3_vtab derived + structure based on the native pointer to the sqlite3_vtab_cursor + derived structure. + + + The native pointer to the sqlite3_vtab_cursor derived structure + from which to read the native pointer to the sqlite3_vtab derived + structure. + + + The native pointer to the sqlite3_vtab derived structure -OR- + if it cannot be determined. + + + + + Looks up and returns the object + instance based on the native pointer to the sqlite3_vtab derived + structure. + + + The native pointer to the sqlite3_vtab derived structure. + + + The object instance or null if + the corresponding one cannot be found. + + + + + Allocates and returns a native pointer to a sqlite3_vtab derived + structure and creates an association between it and the specified + object instance. + + + The object instance to be used + when creating the association. + + + The native pointer to a sqlite3_vtab derived structure or + if the method fails for any reason. + + + + + Looks up and returns the + object instance based on the native pointer to the + sqlite3_vtab_cursor derived structure. + + + The native pointer to the sqlite3_vtab derived structure. + + + The native pointer to the sqlite3_vtab_cursor derived structure. + + + The object instance or null + if the corresponding one cannot be found. + + + + + Allocates and returns a native pointer to a sqlite3_vtab_cursor + derived structure and creates an association between it and the + specified object instance. + + + The object instance to be + used when creating the association. + + + The native pointer to a sqlite3_vtab_cursor derived structure or + if the method fails for any reason. + + + + + Deterimines the key that should be used to identify and store the + object instance for the virtual table + (i.e. to be returned via the + method). + + + The number of arguments to the virtual table function. + + + The name of the virtual table function. + + + The object instance associated with + this virtual table function. + + + The string that should be used to identify and store the virtual + table function instance. This method cannot return null. If null + is returned from this method, the behavior is undefined. + + + + + Attempts to declare the schema for the virtual table using the + specified database connection. + + + The object instance to use when + declaring the schema of the virtual table. This parameter may not + be null. + + + The string containing the CREATE TABLE statement that completely + describes the schema for the virtual table. This parameter may not + be null. + + + Upon failure, this parameter must be modified to contain an error + message. + + + A standard SQLite return code. + + + + + Calls the native SQLite core library in order to declare a virtual + table function in response to a call into the + + or virtual table + methods. + + + The object instance to use when + declaring the schema of the virtual table. + + + The number of arguments to the function being declared. + + + The name of the function being declared. + + + Upon success, the contents of this parameter are undefined. Upon + failure, it should contain an appropriate error message. + + + A standard SQLite return code. + + + + + Arranges for the specified error message to be placed into the + zErrMsg field of a sqlite3_vtab derived structure, freeing the + existing error message, if any. + + + The native pointer to the sqlite3_vtab derived structure. + + + The error message. + + + Non-zero upon success. + + + + + Arranges for the specified error message to be placed into the + zErrMsg field of a sqlite3_vtab derived structure, freeing the + existing error message, if any. + + + The object instance used to + lookup the native pointer to the sqlite3_vtab derived structure. + + + The error message. + + + Non-zero upon success. + + + + + Arranges for the specified error message to be placed into the + zErrMsg field of a sqlite3_vtab derived structure, freeing the + existing error message, if any. + + + The object instance used to + lookup the native pointer to the sqlite3_vtab derived structure. + + + The error message. + + + Non-zero upon success. + + + + + Modifies the specified object instance + to contain the specified estimated cost. + + + The object instance to modify. + + + The estimated cost value to use. Using a null value means that the + default value provided by the SQLite core library should be used. + + + Non-zero upon success. + + + + + Modifies the specified object instance + to contain the default estimated cost. + + + The object instance to modify. + + + Non-zero upon success. + + + + + Modifies the specified object instance + to contain the specified estimated rows. + + + The object instance to modify. + + + The estimated rows value to use. Using a null value means that the + default value provided by the SQLite core library should be used. + + + Non-zero upon success. + + + + + Modifies the specified object instance + to contain the default estimated rows. + + + The object instance to modify. + + + Non-zero upon success. + + + + + Modifies the specified object instance + to contain the specified flags. + + + The object instance to modify. + + + The index flags value to use. Using a null value means that the + default value provided by the SQLite core library should be used. + + + Non-zero upon success. + + + + + Modifies the specified object instance + to contain the default index flags. + + + The object instance to modify. + + + Non-zero upon success. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + This method is called in response to the + method. + + + The object instance associated with + the virtual table. + + + The native user-data pointer associated with this module, as it was + provided to the SQLite core library when the native module instance + was created. + + + The module name, database name, virtual table name, and all other + arguments passed to the CREATE VIRTUAL TABLE statement. + + + Upon success, this parameter must be modified to contain the + object instance associated with + the virtual table. + + + Upon failure, this parameter must be modified to contain an error + message. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated with + the virtual table. + + + The native user-data pointer associated with this module, as it was + provided to the SQLite core library when the native module instance + was created. + + + The module name, database name, virtual table name, and all other + arguments passed to the CREATE VIRTUAL TABLE statement. + + + Upon success, this parameter must be modified to contain the + object instance associated with + the virtual table. + + + Upon failure, this parameter must be modified to contain an error + message. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + The object instance containing all the + data for the inputs and outputs relating to index selection. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + Upon success, this parameter must be modified to contain the + object instance associated + with the newly opened virtual table cursor. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance + associated with the previously opened virtual table cursor to be + used. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance + associated with the previously opened virtual table cursor to be + used. + + + Number used to help identify the selected index. + + + String used to help identify the selected index. + + + The values corresponding to each column in the selected index. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance + associated with the previously opened virtual table cursor to be + used. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance + associated with the previously opened virtual table cursor to be + used. + + + Non-zero if no more rows are available; zero otherwise. + + + + + This method is called in response to the + method. + + + The object instance + associated with the previously opened virtual table cursor to be + used. + + + The object instance to be used for + returning the specified column value to the SQLite core library. + + + The zero-based index corresponding to the column containing the + value to be returned. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance + associated with the previously opened virtual table cursor to be + used. + + + Upon success, this parameter must be modified to contain the unique + integer row identifier for the current row for the specified cursor. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + The array of object instances containing + the new or modified column values, if any. + + + Upon success, this parameter must be modified to contain the unique + integer row identifier for the row that was inserted, if any. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + The number of arguments to the function being sought. + + + The name of the function being sought. + + + Upon success, this parameter must be modified to contain the + object instance responsible for + implementing the specified function. + + + Upon success, this parameter must be modified to contain the + native user-data pointer associated with + . + + + Non-zero if the specified function was found; zero otherwise. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + The new name for the virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + This is an integer identifier under which the the current state of + the virtual table should be saved. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + This is an integer used to indicate that any saved states with an + identifier greater than or equal to this should be deleted by the + virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + This is an integer identifier used to specify a specific saved + state for the virtual table for it to restore itself back to, which + should also have the effect of deleting all saved states with an + integer identifier greater than this one. + + + A standard SQLite return code. + + + + + Disposes of this object instance. + + + + + Throws an if this object + instance has been disposed. + + + + + Disposes of this object instance. + + + Non-zero if this method is being called from the + method. Zero if this method is being + called from the finalizer. + + + + + Finalizes this object instance. + + + + + Returns or sets a boolean value indicating whether virtual table + errors should be logged using the class. + + + + + Returns or sets a boolean value indicating whether exceptions + caught in the + method, + the method, + the method, + the method, + and the method should be logged using the + class. + + + + + Returns or sets a boolean value indicating whether virtual table + errors should be logged using the class. + + + + + Returns or sets a boolean value indicating whether exceptions + caught in the + method, + method, and the + method should be logged using the + class. + + + + + Returns non-zero if the schema for the virtual table has been + declared. + + + + + Returns the name of the module as it was registered with the SQLite + core library. + + + + + This class implements the + interface by forwarding those method calls to the + object instance it contains. If the + contained object instance is null, all + the methods simply generate an + error. + + + + + This is the value that is always used for the "logErrors" + parameter to the various static error handling methods provided + by the class. + + + + + This is the value that is always used for the "logExceptions" + parameter to the various static error handling methods provided + by the class. + + + + + This is the error message text used when the contained + object instance is not available + for any reason. + + + + + The object instance used to provide + an implementation of the + interface. + + + + + Constructs an instance of this class. + + + The object instance used to provide + an implementation of the + interface. + + + + + Sets the table error message to one that indicates the native + module implementation is not available. + + + The native pointer to the sqlite3_vtab derived structure. + + + The value of . + + + + + Sets the table error message to one that indicates the native + module implementation is not available. + + + The native pointer to the sqlite3_vtab_cursor derived + structure. + + + The value of . + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + Disposes of this object instance. + + + + + Throws an if this object + instance has been disposed. + + + + + Disposes of this object instance. + + + Non-zero if this method is being called from the + method. Zero if this method is being + called from the finalizer. + + + + + Finalizes this object instance. + + + + + This class contains some virtual methods that may be useful for other + virtual table classes. It specifically does NOT implement any of the + interface methods. + + + + + This class implements a virtual table module that does nothing by + providing "empty" implementations for all of the + interface methods. The result + codes returned by these "empty" method implementations may be + controlled on a per-method basis by using and/or overriding the + , + , + , + , and + methods from within derived classes. + + + + + This field is used to store the + values to return, on a per-method basis, for all methods that are + part of the interface. + + + + + Constructs an instance of this class. + + + The name of the module. This parameter cannot be null. + + + + + Determines the default value to be + returned by methods of the + interface that lack an overridden implementation in all classes + derived from the class. + + + The value that should be returned + by all interface methods unless + a more specific result code has been set for that interface method. + + + + + Converts a value into a boolean + return value for use with the + method. + + + The value to convert. + + + The value. + + + + + Converts a value into a boolean + return value for use with the + method. + + + The value to convert. + + + The value. + + + + + Determines the value that should be + returned by the specified + interface method if it lack an overridden implementation. If no + specific value is available (or set) + for the specified method, the value + returned by the method will be + returned instead. + + + The name of the method. Currently, this method must be part of + the interface. + + + The value that should be returned + by the interface method. + + + + + Sets the value that should be + returned by the specified + interface method if it lack an overridden implementation. + + + The name of the method. Currently, this method must be part of + the interface. + + + The value that should be returned + by the interface method. + + + Non-zero upon success. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + Throws an if this object + instance has been disposed. + + + + + Disposes of this object instance. + + + Non-zero if this method is being called from the + method. Zero if this method is + being called from the finalizer. + + + + + The CREATE TABLE statement used to declare the schema for the + virtual table. + + + + + Non-zero if different object instances with the same value should + generate different row identifiers, where applicable. This has no + effect on the .NET Compact Framework. + + + + + Constructs an instance of this class. + + + The name of the module. This parameter cannot be null. + + + + + Constructs an instance of this class. + + + The name of the module. This parameter cannot be null. + + + Non-zero if different object instances with the same value should + generate different row identifiers, where applicable. This + parameter has no effect on the .NET Compact Framework. + + + + + Determines the SQL statement used to declare the virtual table. + This method should be overridden in derived classes if they require + a custom virtual table schema. + + + The SQL statement used to declare the virtual table -OR- null if it + cannot be determined. + + + + + Sets the table error message to one that indicates the virtual + table cursor is of the wrong type. + + + The object instance. + + + The that the virtual table cursor should be. + + + The value of . + + + + + Determines the string to return as the column value for the object + instance value. + + + The object instance + associated with the previously opened virtual table cursor to be + used. + + + The object instance to return a string representation for. + + + The string representation of the specified object instance or null + upon failure. + + + + + Constructs an unique row identifier from two + values. The first value + must contain the row sequence number for the current row and the + second value must contain the hash code of the key column value + for the current row. + + + The integer row sequence number for the current row. + + + The hash code of the key column value for the current row. + + + The unique row identifier or zero upon failure. + + + + + Determines the unique row identifier for the current row. + + + The object instance + associated with the previously opened virtual table cursor to be + used. + + + The object instance to return a unique row identifier for. + + + The unique row identifier or zero upon failure. + + + + + Throws an if this object + instance has been disposed. + + + + + Disposes of this object instance. + + + Non-zero if this method is being called from the + method. Zero if this method is + being called from the finalizer. + + + + + This class represents a virtual table cursor to be used with the + class. It is not sealed and may + be used as the base class for any user-defined virtual table cursor + class that wraps an object instance. + + + + + The instance provided when this cursor + was created. + + + + + This value will be non-zero if false has been returned from the + method. + + + + + Constructs an instance of this class. + + + The object instance associated + with this object instance. + + + The instance to expose as a virtual + table cursor. + + + + + Advances to the next row of the virtual table cursor using the + method of the + object instance. + + + Non-zero if the current row is valid; zero otherwise. If zero is + returned, no further rows are available. + + + + + Resets the virtual table cursor position, also invalidating the + current row, using the method of + the object instance. + + + + + Closes the virtual table cursor. This method must not throw any + exceptions. + + + + + Throws an if the virtual + table cursor has been closed. + + + + + Throws an if this object + instance has been disposed. + + + + + Disposes of this object instance. + + + Non-zero if this method is being called from the + method. Zero if this method is + being called from the finalizer. + + + + + Returns the value for the current row of the virtual table cursor + using the property of the + object instance. + + + + + Returns non-zero if the end of the virtual table cursor has been + seen (i.e. no more rows are available, including the current one). + + + + + Returns non-zero if the virtual table cursor is open. + + + + + This class implements a virtual table module that exposes an + object instance as a read-only virtual + table. It is not sealed and may be used as the base class for any + user-defined virtual table class that wraps an + object instance. The following short + example shows it being used to treat an array of strings as a table + data source: + + public static class Sample + { + public static void Main() + { + using (SQLiteConnection connection = new SQLiteConnection( + "Data Source=:memory:;")) + { + connection.Open(); + + connection.CreateModule(new SQLiteModuleEnumerable( + "sampleModule", new string[] { "one", "two", "three" })); + + using (SQLiteCommand command = connection.CreateCommand()) + { + command.CommandText = + "CREATE VIRTUAL TABLE t1 USING sampleModule;"; + + command.ExecuteNonQuery(); + } + + using (SQLiteCommand command = connection.CreateCommand()) + { + command.CommandText = "SELECT * FROM t1;"; + + using (SQLiteDataReader dataReader = command.ExecuteReader()) + { + while (dataReader.Read()) + Console.WriteLine(dataReader[0].ToString()); + } + } + + connection.Close(); + } + } + } + + + + + + The instance containing the backing data + for the virtual table. + + + + + Non-zero if different object instances with the same value should + generate different row identifiers, where applicable. This has no + effect on the .NET Compact Framework. + + + + + Constructs an instance of this class. + + + The name of the module. This parameter cannot be null. + + + The instance to expose as a virtual + table. This parameter cannot be null. + + + + + Constructs an instance of this class. + + + The name of the module. This parameter cannot be null. + + + The instance to expose as a virtual + table. This parameter cannot be null. + + + Non-zero if different object instances with the same value should + generate different row identifiers, where applicable. This + parameter has no effect on the .NET Compact Framework. + + + + + Sets the table error message to one that indicates the virtual + table cursor has no current row. + + + The object instance. + + + The value of . + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + Throws an if this object + instance has been disposed. + + + + + Disposes of this object instance. + + + Non-zero if this method is being called from the + method. Zero if this method is + being called from the finalizer. + + + + + This class represents a virtual table cursor to be used with the + class. It is not sealed and may + be used as the base class for any user-defined virtual table cursor + class that wraps an object instance. + + + + + The instance provided when this + cursor was created. + + + + + Constructs an instance of this class. + + + The object instance associated + with this object instance. + + + The instance to expose as a virtual + table cursor. + + + + + Closes the virtual table cursor. This method must not throw any + exceptions. + + + + + Throws an if this object + instance has been disposed. + + + + + Disposes of this object instance. + + + Non-zero if this method is being called from the + method. Zero if this method is + being called from the finalizer. + + + + + Returns the value for the current row of the virtual table cursor + using the property of the + object instance. + + + + + This class implements a virtual table module that exposes an + object instance as a read-only virtual + table. It is not sealed and may be used as the base class for any + user-defined virtual table class that wraps an + object instance. + + + + + The instance containing the backing + data for the virtual table. + + + + + Constructs an instance of this class. + + + The name of the module. This parameter cannot be null. + + + The instance to expose as a virtual + table. This parameter cannot be null. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + Throws an if this object + instance has been disposed. + + + + + Disposes of this object instance. + + + Non-zero if this method is being called from the + method. Zero if this method is + being called from the finalizer. + + + + + This enumerated type represents a type of conflict seen when apply + changes from a change set or patch set. + + + + + This value is seen when processing a DELETE or UPDATE change if a + row with the required PRIMARY KEY fields is present in the + database, but one or more other (non primary-key) fields modified + by the update do not contain the expected "before" values. + + + + + This value is seen when processing a DELETE or UPDATE change if a + row with the required PRIMARY KEY fields is not present in the + database. There is no conflicting row in this case. + + The results of invoking the + + method are undefined. + + + + + This value is seen when processing an INSERT change if the + operation would result in duplicate primary key values. + The conflicting row in this case is the database row with the + matching primary key. + + + + + If a non-foreign key constraint violation occurs while applying a + change (i.e. a UNIQUE, CHECK or NOT NULL constraint), the conflict + callback will see this value. + + There is no conflicting row in this case. The results of invoking + the + method are undefined. + + + + + If foreign key handling is enabled, and applying a changes leaves + the database in a state containing foreign key violations, this + value will be seen exactly once before the changes are committed. + If the conflict handler + , the changes, + including those that caused the foreign key constraint violation, + are committed. Or, if it returns + , the changes are + rolled back. + + No current or conflicting row information is provided. The only + method it is possible to call on the supplied + object is + . + + + + + This enumerated type represents the result of a user-defined conflict + resolution callback. + + + + + If a conflict callback returns this value no special action is + taken. The change that caused the conflict is not applied. The + application of changes continues with the next change. + + + + + This value may only be returned from a conflict callback if the + type of conflict was + or . If this is + not the case, any changes applied so far are rolled back and the + call to + + will raise a with an error code of + . + + If this value is returned for a + conflict, then the + conflicting row is either updated or deleted, depending on the type + of change. + + If this value is returned for a + conflict, then + the conflicting row is removed from the database and a second + attempt to apply the change is made. If this second attempt fails, + the original row is restored to the database before continuing. + + + + + If this value is returned, any changes applied so far are rolled + back and the call to + + will raise a with an error code of + . + + + + + This enumerated type represents possible flags that may be passed + to the appropriate overloads of various change set creation methods. + + + + + No special handling. + + + + + Invert the change set while iterating through it. + This is equivalent to inverting a change set using + before + applying it. It is an error to specify this flag + with a patch set. + + + + + This callback is invoked when a determination must be made about + whether changes to a specific table should be tracked -OR- applied. + It will not be called for tables that are already attached to a + . + + + The optional application-defined context data that was originally + passed to the or + + methods. This value may be null. + + + The name of the table. + + + Non-zero if changes to the table should be considered; otherwise, + zero. Throwing an exception from this callback will result in + undefined behavior. + + + + + This callback is invoked when there is a conflict while apply changes + to a database. + + + The optional application-defined context data that was originally + passed to the + + method. This value may be null. + + + The type of this conflict. + + + The object associated with + this conflict. This value may not be null; however, only properties + that are applicable to the conflict type will be available. Further + information on this is available within the descriptions of the + available values. + + + A value that indicates the + action to be taken in order to resolve the conflict. Throwing an + exception from this callback will result in undefined behavior. + + + + + This interface contains methods used to manipulate a set of changes for + a database. + + + + + This method "inverts" the set of changes within this instance. + Applying an inverted set of changes to a database reverses the + effects of applying the uninverted changes. Specifically: + ]]>]]> + Each DELETE change is changed to an INSERT, and + ]]>]]> + Each INSERT change is changed to a DELETE, and + ]]>]]> + For each UPDATE change, the old.* and new.* values are exchanged. + ]]>]]> + This method does not change the order in which changes appear + within the set of changes. It merely reverses the sense of each + individual change. + + + The new instance that represents + the resulting set of changes -OR- null if it is not available. + + + + + This method combines the specified set of changes with the ones + contained in this instance. + + + The changes to be combined with those in this instance. + + + The new instance that represents + the resulting set of changes -OR- null if it is not available. + + + + + Attempts to apply the set of changes in this instance to the + associated database. + + + The delegate that will need + to handle any conflicting changes that may arise. + + + The optional application-defined context data. This value may be + null. + + + + + Attempts to apply the set of changes in this instance to the + associated database. + + + The delegate that will need + to handle any conflicting changes that may arise. + + + The optional delegate + that can be used to filter the list of tables impacted by the set + of changes. + + + The optional application-defined context data. This value may be + null. + + + + + This interface contains methods used to manipulate multiple sets of + changes for a database. + + + + + Attempts to add a change set (or patch set) to this change group + instance. The underlying data must be contained entirely within + the byte array. + + + The raw byte data for the specified change set (or patch set). + + + + + Attempts to add a change set (or patch set) to this change group + instance. The underlying data will be read from the specified + . + + + The instance containing the raw change set + (or patch set) data to read. + + + + + Attempts to create and return, via , the + combined set of changes represented by this change group instance. + + + Upon success, this will contain the raw byte data for all the + changes in this change group instance. + + + + + Attempts to create and write, via , the + combined set of changes represented by this change group instance. + + + Upon success, the raw byte data for all the changes in this change + group instance will be written to this . + + + + + This interface contains properties and methods used to fetch metadata + about one change within a set of changes for a database. + + + + + Queries and returns the original value of a given column for this + change. This method may only be called when the + has a value of + or + . + + + The index for the column. This value must be between zero and one + less than the total number of columns for this table. + + + The original value of a given column for this change. + + + + + Queries and returns the updated value of a given column for this + change. This method may only be called when the + has a value of + or + . + + + The index for the column. This value must be between zero and one + less than the total number of columns for this table. + + + The updated value of a given column for this change. + + + + + Queries and returns the conflicting value of a given column for + this change. This method may only be called from within a + delegate when the conflict + type is or + . + + + The index for the column. This value must be between zero and one + less than the total number of columns for this table. + + + The conflicting value of a given column for this change. + + + + + The name of the table the change was made to. + + + + + The number of columns impacted by this change. This value can be + used to determine the highest valid column index that may be used + with the , , + and methods of this interface. It + will be this value minus one. + + + + + This will contain the value + , + , or + , corresponding to + the overall type of change this item represents. + + + + + Non-zero if this change is considered to be indirect (i.e. as + though they were made via a trigger or foreign key action). + + + + + This array contains a for each column in + the table associated with this change. The element will be zero + if the column is not part of the primary key; otherwise, it will + be non-zero. + + + + + This method may only be called from within a + delegate when the conflict + type is . It + returns the total number of known foreign key violations in the + destination database. + + + + + This interface contains methods to query and manipulate the state of a + change tracking session for a database. + + + + + Determines if this session is currently tracking changes to its + associated database. + + + Non-zero if changes to the associated database are being trakced; + otherwise, zero. + + + + + Enables tracking of changes to the associated database. + + + + + Disables tracking of changes to the associated database. + + + + + Determines if this session is currently set to mark changes as + indirect (i.e. as though they were made via a trigger or foreign + key action). + + + Non-zero if changes to the associated database are being marked as + indirect; otherwise, zero. + + + + + Sets the indirect flag for this session. Subsequent changes will + be marked as indirect until this flag is changed again. + + + + + Clears the indirect flag for this session. Subsequent changes will + be marked as direct until this flag is changed again. + + + + + Determines if there are any tracked changes currently within the + data for this session. + + + Non-zero if there are no changes within the data for this session; + otherwise, zero. + + + + + Upon success, causes changes to the specified table(s) to start + being tracked. Any tables impacted by calls to this method will + not cause the callback + to be invoked. + + + The name of the table to be tracked -OR- null to track all + applicable tables within this database. + + + + + This method is used to set the table filter for this instance. + + + The table filter callback -OR- null to clear any existing table + filter callback. + + + The optional application-defined context data. This value may be + null. + + + + + Attempts to create and return, via , the + combined set of changes represented by this session instance. + + + Upon success, this will contain the raw byte data for all the + changes in this session instance. + + + + + Attempts to create and write, via , the + combined set of changes represented by this session instance. + + + Upon success, the raw byte data for all the changes in this session + instance will be written to this . + + + + + Attempts to create and return, via , the + combined set of changes represented by this session instance as a + patch set. + + + Upon success, this will contain the raw byte data for all the + changes in this session instance. + + + + + Attempts to create and write, via , the + combined set of changes represented by this session instance as a + patch set. + + + Upon success, the raw byte data for all the changes in this session + instance will be written to this . + + + + + This method loads the differences between two tables [with the same + name, set of columns, and primary key definition] into this session + instance. + + + The name of the database containing the table with the original + data (i.e. it will need updating in order to be identical to the + one within the database associated with this session instance). + + + The name of the table. + + + + + This class contains some static helper methods for use within this + subsystem. + + + + + This method checks the byte array specified by the caller to make + sure it will be usable. + + + A byte array provided by the caller into one of the public methods + for the classes that belong to this subsystem. This value cannot + be null or represent an empty array; otherwise, an appropriate + exception will be thrown. + + + + + This class is used to hold the native connection handle associated with + a open until this subsystem is totally + done with it. This class is for internal use by this subsystem only. + + + + + The SQL statement used when creating the native statement handle. + There are no special requirements for this other than counting as + an "open statement handle". + + + + + The format of the error message used when reporting, during object + disposal, that the statement handle is still open (i.e. because + this situation is considered a fairly serious programming error). + + + + + The wrapped native connection handle associated with this lock. + + + + + The flags associated with the connection represented by the + value. + + + + + The native statement handle for this lock. The garbage collector + cannot cause this statement to be finalized; therefore, it will + serve to hold the associated native connection open until it is + freed manually using the method. + + + + + Constructs a new instance of this class using the specified wrapped + native connection handle and associated flags. + + + The wrapped native connection handle to be associated with this + lock. + + + The flags associated with the connection represented by the + value. + + + Non-zero if the method should be called prior + to returning from this constructor. + + + + + Queries and returns the wrapped native connection handle for this + instance. + + + The wrapped native connection handle for this instance -OR- null + if it is unavailable. + + + + + Queries and returns the flags associated with the connection for + this instance. + + + The value. There is no return + value reserved to indicate an error. + + + + + Queries and returns the native connection handle for this instance. + + + The native connection handle for this instance. If this value is + unavailable or invalid an exception will be thrown. + + + + + This method attempts to "lock" the associated native connection + handle by preparing a SQL statement that will not be finalized + until the method is called (i.e. and which + cannot be done by the garbage collector). If the statement is + already prepared, nothing is done. If the statement cannot be + prepared for any reason, an exception will be thrown. + + + + + This method attempts to "unlock" the associated native connection + handle by finalizing the previously prepared statement. If the + statement is already finalized, nothing is done. If the statement + cannot be finalized for any reason, an exception will be thrown. + + + + + Disposes of this object instance. + + + + + Non-zero if this object instance has been disposed. + + + + + Throws an exception if this object instance has been disposed. + + + + + Disposes or finalizes this object instance. + + + Non-zero if this object is being disposed; otherwise, this object + is being finalized. + + + + + Finalizes this object instance. + + + + + This class manages the native change set iterator. It is used as the + base class for the and + classes. It knows how to + advance the native iterator handle as well as finalize it. + + + + + The native change set (a.k.a. iterator) handle. + + + + + Non-zero if this instance owns the native iterator handle in the + field. In that case, this instance will + finalize the native iterator handle upon being disposed or + finalized. + + + + + Constructs a new instance of this class using the specified native + iterator handle. + + + The native iterator handle to use. + + + Non-zero if this instance is to take ownership of the native + iterator handle specified by . + + + + + Throws an exception if the native iterator handle is invalid. + + + + + Used to query the native iterator handle. This method is only used + by the class. + + + The native iterator handle -OR- if it + is not available. + + + + + Attempts to advance the native iterator handle to its next item. + + + Non-zero if the native iterator handle was advanced and contains + more data; otherwise, zero. If the underlying native API returns + an unexpected value then an exception will be thrown. + + + + + Attempts to create an instance of this class that is associated + with the specified native iterator handle. Ownership of the + native iterator handle is NOT transferred to the new instance of + this class. + + + The native iterator handle to use. + + + The new instance of this class. No return value is reserved to + indicate an error; however, if the native iterator handle is not + valid, any subsequent attempt to make use of it via the returned + instance of this class may throw exceptions. + + + + + Disposes of this object instance. + + + + + Non-zero if this object instance has been disposed. + + + + + Throws an exception if this object instance has been disposed. + + + + + Disposes or finalizes this object instance. + + + Non-zero if this object is being disposed; otherwise, this object + is being finalized. + + + + + Finalizes this object instance. + + + + + This class manages the native change set iterator for a set of changes + contained entirely in memory. + + + + + The native memory buffer allocated to contain the set of changes + associated with this instance. This will always be freed when this + instance is disposed or finalized. + + + + + Constructs an instance of this class using the specified native + memory buffer and native iterator handle. + + + The native memory buffer to use. + + + The native iterator handle to use. + + + Non-zero if this instance is to take ownership of the native + iterator handle specified by . + + + + + Attempts to create an instance of this class using the specified + raw byte data. + + + The raw byte data containing the set of changes for this native + iterator. + + + The new instance of this class -OR- null if it cannot be created. + + + + + Attempts to create an instance of this class using the specified + raw byte data. + + + The raw byte data containing the set of changes for this native + iterator. + + + The flags used to create the change set iterator. + + + The new instance of this class -OR- null if it cannot be created. + + + + + Non-zero if this object instance has been disposed. + + + + + Throws an exception if this object instance has been disposed. + + + + + Disposes or finalizes this object instance. + + + Non-zero if this object is being disposed; otherwise, this object + is being finalized. + + + + + This class manages the native change set iterator for a set of changes + backed by a instance. + + + + + The instance that is managing + the underlying used as the backing store for + the set of changes associated with this native change set iterator. + + + + + Constructs an instance of this class using the specified native + iterator handle and . + + + The instance to use. + + + The native iterator handle to use. + + + Non-zero if this instance is to take ownership of the native + iterator handle specified by . + + + + + Attempts to create an instance of this class using the specified + . + + + The where the raw byte data for the set of + changes may be read. + + + The flags associated with the parent connection. + + + The new instance of this class -OR- null if it cannot be created. + + + + + Attempts to create an instance of this class using the specified + . + + + The where the raw byte data for the set of + changes may be read. + + + The flags associated with the parent connection. + + + The flags used to create the change set iterator. + + + The new instance of this class -OR- null if it cannot be created. + + + + + Non-zero if this object instance has been disposed. + + + + + Throws an exception if this object instance has been disposed. + + + + + Disposes or finalizes this object instance. + + + Non-zero if this object is being disposed; otherwise, this object + is being finalized. + + + + + This class is used to act as a bridge between a + instance and the delegates used with the native streaming API. + + + + + The managed stream instance used to in order to service the native + delegates for both input and output. + + + + + The flags associated with the connection. + + + + + The delegate used to provide input to the native streaming API. + It will be null -OR- point to the method. + + + + + The delegate used to provide output to the native streaming API. + It will be null -OR- point to the method. + + + + + Constructs a new instance of this class using the specified managed + stream and connection flags. + + + The managed stream instance to be used in order to service the + native delegates for both input and output. + + + The flags associated with the parent connection. + + + + + Queries and returns the flags associated with the connection for + this instance. + + + The value. There is no return + value reserved to indicate an error. + + + + + Returns a delegate that wraps the method, + creating it first if necessary. + + + A delegate that refers to the method. + + + + + Returns a delegate that wraps the method, + creating it first if necessary. + + + A delegate that refers to the method. + + + + + This method attempts to read bytes from + the managed stream, writing them to the + buffer. + + + Optional extra context information. Currently, this will always + have a value of . + + + A preallocated native buffer to receive the requested input bytes. + It must be at least bytes in size. + + + Upon entry, the number of bytes to read. Upon exit, the number of + bytes actually read. This value may be zero upon exit. + + + The value upon success -OR- an + appropriate error code upon failure. + + + + + This method attempts to write bytes to + the managed stream, reading them from the + buffer. + + + Optional extra context information. Currently, this will always + have a value of . + + + A preallocated native buffer containing the requested output + bytes. It must be at least bytes in + size. + + + The number of bytes to write. + + + The value upon success -OR- an + appropriate error code upon failure. + + + + + Disposes of this object instance. + + + + + Non-zero if this object instance has been disposed. + + + + + Throws an exception if this object instance has been disposed. + + + + + Disposes or finalizes this object instance. + + + Non-zero if this object is being disposed; otherwise, this object + is being finalized. + + + + + Finalizes this object instance. + + + + + This class manages a collection of + instances. When used, it takes responsibility for creating, returning, + and disposing of its instances. + + + + + The managed collection of + instances, keyed by their associated + instance. + + + + + The flags associated with the connection. + + + + + Constructs a new instance of this class using the specified + connection flags. + + + The flags associated with the parent connection. + + + + + Makes sure the collection of + is created. + + + + + Makes sure the collection of + is disposed. + + + + + Attempts to return a instance + suitable for the specified . + + + The instance. If this value is null, a null + value will be returned. + + + A instance. Typically, these + are always freshly created; however, this method is designed to + return the existing instance + associated with the specified stream, should one exist. + + + + + Disposes of this object instance. + + + + + Non-zero if this object instance has been disposed. + + + + + Throws an exception if this object instance has been disposed. + + + + + Disposes or finalizes this object instance. + + + Non-zero if this object is being disposed; otherwise, this object + is being finalized. + + + + + Finalizes this object instance. + + + + + This class represents a group of change sets (or patch sets). + + + + + The instance associated + with this change group. + + + + + The flags associated with the connection. + + + + + The native handle for this change group. This will be deleted when + this instance is disposed or finalized. + + + + + Constructs a new instance of this class using the specified + connection flags. + + + The flags associated with the parent connection. + + + + + Throws an exception if the native change group handle is invalid. + + + + + Makes sure the native change group handle is valid, creating it if + necessary. + + + + + Makes sure the instance + is available, creating it if necessary. + + + + + Attempts to return a instance + suitable for the specified . + + + The instance. If this value is null, a null + value will be returned. + + + A instance. Typically, these + are always freshly created; however, this method is designed to + return the existing instance + associated with the specified stream, should one exist. + + + + + Attempts to add a change set (or patch set) to this change group + instance. The underlying data must be contained entirely within + the byte array. + + + The raw byte data for the specified change set (or patch set). + + + + + Attempts to add a change set (or patch set) to this change group + instance. The underlying data will be read from the specified + . + + + The instance containing the raw change set + (or patch set) data to read. + + + + + Attempts to create and return, via , the + combined set of changes represented by this change group instance. + + + Upon success, this will contain the raw byte data for all the + changes in this change group instance. + + + + + Attempts to create and write, via , the + combined set of changes represented by this change group instance. + + + Upon success, the raw byte data for all the changes in this change + group instance will be written to this . + + + + + Disposes of this object instance. + + + + + Non-zero if this object instance has been disposed. + + + + + Throws an exception if this object instance has been disposed. + + + + + Disposes or finalizes this object instance. + + + Non-zero if this object is being disposed; otherwise, this object + is being finalized. + + + + + Finalizes this object instance. + + + + + This class represents the change tracking session associated with a + database. + + + + + The instance associated + with this session. + + + + + The name of the database (e.g. "main") for this session. + + + + + The native handle for this session. This will be deleted when + this instance is disposed or finalized. + + + + + The delegate used to provide table filtering to the native API. + It will be null -OR- point to the method. + + + + + The managed callback used to filter tables for this session. Set + via the method. + + + + + The optional application-defined context data that was passed to + the method. This value may be null. + + + + + Constructs a new instance of this class using the specified wrapped + native connection handle and associated flags. + + + The wrapped native connection handle to be associated with this + session. + + + The flags associated with the connection represented by the + value. + + + The name of the database (e.g. "main") for this session. + + + + + Throws an exception if the native session handle is invalid. + + + + + Makes sure the native session handle is valid, creating it if + necessary. + + + + + This method sets up the internal table filtering associated state + of this instance. + + + The table filter callback -OR- null to clear any existing table + filter callback. + + + The optional application-defined context data. This value may be + null. + + + The native + delegate -OR- null to clear any existing table filter. + + + + + Makes sure the instance + is available, creating it if necessary. + + + + + Attempts to return a instance + suitable for the specified . + + + The instance. If this value is null, a null + value will be returned. + + + A instance. Typically, these + are always freshly created; however, this method is designed to + return the existing instance + associated with the specified stream, should one exist. + + + + + This method is called when determining if a table needs to be + included in the tracked changes for the associated database. + + + Optional extra context information. Currently, this will always + have a value of . + + + The native pointer to the name of the table. + + + Non-zero if changes to the specified table should be considered; + otherwise, zero. + + + + + Determines if this session is currently tracking changes to its + associated database. + + + Non-zero if changes to the associated database are being trakced; + otherwise, zero. + + + + + Enables tracking of changes to the associated database. + + + + + Disables tracking of changes to the associated database. + + + + + Determines if this session is currently set to mark changes as + indirect (i.e. as though they were made via a trigger or foreign + key action). + + + Non-zero if changes to the associated database are being marked as + indirect; otherwise, zero. + + + + + Sets the indirect flag for this session. Subsequent changes will + be marked as indirect until this flag is changed again. + + + + + Clears the indirect flag for this session. Subsequent changes will + be marked as direct until this flag is changed again. + + + + + Determines if there are any tracked changes currently within the + data for this session. + + + Non-zero if there are no changes within the data for this session; + otherwise, zero. + + + + + Upon success, causes changes to the specified table(s) to start + being tracked. Any tables impacted by calls to this method will + not cause the callback + to be invoked. + + + The name of the table to be tracked -OR- null to track all + applicable tables within this database. + + + + + This method is used to set the table filter for this instance. + + + The table filter callback -OR- null to clear any existing table + filter callback. + + + The optional application-defined context data. This value may be + null. + + + + + Attempts to create and return, via , the + set of changes represented by this session instance. + + + Upon success, this will contain the raw byte data for all the + changes in this session instance. + + + + + Attempts to create and write, via , the + set of changes represented by this session instance. + + + Upon success, the raw byte data for all the changes in this session + instance will be written to this . + + + + + Attempts to create and return, via , the + set of changes represented by this session instance as a patch set. + + + Upon success, this will contain the raw byte data for all the + changes in this session instance. + + + + + Attempts to create and write, via , the + set of changes represented by this session instance as a patch set. + + + Upon success, the raw byte data for all the changes in this session + instance will be written to this . + + + + + This method loads the differences between two tables [with the same + name, set of columns, and primary key definition] into this session + instance. + + + The name of the database containing the table with the original + data (i.e. it will need updating in order to be identical to the + one within the database associated with this session instance). + + + The name of the table. + + + + + Non-zero if this object instance has been disposed. + + + + + Throws an exception if this object instance has been disposed. + + + + + Disposes or finalizes this object instance. + + + Non-zero if this object is being disposed; otherwise, this object + is being finalized. + + + + + This class represents the abstract concept of a set of changes. It + acts as the base class for the + and classes. It derives from + the class, which is used to hold + the underlying native connection handle open until the instances of + this class are disposed or finalized. It also provides the ability + to construct wrapped native delegates of the + and + types. + + + + + Constructs an instance of this class using the specified wrapped + native connection handle. + + + The wrapped native connection handle to be associated with this + change set. + + + The flags associated with the connection represented by the + value. + + + + + Creates and returns a concrete implementation of the + interface. + + + The native iterator handle to use. + + + An instance of the + interface, which can be used to fetch metadata associated with + the current item in this set of changes. + + + + + Attempts to create a + native delegate + that invokes the specified + delegate. + + + The to invoke when the + native delegate + is called. If this value is null then null is returned. + + + The optional application-defined context data. This value may be + null. + + + The created + native delegate -OR- null if it cannot be created. + + + + + Attempts to create a + native delegate + that invokes the specified + delegate. + + + The to invoke when the + native delegate + is called. If this value is null then null is returned. + + + The optional application-defined context data. This value may be + null. + + + The created + native delegate -OR- null if it cannot be created. + + + + + Non-zero if this object instance has been disposed. + + + + + Throws an exception if this object instance has been disposed. + + + + + Disposes or finalizes this object instance. + + + Non-zero if this object is being disposed; otherwise, this object + is being finalized. + + + + + This class represents a set of changes contained entirely in memory. + + + + + The raw byte data for this set of changes. Since this data must + be marshalled to a native memory buffer before being used, there + must be enough memory available to store at least two times the + amount of data contained within it. + + + + + The flags used to create the change set iterator. + + + + + Constructs an instance of this class using the specified raw byte + data and wrapped native connection handle. + + + The raw byte data for the specified change set (or patch set). + + + The wrapped native connection handle to be associated with this + set of changes. + + + The flags associated with the connection represented by the + value. + + + + + Constructs an instance of this class using the specified raw byte + data and wrapped native connection handle. + + + The raw byte data for the specified change set (or patch set). + + + The wrapped native connection handle to be associated with this + set of changes. + + + The flags associated with the connection represented by the + value. + + + The flags used to create the change set iterator. + + + + + This method "inverts" the set of changes within this instance. + Applying an inverted set of changes to a database reverses the + effects of applying the uninverted changes. Specifically: + ]]>]]> + Each DELETE change is changed to an INSERT, and + ]]>]]> + Each INSERT change is changed to a DELETE, and + ]]>]]> + For each UPDATE change, the old.* and new.* values are exchanged. + ]]>]]> + This method does not change the order in which changes appear + within the set of changes. It merely reverses the sense of each + individual change. + + + The new instance that represents + the resulting set of changes. + + + + + This method combines the specified set of changes with the ones + contained in this instance. + + + The changes to be combined with those in this instance. + + + The new instance that represents + the resulting set of changes. + + + + + Attempts to apply the set of changes in this instance to the + associated database. + + + The delegate that will need + to handle any conflicting changes that may arise. + + + The optional application-defined context data. This value may be + null. + + + + + Attempts to apply the set of changes in this instance to the + associated database. + + + The delegate that will need + to handle any conflicting changes that may arise. + + + The optional delegate + that can be used to filter the list of tables impacted by the set + of changes. + + + The optional application-defined context data. This value may be + null. + + + + + Creates an capable of iterating over the + items within this set of changes. + + + The new + instance. + + + + + Creates an capable of iterating over the + items within this set of changes. + + + The new instance. + + + + + Non-zero if this object instance has been disposed. + + + + + Throws an exception if this object instance has been disposed. + + + + + Disposes or finalizes this object instance. + + + Non-zero if this object is being disposed; otherwise, this object + is being finalized. + + + + + This class represents a set of changes that are backed by a + instance. + + + + + The instance that is managing + the underlying input used as the backing + store for the set of changes associated with this instance. + + + + + The instance that is managing + the underlying output used as the backing + store for the set of changes generated by the + or methods. + + + + + The instance used as the backing store for + the set of changes associated with this instance. + + + + + The instance used as the backing store for + the set of changes generated by the or + methods. + + + + + The flags used to create the change set iterator. + + + + + Constructs an instance of this class using the specified streams + and wrapped native connection handle. + + + The where the raw byte data for the set of + changes may be read. + + + The where the raw byte data for resulting + sets of changes may be written. + + + The wrapped native connection handle to be associated with this + set of changes. + + + The flags associated with the connection represented by the + value. + + + + + Constructs an instance of this class using the specified streams + and wrapped native connection handle. + + + The where the raw byte data for the set of + changes may be read. + + + The where the raw byte data for resulting + sets of changes may be written. + + + The wrapped native connection handle to be associated with this + set of changes. + + + The flags associated with the connection represented by the + value. + + + The flags used to create the change set iterator. + + + + + Throws an exception if the input stream or its associated stream + adapter are invalid. + + + + + Throws an exception if the output stream or its associated stream + adapter are invalid. + + + + + This method "inverts" the set of changes within this instance. + Applying an inverted set of changes to a database reverses the + effects of applying the uninverted changes. Specifically: + ]]>]]> + Each DELETE change is changed to an INSERT, and + ]]>]]> + Each INSERT change is changed to a DELETE, and + ]]>]]> + For each UPDATE change, the old.* and new.* values are exchanged. + ]]>]]> + This method does not change the order in which changes appear + within the set of changes. It merely reverses the sense of each + individual change. + + + Since the resulting set of changes is written to the output stream, + this method always returns null. + + + + + This method combines the specified set of changes with the ones + contained in this instance. + + + The changes to be combined with those in this instance. + + + Since the resulting set of changes is written to the output stream, + this method always returns null. + + + + + Attempts to apply the set of changes in this instance to the + associated database. + + + The delegate that will need + to handle any conflicting changes that may arise. + + + The optional application-defined context data. This value may be + null. + + + + + Attempts to apply the set of changes in this instance to the + associated database. + + + The delegate that will need + to handle any conflicting changes that may arise. + + + The optional delegate + that can be used to filter the list of tables impacted by the set + of changes. + + + The optional application-defined context data. This value may be + null. + + + + + Creates an capable of iterating over the + items within this set of changes. + + + The new + instance. + + + + + Creates an capable of iterating over the + items within this set of changes. + + + The new instance. + + + + + Non-zero if this object instance has been disposed. + + + + + Throws an exception if this object instance has been disposed. + + + + + Disposes or finalizes this object instance. + + + Non-zero if this object is being disposed; otherwise, this object + is being finalized. + + + + + This class represents an that is capable of + enumerating over a set of changes. It serves as the base class for the + and + classes. It manages and + owns an instance of the class. + + + + + This managed change set iterator is managed and owned by this + class. It will be disposed when this class is disposed. + + + + + Constructs an instance of this class using the specified managed + change set iterator. + + + The managed iterator instance to use. + + + + + Throws an exception if the managed iterator instance is invalid. + + + + + Sets the managed iterator instance to a new value. + + + The new managed iterator instance to use. + + + + + Disposes of the managed iterator instance and sets its value to + null. + + + + + Disposes of the existing managed iterator instance and then sets it + to a new value. + + + The new managed iterator instance to use. + + + + + Attempts to advance to the next item in the set of changes. + + + Non-zero if more items are available; otherwise, zero. + + + + + Throws because not all the + derived classes are able to support reset functionality. + + + + + Disposes of this object instance. + + + + + Non-zero if this object instance has been disposed. + + + + + Throws an exception if this object instance has been disposed. + + + + + Disposes or finalizes this object instance. + + + Non-zero if this object is being disposed; otherwise, this object + is being finalized. + + + + + Finalizes this object instance. + + + + + Returns the current change within the set of changes, represented + by a instance. + + + + + Returns the current change within the set of changes, represented + by a instance. + + + + + This class represents an that is capable of + enumerating over a set of changes contained entirely in memory. + + + + + The raw byte data for this set of changes. Since this data must + be marshalled to a native memory buffer before being used, there + must be enough memory available to store at least two times the + amount of data contained within it. + + + + + The flags used to create the change set iterator. + + + + + Constructs an instance of this class using the specified raw byte + data. + + + The raw byte data containing the set of changes for this + enumerator. + + + + + Constructs an instance of this class using the specified raw byte + data. + + + The raw byte data containing the set of changes for this + enumerator. + + + The flags used to create the change set iterator. + + + + + Resets the enumerator to its initial position. + + + + + Non-zero if this object instance has been disposed. + + + + + Throws an exception if this object instance has been disposed. + + + + + Disposes or finalizes this object instance. + + + Non-zero if this object is being disposed; otherwise, this object + is being finalized. + + + + + This class represents an that is capable of + enumerating over a set of changes backed by a + instance. + + + + + Constructs an instance of this class using the specified stream. + + + The where the raw byte data for the set of + changes may be read. + + + The flags associated with the parent connection. + + + + + Constructs an instance of this class using the specified stream. + + + The where the raw byte data for the set of + changes may be read. + + + The flags associated with the parent connection. + + + The flags used to create the change set iterator. + + + + + Non-zero if this object instance has been disposed. + + + + + Throws an exception if this object instance has been disposed. + + + + + Disposes or finalizes this object instance. + + + Non-zero if this object is being disposed; otherwise, this object + is being finalized. + + + + + This interface implements properties and methods used to fetch metadata + about one change within a set of changes for a database. + + + + + The instance to use. This + will NOT be owned by this class and will not be disposed upon this + class being disposed or finalized. + + + + + Constructs an instance of this class using the specified iterator + instance. + + + The managed iterator instance to use. + + + + + Throws an exception if the managed iterator instance is invalid. + + + + + Populates the underlying data for the , + , , and + properties, using the appropriate native + API. + + + + + Populates the underlying data for the + property using the appropriate + native API. + + + + + Populates the underlying data for the + property using the + appropriate native API. + + + + + Backing field for the property. This value + will be null if this field has not yet been populated via the + underlying native API. + + + + + Backing field for the property. This + value will be null if this field has not yet been populated via the + underlying native API. + + + + + Backing field for the property. This + value will be null if this field has not yet been populated via the + underlying native API. + + + + + Backing field for the property. This value + will be null if this field has not yet been populated via the + underlying native API. + + + + + Backing field for the property. + This value will be null if this field has not yet been populated + via the underlying native API. + + + + + Backing field for the + property. This value will be null if this field has not yet been + populated via the underlying native API. + + + + + Queries and returns the original value of a given column for this + change. This method may only be called when the + has a value of + or + . + + + The index for the column. This value must be between zero and one + less than the total number of columns for this table. + + + The original value of a given column for this change. + + + + + Queries and returns the updated value of a given column for this + change. This method may only be called when the + has a value of + or + . + + + The index for the column. This value must be between zero and one + less than the total number of columns for this table. + + + The updated value of a given column for this change. + + + + + Queries and returns the conflicting value of a given column for + this change. This method may only be called from within a + delegate when the conflict + type is or + . + + + The index for the column. This value must be between zero and one + less than the total number of columns for this table. + + + The conflicting value of a given column for this change. + + + + + Disposes of this object instance. + + + + + Non-zero if this object instance has been disposed. + + + + + Throws an exception if this object instance has been disposed. + + + + + Disposes or finalizes this object instance. + + + Non-zero if this object is being disposed; otherwise, this object + is being finalized. + + + + + Finalizes this object instance. + + + + + The name of the table the change was made to. + + + + + The number of columns impacted by this change. This value can be + used to determine the highest valid column index that may be used + with the , , + and methods of this interface. It + will be this value minus one. + + + + + This will contain the value + , + , or + , corresponding to + the overall type of change this item represents. + + + + + Non-zero if this change is considered to be indirect (i.e. as + though they were made via a trigger or foreign key action). + + + + + This array contains a for each column in + the table associated with this change. The element will be zero + if the column is not part of the primary key; otherwise, it will + be non-zero. + + + + + This method may only be called from within a + delegate when the conflict + type is . It + returns the total number of known foreign key violations in the + destination database. + + +
+
diff --git a/packages/System.Data.SQLite.Core.1.0.112.1/lib/netstandard2.0/System.Data.SQLite.dll b/packages/System.Data.SQLite.Core.1.0.112.1/lib/netstandard2.0/System.Data.SQLite.dll new file mode 100644 index 0000000..bad24db Binary files /dev/null and b/packages/System.Data.SQLite.Core.1.0.112.1/lib/netstandard2.0/System.Data.SQLite.dll differ diff --git a/packages/System.Data.SQLite.Core.1.0.112.1/lib/netstandard2.0/System.Data.SQLite.dll.config b/packages/System.Data.SQLite.Core.1.0.112.1/lib/netstandard2.0/System.Data.SQLite.dll.config new file mode 100644 index 0000000..b14f7b5 --- /dev/null +++ b/packages/System.Data.SQLite.Core.1.0.112.1/lib/netstandard2.0/System.Data.SQLite.dll.config @@ -0,0 +1,22 @@ + + + + + + + + + diff --git a/packages/System.Data.SQLite.Core.1.0.112.1/lib/netstandard2.0/System.Data.SQLite.xml b/packages/System.Data.SQLite.Core.1.0.112.1/lib/netstandard2.0/System.Data.SQLite.xml new file mode 100644 index 0000000..4219194 --- /dev/null +++ b/packages/System.Data.SQLite.Core.1.0.112.1/lib/netstandard2.0/System.Data.SQLite.xml @@ -0,0 +1,21319 @@ + + + + System.Data.SQLite + + + + + Defines a source code identifier custom attribute for an assembly + manifest. + + + + + Constructs an instance of this attribute class using the specified + source code identifier value. + + + The source code identifier value to use. + + + + + Gets the source code identifier value. + + + + + Defines a source code time-stamp custom attribute for an assembly + manifest. + + + + + Constructs an instance of this attribute class using the specified + source code time-stamp value. + + + The source code time-stamp value to use. + + + + + Gets the source code time-stamp value. + + + + + This is the method signature for the SQLite core library logging callback + function for use with sqlite3_log() and the SQLITE_CONFIG_LOG. + + WARNING: This delegate is used more-or-less directly by native code, do + not modify its type signature. + + + The extra data associated with this message, if any. + + + The error code associated with this message. + + + The message string to be logged. + + + + + This class implements SQLiteBase completely, and is the guts of the code that interop's SQLite with .NET + + + + + This field is used to refer to memory allocated for the + SQLITE_DBCONFIG_MAINDBNAME value used with the native + "sqlite3_db_config" API. If allocated, the associated + memeory will be freed when the underlying connection is + closed. + + + + + The opaque pointer returned to us by the sqlite provider + + + + + The user-defined functions registered on this connection + + + + + This is the name of the native library file that contains the + "vtshim" extension [wrapper]. + + + + + This is the flag indicate whether the native library file that + contains the "vtshim" extension must be dynamically loaded by + this class prior to use. + + + + + This is the name of the native entry point for the "vtshim" + extension [wrapper]. + + + + + The modules created using this connection. + + + + + Constructs the object used to interact with the SQLite core library + using the UTF-8 text encoding. + + + The DateTime format to be used when converting string values to a + DateTime and binding DateTime parameters. + + + The to be used when creating DateTime + values. + + + The format string to be used when parsing and formatting DateTime + values. + + + The native handle to be associated with the database connection. + + + The fully qualified file name associated with . + + + Non-zero if the newly created object instance will need to dispose + of when it is no longer needed. + + + + + This method attempts to dispose of all the derived + object instances currently associated with the native database connection. + + + + + Returns the number of times the method has been + called. + + + + + This method determines whether or not a + with a return code of should + be thrown after making a call into the SQLite core library. + + + Non-zero if a to be thrown. This method + will only return non-zero if the method was called + one or more times during a call into the SQLite core library (e.g. when + the sqlite3_prepare*() or sqlite3_step() APIs are used). + + + + + Resets the value of the field. + + + + + Attempts to interrupt the query currently executing on the associated + native database connection. + + + + + This function binds a user-defined function to the connection. + + + The object instance containing + the metadata for the function to be bound. + + + The object instance that implements the + function to be bound. + + + The flags associated with the parent connection object. + + + + + This function binds a user-defined function to the connection. + + + The object instance containing + the metadata for the function to be unbound. + + + The flags associated with the parent connection object. + + Non-zero if the function was unbound and removed. + + + + Returns non-zero if the underlying native connection handle is owned + by this instance. + + + + + Returns the logical list of functions associated with this connection. + + + + + Attempts to free as much heap memory as possible for the database connection. + + A standard SQLite return code (i.e. zero for success and non-zero for failure). + + + + Attempts to free N bytes of heap memory by deallocating non-essential memory + allocations held by the database library. Memory used to cache database pages + to improve performance is an example of non-essential memory. This is a no-op + returning zero if the SQLite core library was not compiled with the compile-time + option SQLITE_ENABLE_MEMORY_MANAGEMENT. Optionally, attempts to reset and/or + compact the Win32 native heap, if applicable. + + + The requested number of bytes to free. + + + Non-zero to attempt a heap reset. + + + Non-zero to attempt heap compaction. + + + The number of bytes actually freed. This value may be zero. + + + This value will be non-zero if the heap reset was successful. + + + The size of the largest committed free block in the heap, in bytes. + This value will be zero unless heap compaction is enabled. + + + A standard SQLite return code (i.e. zero for success and non-zero + for failure). + + + + + Shutdown the SQLite engine so that it can be restarted with different + configuration options. We depend on auto initialization to recover. + + Returns a standard SQLite result code. + + + + Shutdown the SQLite engine so that it can be restarted with different + configuration options. We depend on auto initialization to recover. + + + Non-zero to reset the database and temporary directories to their + default values, which should be null for both. This parameter has no + effect on non-Windows operating systems. + + Returns a standard SQLite result code. + + + + Determines if the associated native connection handle is open. + + + Non-zero if the associated native connection handle is open. + + + + + Returns the fully qualified path and file name for the currently open + database, if any. + + + The name of the attached database to query. + + + The fully qualified path and file name for the currently open database, + if any. + + + + + This method attempts to determine if a database connection opened + with the specified should be + allowed into the connection pool. + + + The that were specified when the + connection was opened. + + + Non-zero if the connection should (eventually) be allowed into the + connection pool; otherwise, zero. + + + + + Has the sqlite3_errstr() core library API been checked for yet? + If so, is it present? + + + + + Returns the error message for the specified SQLite return code using + the sqlite3_errstr() function, falling back to the internal lookup + table if necessary. + + WARNING: Do not remove this method, it is used via reflection. + + The SQLite return code. + The error message or null if it cannot be found. + + + + Has the sqlite3_stmt_readonly() core library API been checked for yet? + If so, is it present? + + + + + Returns non-zero if the specified statement is read-only in nature. + + The statement to check. + True if the outer query is read-only. + + + + This field is used to keep track of whether or not the + "SQLite_ForceLogPrepare" environment variable has been queried. If so, + it will only be non-zero if the environment variable was present. + + + + + Determines if all calls to prepare a SQL query will be logged, + regardless of the flags for the associated connection. + + + Non-zero to log all calls to prepare a SQL query. + + + + + Determines the file name of the native library containing the native + "vtshim" extension -AND- whether it should be dynamically loaded by + this class. + + + This output parameter will be set to non-zero if the returned native + library file name should be dynamically loaded prior to attempting + the creation of native disposable extension modules. + + + The file name of the native library containing the native "vtshim" + extension -OR- null if it cannot be determined. + + + + + Calls the native SQLite core library in order to create a disposable + module containing the implementation of a virtual table. + + + The module object to be used when creating the native disposable module. + + + The flags for the associated object instance. + + + + + Calls the native SQLite core library in order to cleanup the resources + associated with a module containing the implementation of a virtual table. + + + The module object previously passed to the + method. + + + The flags for the associated object instance. + + + + + Calls the native SQLite core library in order to declare a virtual table + in response to a call into the + or virtual table methods. + + + The virtual table module that is to be responsible for the virtual table + being declared. + + + The string containing the SQL statement describing the virtual table to + be declared. + + + Upon success, the contents of this parameter are undefined. Upon failure, + it should contain an appropriate error message. + + + A standard SQLite return code. + + + + + Calls the native SQLite core library in order to declare a virtual table + function in response to a call into the + or virtual table methods. + + + The virtual table module that is to be responsible for the virtual table + function being declared. + + + The number of arguments to the function being declared. + + + The name of the function being declared. + + + Upon success, the contents of this parameter are undefined. Upon failure, + it should contain an appropriate error message. + + + A standard SQLite return code. + + + + + Builds an error message string fragment containing the + defined values of the + enumeration. + + + The built string fragment. + + + + + Builds an error message string fragment containing the + defined values of the + enumeration. + + + The built string fragment. + + + + + Builds an error message string fragment containing the + defined values of the + enumeration. + + + The built string fragment. + + + + + Returns the current and/or highwater values for the specified + database status parameter. + + + The database status parameter to query. + + + Non-zero to reset the highwater value to the current value. + + + If applicable, receives the current value. + + + If applicable, receives the highwater value. + + + A standard SQLite return code. + + + + + Change a limit value for the database. + + + The database limit to change. + + + The new value for the specified limit. + + + The old value for the specified limit -OR- negative one if an error + occurs. + + + + + Change a configuration option value for the database. + + + The database configuration option to change. + + + The new value for the specified configuration option. + + + A standard SQLite return code. + + + + + Enables or disables extension loading by SQLite. + + + True to enable loading of extensions, false to disable. + + + + + Loads a SQLite extension library from the named file. + + + The name of the dynamic link library file containing the extension. + + + The name of the exported function used to initialize the extension. + If null, the default "sqlite3_extension_init" will be used. + + + + Enables or disables extended result codes returned by SQLite + + + Gets the last SQLite error code + + + Gets the last SQLite extended error code + + + Add a log message via the SQLite sqlite3_log interface. + + + Add a log message via the SQLite sqlite3_log interface. + + + + Allows the setting of a logging callback invoked by SQLite when a + log event occurs. Only one callback may be set. If NULL is passed, + the logging callback is unregistered. + + The callback function to invoke. + Returns a result code + + + + Appends an error message and an appropriate line-ending to a + instance. This is useful because the .NET Compact Framework has a slightly different set + of supported methods for the class. + + + The instance to append to. + + + The message to append. It will be followed by an appropriate line-ending. + + + + + This method attempts to cause the SQLite native library to invalidate + its function pointers that refer to this instance. This is necessary + to prevent calls from native code into delegates that may have been + garbage collected. Normally, these types of issues can only arise for + connections that are added to the pool; howver, it is good practice to + unconditionally invalidate function pointers that may refer to objects + being disposed. + + + Non-zero to also invalidate global function pointers (i.e. those that + are not directly associated with this connection on the native side). + + + Non-zero if this method is being executed within a context where it can + throw an exception in the event of failure; otherwise, zero. + + + Non-zero if this method was successful; otherwise, zero. + + + + + This method attempts to free the cached database name used with the + method. + + + Non-zero if this method is being executed within a context where it can + throw an exception in the event of failure; otherwise, zero. + + + Non-zero if this method was successful; otherwise, zero. + + + + + Creates a new SQLite backup object based on the provided destination + database connection. The source database connection is the one + associated with this object. The source and destination database + connections cannot be the same. + + The destination database connection. + The destination database name. + The source database name. + The newly created backup object. + + + + Copies up to N pages from the source database to the destination + database associated with the specified backup object. + + The backup object to use. + + The number of pages to copy, negative to copy all remaining pages. + + + Set to true if the operation needs to be retried due to database + locking issues; otherwise, set to false. + + + True if there are more pages to be copied, false otherwise. + + + + + Returns the number of pages remaining to be copied from the source + database to the destination database associated with the specified + backup object. + + The backup object to check. + The number of pages remaining to be copied. + + + + Returns the total number of pages in the source database associated + with the specified backup object. + + The backup object to check. + The total number of pages in the source database. + + + + Destroys the backup object, rolling back any backup that may be in + progess. + + The backup object to destroy. + + + + Determines if the SQLite core library has been initialized for the + current process. + + + A boolean indicating whether or not the SQLite core library has been + initialized for the current process. + + + + + Determines if the SQLite core library has been initialized for the + current process. + + + A boolean indicating whether or not the SQLite core library has been + initialized for the current process. + + + + + Helper function to retrieve a column of data from an active statement. + + The statement being step()'d through + The flags associated with the connection. + The column index to retrieve + The type of data contained in the column. If Uninitialized, this function will retrieve the datatype information. + Returns the data in the column + + + + Alternate SQLite3 object, overriding many text behaviors to support UTF-16 (Unicode) + + + + + Constructs the object used to interact with the SQLite core library + using the UTF-8 text encoding. + + + The DateTime format to be used when converting string values to a + DateTime and binding DateTime parameters. + + + The to be used when creating DateTime + values. + + + The format string to be used when parsing and formatting DateTime + values. + + + The native handle to be associated with the database connection. + + + The fully qualified file name associated with . + + + Non-zero if the newly created object instance will need to dispose + of when it is no longer needed. + + + + + Overrides SQLiteConvert.ToString() to marshal UTF-16 strings instead of UTF-8 + + A pointer to a UTF-16 string + The length (IN BYTES) of the string + A .NET string + + + + Represents a single SQL backup in SQLite. + + + + + The underlying SQLite object this backup is bound to. + + + + + The actual backup handle. + + + + + The destination database for the backup. + + + + + The destination database name for the backup. + + + + + The source database for the backup. + + + + + The source database name for the backup. + + + + + The last result from the StepBackup method of the SQLite3 class. + This is used to determine if the call to the FinishBackup method of + the SQLite3 class should throw an exception when it receives a non-Ok + return code from the core SQLite library. + + + + + Initializes the backup. + + The base SQLite object. + The backup handle. + The destination database for the backup. + The destination database name for the backup. + The source database for the backup. + The source database name for the backup. + + + + Disposes and finalizes the backup. + + + + + This internal class provides the foundation of SQLite support. It defines all the abstract members needed to implement + a SQLite data provider, and inherits from SQLiteConvert which allows for simple translations of string to and from SQLite. + + + + + The error code used for logging exceptions caught in user-provided + code. + + + + + Returns a string representing the active version of SQLite + + + + + Returns an integer representing the active version of SQLite + + + + + Returns non-zero if this connection to the database is read-only. + + + + + Returns the rowid of the most recent successful INSERT into the database from this connection. + + + + + Returns the number of changes the last executing insert/update caused. + + + + + Returns the amount of memory (in bytes) currently in use by the SQLite core library. This is not really a per-connection + value, it is global to the process. + + + + + Returns the maximum amount of memory (in bytes) used by the SQLite core library since the high-water mark was last reset. + This is not really a per-connection value, it is global to the process. + + + + + Returns non-zero if the underlying native connection handle is owned by this instance. + + + + + Returns the logical list of functions associated with this connection. + + + + + Sets the status of the memory usage tracking subsystem in the SQLite core library. By default, this is enabled. + If this is disabled, memory usage tracking will not be performed. This is not really a per-connection value, it is + global to the process. + + Non-zero to enable memory usage tracking, zero otherwise. + A standard SQLite return code (i.e. zero for success and non-zero for failure). + + + + Attempts to free as much heap memory as possible for the database connection. + + A standard SQLite return code (i.e. zero for success and non-zero for failure). + + + + Shutdown the SQLite engine so that it can be restarted with different config options. + We depend on auto initialization to recover. + + + + + Determines if the associated native connection handle is open. + + + Non-zero if a database connection is open. + + + + + Returns the fully qualified path and file name for the currently open + database, if any. + + + The name of the attached database to query. + + + The fully qualified path and file name for the currently open database, + if any. + + + + + Opens a database. + + + Implementers should call SQLiteFunction.BindFunctions() and save the array after opening a connection + to bind all attributed user-defined functions and collating sequences to the new connection. + + The filename of the database to open. SQLite automatically creates it if it doesn't exist. + The name of the VFS to use -OR- null to use the default VFS. + The flags associated with the parent connection object + The open flags to use when creating the connection + The maximum size of the pool for the given filename + If true, the connection can be pulled from the connection pool + + + + Closes the currently-open database. + + + After the database has been closed implemeters should call SQLiteFunction.UnbindFunctions() to deallocate all interop allocated + memory associated with the user-defined functions and collating sequences tied to the closed connection. + + Non-zero if connection is being disposed, zero otherwise. + + + + Sets the busy timeout on the connection. SQLiteCommand will call this before executing any command. + + The number of milliseconds to wait before returning SQLITE_BUSY + + + + Returns the text of the last error issued by SQLite + + + + + + Returns the text of the last error issued by SQLite -OR- the specified default error text if + none is available from the SQLite core library. + + + The error text to return in the event that one is not available from the SQLite core library. + + + The error text. + + + + + When pooling is enabled, force this connection to be disposed rather than returned to the pool + + + + + When pooling is enabled, returns the number of pool entries matching the current file name. + + The number of pool entries matching the current file name. + + + + Prepares a SQL statement for execution. + + The source connection preparing the command. Can be null for any caller except LINQ + The SQL command text to prepare + The previous statement in a multi-statement command, or null if no previous statement exists + The timeout to wait before aborting the prepare + The remainder of the statement that was not processed. Each call to prepare parses the + SQL up to to either the end of the text or to the first semi-colon delimiter. The remaining text is returned + here for a subsequent call to Prepare() until all the text has been processed. + Returns an initialized SQLiteStatement. + + + + Steps through a prepared statement. + + The SQLiteStatement to step through + True if a row was returned, False if not. + + + + Returns non-zero if the specified statement is read-only in nature. + + The statement to check. + True if the outer query is read-only. + + + + Resets a prepared statement so it can be executed again. If the error returned is SQLITE_SCHEMA, + transparently attempt to rebuild the SQL statement and throw an error if that was not possible. + + The statement to reset + Returns -1 if the schema changed while resetting, 0 if the reset was sucessful or 6 (SQLITE_LOCKED) if the reset failed due to a lock + + + + Attempts to interrupt the query currently executing on the associated + native database connection. + + + + + This function binds a user-defined function to the connection. + + + The object instance containing + the metadata for the function to be bound. + + + The object instance that implements the + function to be bound. + + + The flags associated with the parent connection object. + + + + + This function unbinds a user-defined function from the connection. + + + The object instance containing + the metadata for the function to be unbound. + + + The flags associated with the parent connection object. + + Non-zero if the function was unbound. + + + + Calls the native SQLite core library in order to create a disposable + module containing the implementation of a virtual table. + + + The module object to be used when creating the native disposable module. + + + The flags for the associated object instance. + + + + + Calls the native SQLite core library in order to cleanup the resources + associated with a module containing the implementation of a virtual table. + + + The module object previously passed to the + method. + + + The flags for the associated object instance. + + + + + Calls the native SQLite core library in order to declare a virtual table + in response to a call into the + or virtual table methods. + + + The virtual table module that is to be responsible for the virtual table + being declared. + + + The string containing the SQL statement describing the virtual table to + be declared. + + + Upon success, the contents of this parameter are undefined. Upon failure, + it should contain an appropriate error message. + + + A standard SQLite return code. + + + + + Calls the native SQLite core library in order to declare a virtual table + function in response to a call into the + or virtual table methods. + + + The virtual table module that is to be responsible for the virtual table + function being declared. + + + The number of arguments to the function being declared. + + + The name of the function being declared. + + + Upon success, the contents of this parameter are undefined. Upon failure, + it should contain an appropriate error message. + + + A standard SQLite return code. + + + + + Returns the current and/or highwater values for the specified database status parameter. + + + The database status parameter to query. + + + Non-zero to reset the highwater value to the current value. + + + If applicable, receives the current value. + + + If applicable, receives the highwater value. + + + A standard SQLite return code. + + + + + Change a limit value for the database. + + + The database limit to change. + + + The new value for the specified limit. + + + The old value for the specified limit -OR- negative one if an error + occurs. + + + + + Change a configuration option value for the database. + + + The database configuration option to change. + + + The new value for the specified configuration option. + + + A standard SQLite return code. + + + + + Enables or disables extension loading by SQLite. + + + True to enable loading of extensions, false to disable. + + + + + Loads a SQLite extension library from the named file. + + + The name of the dynamic link library file containing the extension. + + + The name of the exported function used to initialize the extension. + If null, the default "sqlite3_extension_init" will be used. + + + + + Enables or disables extened result codes returned by SQLite + + true to enable extended result codes, false to disable. + + + + + Returns the numeric result code for the most recent failed SQLite API call + associated with the database connection. + + Result code + + + + Returns the extended numeric result code for the most recent failed SQLite API call + associated with the database connection. + + Extended result code + + + + Add a log message via the SQLite sqlite3_log interface. + + Error code to be logged with the message. + String to be logged. Unlike the SQLite sqlite3_log() + interface, this should be pre-formatted. Consider using the + String.Format() function. + + + + + Checks if the SQLite core library has been initialized in the current process. + + + Non-zero if the SQLite core library has been initialized in the current process, + zero otherwise. + + + + + Returns non-zero if the given database connection is in autocommit mode. + Autocommit mode is on by default. Autocommit mode is disabled by a BEGIN + statement. Autocommit mode is re-enabled by a COMMIT or ROLLBACK. + + + + + Creates a new SQLite backup object based on the provided destination + database connection. The source database connection is the one + associated with this object. The source and destination database + connections cannot be the same. + + The destination database connection. + The destination database name. + The source database name. + The newly created backup object. + + + + Copies up to N pages from the source database to the destination + database associated with the specified backup object. + + The backup object to use. + + The number of pages to copy or negative to copy all remaining pages. + + + Set to true if the operation needs to be retried due to database + locking issues. + + + True if there are more pages to be copied, false otherwise. + + + + + Returns the number of pages remaining to be copied from the source + database to the destination database associated with the specified + backup object. + + The backup object to check. + The number of pages remaining to be copied. + + + + Returns the total number of pages in the source database associated + with the specified backup object. + + The backup object to check. + The total number of pages in the source database. + + + + Destroys the backup object, rolling back any backup that may be in + progess. + + The backup object to destroy. + + + + Returns the error message for the specified SQLite return code using + the internal static lookup table. + + The SQLite return code. + The error message or null if it cannot be found. + + + + + + + + + Creates temporary tables on the connection so schema information can be queried. + + + The connection upon which to build the schema tables. + + + + + The extra behavioral flags that can be applied to a connection. + + + + + No extra flags. + + + + + Enable logging of all SQL statements to be prepared. + + + + + Enable logging of all bound parameter types and raw values. + + + + + Enable logging of all bound parameter strongly typed values. + + + + + Enable logging of all exceptions caught from user-provided + managed code called from native code via delegates. + + + + + Enable logging of backup API errors. + + + + + Skip adding the extension functions provided by the native + interop assembly. + + + + + When binding parameter values with the + type, use the interop method that accepts an + value. + + + + + When binding parameter values, always bind them as though they were + plain text (i.e. no numeric, date/time, or other conversions should + be attempted). + + + + + When returning column values, always return them as though they were + plain text (i.e. no numeric, date/time, or other conversions should + be attempted). + + + + + Prevent this object instance from + loading extensions. + + + + + Prevent this object instance from + creating virtual table modules. + + + + + Skip binding any functions provided by other managed assemblies when + opening the connection. + + + + + Skip setting the logging related properties of the + object instance that was passed to + the method. + + + + + Enable logging of all virtual table module errors seen by the + method. + + + + + Enable logging of certain virtual table module exceptions that cannot + be easily discovered via other means. + + + + + Enable tracing of potentially important [non-fatal] error conditions + that cannot be easily reported through other means. + + + + + When binding parameter values, always use the invariant culture when + converting their values from strings. + + + + + When binding parameter values, always use the invariant culture when + converting their values to strings. + + + + + Disable using the connection pool by default. If the "Pooling" + connection string property is specified, its value will override + this flag. The precise outcome of combining this flag with the + flag is unspecified; however, + one of the flags will be in effect. + + + + + Enable using the connection pool by default. If the "Pooling" + connection string property is specified, its value will override + this flag. The precise outcome of combining this flag with the + flag is unspecified; however, + one of the flags will be in effect. + + + + + Enable using per-connection mappings between type names and + values. Also see the + , + , and + methods. These + per-connection mappings, when present, override the corresponding + global mappings. + + + + + Disable using global mappings between type names and + values. This may be useful in some very narrow + cases; however, if there are no per-connection type mappings, the + fallback defaults will be used for both type names and their + associated values. Therefore, use of this flag + is not recommended. + + + + + When the property is used, it + should return non-zero if there were ever any rows in the associated + result sets. + + + + + Enable "strict" transaction enlistment semantics. Setting this flag + will cause an exception to be thrown if an attempt is made to enlist + in a transaction with an unavailable or unsupported isolation level. + In the future, more extensive checks may be enabled by this flag as + well. + + + + + Enable mapping of unsupported transaction isolation levels to the + closest supported transaction isolation level. + + + + + When returning column values, attempt to detect the affinity of + textual values by checking if they fully conform to those of the + , + , + , + or types. + + + + + When returning column values, attempt to detect the type of + string values by checking if they fully conform to those of + the , + , + , + or types. + + + + + Skip querying runtime configuration settings for use by the + class, including the default + value and default database type name. + NOTE: If the + and/or + properties are not set explicitly nor set via their connection + string properties and repeated calls to determine these runtime + configuration settings are seen to be a problem, this flag + should be set. + + + + + When binding parameter values with the + type, take their into account as + well as that of the associated . + + + + + If an exception is caught when raising the + event, the transaction + should be rolled back. If this is not specified, the transaction + will continue the commit process instead. + + + + + If an exception is caught when raising the + event, the action should + should be denied. If this is not specified, the action will be + allowed instead. + + + + + If an exception is caught when raising the + event, the operation + should be interrupted. If this is not specified, the operation + will simply continue. + + + + + Attempt to unbind all functions provided by other managed assemblies + when closing the connection. + + + + + When returning column values as a , skip + verifying their affinity. + + + + + Enable using per-connection mappings between type names and + values. Also see the + , + , and + methods. + + + + + Enable using per-connection mappings between type names and + values. Also see the + , + , and + methods. + + + + + If the database type name has not been explicitly set for the + parameter specified, fallback to using the parameter name. + + + + + If the database type name has not been explicitly set for the + parameter specified, fallback to using the database type name + associated with the value. + + + + + When returning column values, skip verifying their affinity. + + + + + Allow transactions to be nested. The outermost transaction still + controls whether or not any changes are ultimately committed or + rolled back. All non-outermost transactions are implemented using + the SAVEPOINT construct. + + + + + When binding parameter values, always bind + values as though they were plain text (i.e. not , + which is the legacy behavior). + + + + + When returning column values, always return + values as though they were plain text (i.e. not , + which is the legacy behavior). + + + + + When binding parameter values, always use + the invariant culture when converting their values to strings. + + + + + When returning column values, always use + the invariant culture when converting their values from strings. + + + + + EXPERIMENTAL -- + Enable waiting for the enlistment to be reset prior to attempting + to create a new enlistment. This may be necessary due to the + semantics used by distributed transactions, which complete + asynchronously. + + + + + When returning column values, always use + the invariant culture when converting their values from strings. + + + + + When returning column values, always use + the invariant culture when converting their values from strings. + + + + + EXPERIMENTAL -- + Enable strict conformance to the ADO.NET standard, e.g. use of + thrown exceptions to indicate common error conditions. + + + + + EXPERIMENTAL -- + When opening a connection, attempt to hide the password from the + connection string, etc. Given the memory architecture of the CLR, + (and P/Invoke) this is not 100% reliable and should not be relied + upon for security critical uses or applications. + + + + + When binding parameter values or returning column values, always + treat them as though they were plain text (i.e. no numeric, + date/time, or other conversions should be attempted). + + + + + When binding parameter values, always use the invariant culture when + converting their values to strings or from strings. + + + + + When binding parameter values or returning column values, always + treat them as though they were plain text (i.e. no numeric, + date/time, or other conversions should be attempted) and always + use the invariant culture when converting their values to strings. + + + + + When binding parameter values or returning column values, always + treat them as though they were plain text (i.e. no numeric, + date/time, or other conversions should be attempted) and always + use the invariant culture when converting their values to strings + or from strings. + + + + + Enables use of all per-connection value handling callbacks. + + + + + Enables use of all applicable + properties as fallbacks for the database type name. + + + + + Enable all logging. + + + + + The default logging related flags for new connections. + + + + + The default extra flags for new connections. + + + + + The default extra flags for new connections with all logging enabled. + + + + + These are the supported status parameters for use with the native + SQLite library. + + + + + This parameter returns the number of lookaside memory slots + currently checked out. + + + + + This parameter returns the approximate number of bytes of + heap memory used by all pager caches associated with the + database connection. The highwater mark associated with + SQLITE_DBSTATUS_CACHE_USED is always 0. + + + + + This parameter returns the approximate number of bytes of + heap memory used to store the schema for all databases + associated with the connection - main, temp, and any ATTACH-ed + databases. The full amount of memory used by the schemas is + reported, even if the schema memory is shared with other + database connections due to shared cache mode being enabled. + The highwater mark associated with SQLITE_DBSTATUS_SCHEMA_USED + is always 0. + + + + + This parameter returns the number malloc attempts that might + have been satisfied using lookaside memory but failed due to + all lookaside memory already being in use. Only the high-water + value is meaningful; the current value is always zero. + + + + + This parameter returns the number malloc attempts that were + satisfied using lookaside memory. Only the high-water value + is meaningful; the current value is always zero. + + + + + This parameter returns the number malloc attempts that might + have been satisfied using lookaside memory but failed due to + the amount of memory requested being larger than the lookaside + slot size. Only the high-water value is meaningful; the current + value is always zero. + + + + + This parameter returns the number malloc attempts that might + have been satisfied using lookaside memory but failed due to + the amount of memory requested being larger than the lookaside + slot size. Only the high-water value is meaningful; the current + value is always zero. + + + + + This parameter returns the number of pager cache hits that + have occurred. The highwater mark associated with + SQLITE_DBSTATUS_CACHE_HIT is always 0. + + + + + This parameter returns the number of pager cache misses that + have occurred. The highwater mark associated with + SQLITE_DBSTATUS_CACHE_MISS is always 0. + + + + + This parameter returns the number of dirty cache entries that + have been written to disk. Specifically, the number of pages + written to the wal file in wal mode databases, or the number + of pages written to the database file in rollback mode + databases. Any pages written as part of transaction rollback + or database recovery operations are not included. If an IO or + other error occurs while writing a page to disk, the effect + on subsequent SQLITE_DBSTATUS_CACHE_WRITE requests is + undefined. The highwater mark associated with + SQLITE_DBSTATUS_CACHE_WRITE is always 0. + + + + + This parameter returns zero for the current value if and only + if all foreign key constraints (deferred or immediate) have + been resolved. The highwater mark is always 0. + + + + + This parameter is similar to DBSTATUS_CACHE_USED, except that + if a pager cache is shared between two or more connections the + bytes of heap memory used by that pager cache is divided evenly + between the attached connections. In other words, if none of + the pager caches associated with the database connection are + shared, this request returns the same value as DBSTATUS_CACHE_USED. + Or, if one or more or the pager caches are shared, the value + returned by this call will be smaller than that returned by + DBSTATUS_CACHE_USED. The highwater mark associated with + SQLITE_DBSTATUS_CACHE_USED_SHARED is always 0. + + + + + This parameter returns the number of dirty cache entries that have + been written to disk in the middle of a transaction due to the page + cache overflowing. Transactions are more efficient if they are + written to disk all at once. When pages spill mid-transaction, that + introduces additional overhead. This parameter can be used help + identify inefficiencies that can be resolved by increasing the cache + size. + + + + + These are the supported configuration verbs for use with the native + SQLite library. They are used with the + method. + + + + + This value represents an unknown (or invalid) option, do not use it. + + + + + This option is used to change the name of the "main" database + schema. The sole argument is a pointer to a constant UTF8 string + which will become the new schema name in place of "main". + + + + + This option is used to configure the lookaside memory allocator. + The value must be an array with three elements. The second element + must be an containing the size of each buffer + slot. The third element must be an containing + the number of slots. The first element must be an + that points to a native memory buffer of bytes equal to or greater + than the product of the second and third element values. + + + + + This option is used to enable or disable the enforcement of + foreign key constraints. + + + + + This option is used to enable or disable triggers. + + + + + This option is used to enable or disable the two-argument version + of the fts3_tokenizer() function which is part of the FTS3 full-text + search engine extension. + + + + + This option is used to enable or disable the loading of extensions. + + + + + This option is used to enable or disable the automatic checkpointing + when a WAL database is closed. + + + + + This option is used to enable or disable the query planner stability + guarantee (QPSG). + + + + + This option is used to enable or disable the extra EXPLAIN QUERY PLAN + output for trigger programs. + + + + + This option is used as part of the process to reset a database back + to an empty state. Because resetting a database is destructive and + irreversible, the process requires the use of this obscure flag and + multiple steps to help ensure that it does not happen by accident. + + + + + This option activates or deactivates the "defensive" flag for a + database connection. When the defensive flag is enabled, language + features that allow ordinary SQL to deliberately corrupt the database + file are disabled. The disabled features include but are not limited + to the following: + ]]> + ]]> + The PRAGMA writable_schema=ON statement. + ]]> + ]]> + The PRAGMA journal_mode=OFF statement. + ]]> + ]]> + Writes to the sqlite_dbpage virtual table. + ]]> + ]]> + Direct writes to shadow tables. + ]]> + ]]> + + + + + This option activates or deactivates the "writable_schema" flag. + + + + + This option activates or deactivates the legacy behavior of the ALTER + TABLE RENAME command such it behaves as it did prior to version 3.24.0 + (2018-06-04). + + + + + This option activates or deactivates the legacy double-quoted string + literal misfeature for DML statement only, that is DELETE, INSERT, + SELECT, and UPDATE statements. + + + + + This option activates or deactivates the legacy double-quoted string + literal misfeature for DDL statements, such as CREATE TABLE and CREATE + INDEX. + + + + + This option is used to enable or disable CREATE VIEW. + + + + + This option activates or deactivates the legacy file format flag. + + + + + This option tells SQLite to assume that database schemas (i.e. the + contents of the sqlite_master tables) are untainted by malicious + content. When the trusted schema option is disabled, SQLite takes + additional defensive steps to protect the application from harm + including: + ]]> + ]]> + Prohibit the use of SQL functions inside triggers, views, CHECK + constraints, DEFAULT clauses, expression indexes, partial indexes, + or generated columns unless those functions are tagged with + SQLITE_INNOCUOUS. + ]]> + ]]> + Prohibit the use of virtual tables inside of triggers or views + unless those virtual tables are tagged with SQLITE_VTAB_INNOCUOUS. + ]]> + This setting defaults to "on" for legacy compatibility, however + all applications are advised to turn it off if possible. This + setting can also be controlled using the PRAGMA trusted_schema + statement. + + + + + These constants are used with the sqlite3_trace_v2() API and the + callbacks registered by it. + + + + + These constants are used with the sqlite3_limit() API. + + + + + This value represents an unknown (or invalid) limit, do not use it. + + + + + The maximum size of any string or BLOB or table row, in bytes. + + + + + The maximum length of an SQL statement, in bytes. + + + + + The maximum number of columns in a table definition or in the + result set of a SELECT or the maximum number of columns in an + index or in an ORDER BY or GROUP BY clause. + + + + + The maximum depth of the parse tree on any expression. + + + + + The maximum number of terms in a compound SELECT statement. + + + + + The maximum number of instructions in a virtual machine program + used to implement an SQL statement. If sqlite3_prepare_v2() or + the equivalent tries to allocate space for more than this many + opcodes in a single prepared statement, an SQLITE_NOMEM error + is returned. + + + + + The maximum number of arguments on a function. + + + + + The maximum number of attached databases. + + + + + The maximum length of the pattern argument to the LIKE or GLOB + operators. + + + + + The maximum index number of any parameter in an SQL statement. + + + + + The maximum depth of recursion for triggers. + + + + + The maximum number of auxiliary worker threads that a single + prepared statement may start. + + + + + Represents a single SQL blob in SQLite. + + + + + The underlying SQLite object this blob is bound to. + + + + + The actual blob handle. + + + + + Initializes the blob. + + The base SQLite object. + The blob handle. + + + + Creates a object. This will not work + for tables that were created WITHOUT ROWID -OR- if the query + does not include the "rowid" column or one of its aliases -OR- + if the was not created with the + flag. + + + The instance with a result set + containing the desired blob column. + + + The index of the blob column. + + + Non-zero to open the blob object for read-only access. + + + The newly created instance -OR- null + if an error occurs. + + + + + Creates a object. This will not work + for tables that were created WITHOUT ROWID. + + + The connection to use when opening the blob object. + + + The name of the database containing the blob object. + + + The name of the table containing the blob object. + + + The name of the column containing the blob object. + + + The integer identifier for the row associated with the desired + blob object. + + + Non-zero to open the blob object for read-only access. + + + The newly created instance -OR- null + if an error occurs. + + + + + Throws an exception if the blob object does not appear to be open. + + + + + Throws an exception if an invalid read/write parameter is detected. + + + When reading, this array will be populated with the bytes read from + the underlying database blob. When writing, this array contains new + values for the specified portion of the underlying database blob. + + + The number of bytes to read or write. + + + The byte offset, relative to the start of the underlying database + blob, where the read or write operation will begin. + + + + + Retargets this object to an underlying database blob for a + different row; the database, table, and column remain exactly + the same. If this operation fails for any reason, this blob + object is automatically disposed. + + + The integer identifier for the new row. + + + + + Queries the total number of bytes for the underlying database blob. + + + The total number of bytes for the underlying database blob. + + + + + Reads data from the underlying database blob. + + + This array will be populated with the bytes read from the + underlying database blob. + + + The number of bytes to read. + + + The byte offset, relative to the start of the underlying + database blob, where the read operation will begin. + + + + + Writes data into the underlying database blob. + + + This array contains the new values for the specified portion of + the underlying database blob. + + + The number of bytes to write. + + + The byte offset, relative to the start of the underlying + database blob, where the write operation will begin. + + + + + Closes the blob, freeing the associated resources. + + + + + Disposes and finalizes the blob. + + + + + The destructor. + + + + + SQLite implementation of DbCommand. + + + + + The default connection string to be used when creating a temporary + connection to execute a command via the static + or + + methods. + + + + + The command text this command is based on + + + + + The connection the command is associated with + + + + + The version of the connection the command is associated with + + + + + Indicates whether or not a DataReader is active on the command. + + + + + The timeout for the command, kludged because SQLite doesn't support per-command timeout values + + + + + Designer support + + + + + Used by DbDataAdapter to determine updating behavior + + + + + The collection of parameters for the command + + + + + The SQL command text, broken into individual SQL statements as they are executed + + + + + Unprocessed SQL text that has not been executed + + + + + Transaction associated with this command + + + + + Constructs a new SQLiteCommand + + + Default constructor + + + + + Initializes the command with the given command text + + The SQL command text + + + + Initializes the command with the given SQL command text and attach the command to the specified + connection. + + The SQL command text + The connection to associate with the command + + + + Initializes the command and associates it with the specified connection. + + The connection to associate with the command + + + + Initializes a command with the given SQL, connection and transaction + + The SQL command text + The connection to associate with the command + The transaction the command should be associated with + + + + Disposes of the command and clears all member variables + + Whether or not the class is being explicitly or implicitly disposed + + + + This method attempts to query the flags associated with the database + connection in use. If the database connection is disposed, the default + flags will be returned. + + + The command containing the databse connection to query the flags from. + + + The connection flags value. + + + + + Clears and destroys all statements currently prepared + + + + + Builds an array of prepared statements for each complete SQL statement in the command text + + + + + Not implemented + + + + + The SQL command text associated with the command + + + + + The amount of time to wait for the connection to become available before erroring out + + + + + The type of the command. SQLite only supports CommandType.Text + + + + + Forwards to the local CreateParameter() function + + + + + + Create a new parameter + + + + + + The connection associated with this command + + + + + Forwards to the local Connection property + + + + + Returns the SQLiteParameterCollection for the given command + + + + + Forwards to the local Parameters property + + + + + The transaction associated with this command. SQLite only supports one transaction per connection, so this property forwards to the + command's underlying connection. + + + + + Forwards to the local Transaction property + + + + + Verifies that all SQL queries associated with the current command text + can be successfully compiled. A will be + raised if any errors occur. + + + + + This function ensures there are no active readers, that we have a valid connection, + that the connection is open, that all statements are prepared and all parameters are assigned + in preparation for allocating a data reader. + + + + + Creates a new SQLiteDataReader to execute/iterate the array of SQLite prepared statements + + The behavior the data reader should adopt + Returns a SQLiteDataReader object + + + + This method creates a new connection, executes the query using the given + execution type, closes the connection, and returns the results. If the + connection string is null, a temporary in-memory database connection will + be used. + + + The text of the command to be executed. + + + The execution type for the command. This is used to determine which method + of the command object to call, which then determines the type of results + returned, if any. + + + The connection string to the database to be opened, used, and closed. If + this parameter is null, a temporary in-memory databse will be used. + + + The SQL parameter values to be used when building the command object to be + executed, if any. + + + The results of the query -OR- null if no results were produced from the + given execution type. + + + + + This method creates a new connection, executes the query using the given + execution type and command behavior, closes the connection unless a data + reader is created, and returns the results. If the connection string is + null, a temporary in-memory database connection will be used. + + + The text of the command to be executed. + + + The execution type for the command. This is used to determine which method + of the command object to call, which then determines the type of results + returned, if any. + + + The command behavior flags for the command. + + + The connection string to the database to be opened, used, and closed. If + this parameter is null, a temporary in-memory databse will be used. + + + The SQL parameter values to be used when building the command object to be + executed, if any. + + + The results of the query -OR- null if no results were produced from the + given execution type. + + + + + This method executes a query using the given execution type and command + behavior and returns the results. + + + The text of the command to be executed. + + + The execution type for the command. This is used to determine which method + of the command object to call, which then determines the type of results + returned, if any. + + + The command behavior flags for the command. + + + The connection used to create and execute the command. + + + The SQL parameter values to be used when building the command object to be + executed, if any. + + + The results of the query -OR- null if no results were produced from the + given execution type. + + + + + Overrides the default behavior to return a SQLiteDataReader specialization class + + The flags to be associated with the reader. + A SQLiteDataReader + + + + Overrides the default behavior of DbDataReader to return a specialized SQLiteDataReader class + + A SQLiteDataReader + + + + Called by the SQLiteDataReader when the data reader is closed. + + + + + Execute the command and return the number of rows inserted/updated affected by it. + + The number of rows inserted/updated affected by it. + + + + Execute the command and return the number of rows inserted/updated affected by it. + + The flags to be associated with the reader. + The number of rows inserted/updated affected by it. + + + + Execute the command and return the first column of the first row of the resultset + (if present), or null if no resultset was returned. + + The first column of the first row of the first resultset from the query. + + + + Execute the command and return the first column of the first row of the resultset + (if present), or null if no resultset was returned. + + The flags to be associated with the reader. + The first column of the first row of the first resultset from the query. + + + + This method resets all the prepared statements held by this instance + back to their initial states, ready to be re-executed. + + + + + This method resets all the prepared statements held by this instance + back to their initial states, ready to be re-executed. + + + Non-zero if the parameter bindings should be cleared as well. + + + If this is zero, a may be thrown for + any unsuccessful return codes from the native library; otherwise, a + will only be thrown if the connection + or its state is invalid. + + + + + Does nothing. Commands are prepared as they are executed the first time, and kept in prepared state afterwards. + + + + + Sets the method the SQLiteCommandBuilder uses to determine how to update inserted or updated rows in a DataTable. + + + + + Determines if the command is visible at design time. Defaults to True. + + + + + Clones a command, including all its parameters + + A new SQLiteCommand with the same commandtext, connection and parameters + + + + SQLite implementation of DbCommandBuilder. + + + + + Default constructor + + + + + Initializes the command builder and associates it with the specified data adapter. + + + + + + Cleans up resources (native and managed) associated with the current instance. + + + Zero when being disposed via garbage collection; otherwise, non-zero. + + + + + Minimal amount of parameter processing. Primarily sets the DbType for the parameter equal to the provider type in the schema + + The parameter to use in applying custom behaviors to a row + The row to apply the parameter to + The type of statement + Whether the application of the parameter is part of a WHERE clause + + + + Returns a valid named parameter + + The name of the parameter + Error + + + + Returns a named parameter for the given ordinal + + The i of the parameter + Error + + + + Returns a placeholder character for the specified parameter i. + + The index of the parameter to provide a placeholder for + Returns a named parameter + + + + Sets the handler for receiving row updating events. Used by the DbCommandBuilder to autogenerate SQL + statements that may not have previously been generated. + + A data adapter to receive events on. + + + + Gets/sets the DataAdapter for this CommandBuilder + + + + + Returns the automatically-generated SQLite command to delete rows from the database + + + + + + Returns the automatically-generated SQLite command to delete rows from the database + + + + + + + Returns the automatically-generated SQLite command to update rows in the database + + + + + + Returns the automatically-generated SQLite command to update rows in the database + + + + + + + Returns the automatically-generated SQLite command to insert rows into the database + + + + + + Returns the automatically-generated SQLite command to insert rows into the database + + + + + + + Overridden to hide its property from the designer + + + + + Overridden to hide its property from the designer + + + + + Overridden to hide its property from the designer + + + + + Overridden to hide its property from the designer + + + + + Places brackets around an identifier + + The identifier to quote + The bracketed identifier + + + + Removes brackets around an identifier + + The quoted (bracketed) identifier + The undecorated identifier + + + + Overridden to hide its property from the designer + + + + + Override helper, which can help the base command builder choose the right keys for the given query + + + + + + + This class represents a single value to be returned + from the class via + its , + , + , + , + , + , + , + , + , + , + , + , + , + , + , or + method. If the value of the + associated public field of this class is null upon returning from the + callback, the null value will only be used if the return type for the + method called is not a value type. + If the value to be returned from the + method is unsuitable (e.g. null with a value type), an exception will + be thrown. + + + + + The value to be returned from the + method -OR- null to + indicate an error. + + + + + The value to be returned from the + method -OR- null to + indicate an error. + + + + + The value to be returned from the + method -OR- null to + indicate an error. + + + + + The value to be returned from the + method. + + + + + The value to be returned from the + method -OR- null to + indicate an error. + + + + + The value to be returned from the + method. + + + + + The value to be returned from the + method -OR- null to + indicate an error. + + + + + The value to be returned from the + method -OR- null to + indicate an error. + + + + + The value to be returned from the + method -OR- null to + indicate an error. + + + + + The value to be returned from the + method -OR- null to + indicate an error. + + + + + The value to be returned from the + method -OR- null to + indicate an error. + + + + + The value to be returned from the + method -OR- null to + indicate an error. + + + + + The value to be returned from the + method -OR- null to + indicate an error. + + + + + The value to be returned from the + method -OR- null to + indicate an error. + + + + + The value to be returned from the + method. + + + + + The value to be returned from the + method. + + + + + This class represents the parameters that are provided + to the methods, with + the exception of the column index (provided separately). + + + + + This class represents the parameters that are provided to + the method, with + the exception of the column index (provided separately). + + + + + Provides the underlying storage for the + property. + + + + + Constructs an instance of this class to pass into a user-defined + callback associated with the + method. + + + The value that was originally specified for the "readOnly" + parameter to the method. + + + + + The value that was originally specified for the "readOnly" + parameter to the method. + + + + + This class represents the parameters that are provided + to the and + methods, with + the exception of the column index (provided separately). + + + + + Provides the underlying storage for the + property. + + + + + Provides the underlying storage for the + property. + + + + + Provides the underlying storage for the + property. + + + + + Provides the underlying storage for the + property. + + + + + Provides the underlying storage for the + property. + + + + + Constructs an instance of this class to pass into a user-defined + callback associated with the + method. + + + The value that was originally specified for the "dataOffset" + parameter to the or + methods. + + + The value that was originally specified for the "buffer" + parameter to the + method. + + + The value that was originally specified for the "bufferOffset" + parameter to the or + methods. + + + The value that was originally specified for the "length" + parameter to the or + methods. + + + + + Constructs an instance of this class to pass into a user-defined + callback associated with the + method. + + + The value that was originally specified for the "dataOffset" + parameter to the or + methods. + + + The value that was originally specified for the "buffer" + parameter to the + method. + + + The value that was originally specified for the "bufferOffset" + parameter to the or + methods. + + + The value that was originally specified for the "length" + parameter to the or + methods. + + + + + The value that was originally specified for the "dataOffset" + parameter to the or + methods. + + + + + The value that was originally specified for the "buffer" + parameter to the + method. + + + + + The value that was originally specified for the "buffer" + parameter to the + method. + + + + + The value that was originally specified for the "bufferOffset" + parameter to the or + methods. + + + + + The value that was originally specified for the "length" + parameter to the or + methods. + + + + + This class represents the parameters and return values for the + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , and + methods. + + + + + Provides the underlying storage for the + property. + + + + + Provides the underlying storage for the + property. + + + + + Provides the underlying storage for the + property. + + + + + Constructs a new instance of this class. Depending on the method + being called, the and/or + parameters may be null. + + + The name of the method that was + responsible for invoking this callback. + + + If the or + method is being called, + this object will contain the array related parameters for that + method. If the method is + being called, this object will contain the blob related parameters + for that method. + + + This may be used by the callback to set the return value for the + called method. + + + + + The name of the method that was + responsible for invoking this callback. + + + + + If the or + method is being called, + this object will contain the array related parameters for that + method. If the method is + being called, this object will contain the blob related parameters + for that method. + + + + + This may be used by the callback to set the return value for the + called method. + + + + + This represents a method that will be called in response to a request to + bind a parameter to a command. If an exception is thrown, it will cause + the parameter binding operation to fail -AND- it will continue to unwind + the call stack. + + + The instance in use. + + + The instance in use. + + + The flags associated with the instance + in use. + + + The instance being bound to the command. + + + The database type name associated with this callback. + + + The ordinal of the parameter being bound to the command. + + + The data originally used when registering this callback. + + + Non-zero if the default handling for the parameter binding call should + be skipped (i.e. the parameter should not be bound at all). Great care + should be used when setting this to non-zero. + + + + + This represents a method that will be called in response to a request + to read a value from a data reader. If an exception is thrown, it will + cause the data reader operation to fail -AND- it will continue to unwind + the call stack. + + + The instance in use. + + + The instance in use. + + + The flags associated with the instance + in use. + + + The parameter and return type data for the column being read from the + data reader. + + + The database type name associated with this callback. + + + The zero based index of the column being read from the data reader. + + + The data originally used when registering this callback. + + + Non-zero if the default handling for the data reader call should be + skipped. If this is set to non-zero and the necessary return value + is unavailable or unsuitable, an exception will be thrown. + + + + + This class represents the custom data type handling callbacks + for a single type name. + + + + + Provides the underlying storage for the + property. + + + + + Provides the underlying storage for the + property. + + + + + Provides the underlying storage for the + property. + + + + + Provides the underlying storage for the + property. + + + + + Provides the underlying storage for the + property. + + + + + Constructs an instance of this class. + + + The custom paramater binding callback. This parameter may be null. + + + The custom data reader value callback. This parameter may be null. + + + The extra data to pass into the parameter binding callback. This + parameter may be null. + + + The extra data to pass into the data reader value callback. This + parameter may be null. + + + + + Creates an instance of the class. + + + The custom paramater binding callback. This parameter may be null. + + + The custom data reader value callback. This parameter may be null. + + + The extra data to pass into the parameter binding callback. This + parameter may be null. + + + The extra data to pass into the data reader value callback. This + parameter may be null. + + + + + The database type name that the callbacks contained in this class + will apply to. This value may not be null. + + + + + The custom paramater binding callback. This value may be null. + + + + + The custom data reader value callback. This value may be null. + + + + + The extra data to pass into the parameter binding callback. This + value may be null. + + + + + The extra data to pass into the data reader value callback. This + value may be null. + + + + + This class represents the mappings between database type names + and their associated custom data type handling callbacks. + + + + + Constructs an (empty) instance of this class. + + + + + Event data for connection event handlers. + + + + + The type of event being raised. + + + + + The associated with this event, if any. + + + + + The transaction associated with this event, if any. + + + + + The command associated with this event, if any. + + + + + The data reader associated with this event, if any. + + + + + The critical handle associated with this event, if any. + + + + + Command or message text associated with this event, if any. + + + + + Extra data associated with this event, if any. + + + + + Constructs the object. + + The type of event being raised. + The base associated + with this event, if any. + The transaction associated with this event, if any. + The command associated with this event, if any. + The data reader associated with this event, if any. + The critical handle associated with this event, if any. + The command or message text, if any. + The extra data, if any. + + + + Raised when an event pertaining to a connection occurs. + + The connection involved. + Extra information about the event. + + + + SQLite implentation of DbConnection. + + + The property can contain the following parameter(s), delimited with a semi-colon: + + + Parameter + Values + Required + Default + + + Data Source + + This may be a file name, the string ":memory:", or any supported URI (starting with SQLite 3.7.7). + Starting with release 1.0.86.0, in order to use more than one consecutive backslash (e.g. for a + UNC path), each of the adjoining backslash characters must be doubled (e.g. "\\Network\Share\test.db" + would become "\\\\Network\Share\test.db"). + + Y + + + + Uri + + If specified, this must be a file name that starts with "file://", "file:", or "/". Any leading + "file://" or "file:" prefix will be stripped off and the resulting file name will be used to open + the database. + + N + null + + + FullUri + + If specified, this must be a URI in a format recognized by the SQLite core library (starting with + SQLite 3.7.7). It will be passed verbatim to the SQLite core library. + + N + null + + + Version + 3 + N + 3 + + + UseUTF16Encoding + + True - The UTF-16 encoding should be used. +
+ False - The UTF-8 encoding should be used. +
+ N + False +
+ + DefaultDbType + + This is the default to use when one cannot be determined based on the + column metadata and the configured type mappings. + + N + null + + + DefaultTypeName + + This is the default type name to use when one cannot be determined based on the column metadata + and the configured type mappings. + + N + null + + + NoDefaultFlags + + True - Do not combine the specified (or existing) connection flags with the value of the + property. +
+ False - Combine the specified (or existing) connection flags with the value of the + property. +
+ N + False +
+ + NoSharedFlags + + True - Do not combine the specified (or existing) connection flags with the value of the + property. +
+ False - Combine the specified (or existing) connection flags with the value of the + property. +
+ N + False +
+ + VfsName + + The name of the VFS to use when opening the database connection. + If this is not specified, the default VFS will be used. + + N + null + + + ZipVfsVersion + + If non-null, this is the "version" of ZipVFS to use. This requires + the System.Data.SQLite interop assembly -AND- primary managed assembly + to be compiled with the INTEROP_INCLUDE_ZIPVFS option; otherwise, this + property does nothing. The valid values are "v2" and "v3". Using + anyother value will cause an exception to be thrown. Please see the + ZipVFS documentation for more information on how to use this parameter. + + N + null + + + DateTimeFormat + + Ticks - Use the value of DateTime.Ticks.
+ ISO8601 - Use the ISO-8601 format. Uses the "yyyy-MM-dd HH:mm:ss.FFFFFFFK" format for UTC + DateTime values and "yyyy-MM-dd HH:mm:ss.FFFFFFF" format for local DateTime values).
+ JulianDay - The interval of time in days and fractions of a day since January 1, 4713 BC.
+ UnixEpoch - The whole number of seconds since the Unix epoch (January 1, 1970).
+ InvariantCulture - Any culture-independent string value that the .NET Framework can interpret as a valid DateTime.
+ CurrentCulture - Any string value that the .NET Framework can interpret as a valid DateTime using the current culture.
+ N + ISO8601 +
+ + DateTimeKind + + Unspecified - Not specified as either UTC or local time. +
+ Utc - The time represented is UTC. +
+ Local - The time represented is local time. +
+ N + Unspecified +
+ + DateTimeFormatString + + The exact DateTime format string to use for all formatting and parsing of all DateTime + values for this connection. + + N + null + + + BaseSchemaName + + Some base data classes in the framework (e.g. those that build SQL queries dynamically) + assume that an ADO.NET provider cannot support an alternate catalog (i.e. database) without supporting + alternate schemas as well; however, SQLite does not fit into this model. Therefore, this value is used + as a placeholder and removed prior to preparing any SQL statements that may contain it. + + N + sqlite_default_schema + + + BinaryGUID + + True - Store GUID columns in binary form +
+ False - Store GUID columns as text +
+ N + True +
+ + Cache Size + + If the argument N is positive then the suggested cache size is set to N. + If the argument N is negative, then the number of cache pages is adjusted + to use approximately abs(N*4096) bytes of memory. Backwards compatibility + note: The behavior of cache_size with a negative N was different in SQLite + versions prior to 3.7.10. In version 3.7.9 and earlier, the number of + pages in the cache was set to the absolute value of N. + + N + -2000 + + + Synchronous + + Normal - Normal file flushing behavior +
+ Full - Full flushing after all writes +
+ Off - Underlying OS flushes I/O's +
+ N + Full +
+ + Page Size + {size in bytes} + N + 4096 + + + Password + + {password} - Using this parameter requires that the legacy CryptoAPI based + codec (or the SQLite Encryption Extension) be enabled at compile-time for + both the native interop assembly and the core managed assemblies; otherwise, + using this parameter may result in an exception being thrown when attempting + to open the connection. + + N + + + + HexPassword + + {hexPassword} - Must contain a sequence of zero or more hexadecimal encoded + byte values without a leading "0x" prefix. Using this parameter requires + that the legacy CryptoAPI based codec (or the SQLite Encryption Extension) + be enabled at compile-time for both the native interop assembly and the + core managed assemblies; otherwise, using this parameter may result in an + exception being thrown when attempting to open the connection. + + N + + + + Enlist + + Y - Automatically enlist in distributed transactions +
+ N - No automatic enlistment +
+ N + Y +
+ + Pooling + + True - Use connection pooling.
+ False - Do not use connection pooling.

+ WARNING: When using the default connection pool implementation, + setting this property to True should be avoided by applications that make + use of COM (either directly or indirectly) due to possible deadlocks that + can occur during the finalization of some COM objects. +
+ N + False +
+ + FailIfMissing + + True - Don't create the database if it does not exist, throw an error instead +
+ False - Automatically create the database if it does not exist +
+ N + False +
+ + Max Page Count + {size in pages} - Limits the maximum number of pages (limits the size) of the database + N + 0 + + + Legacy Format + + True - Use the more compatible legacy 3.x database format +
+ False - Use the newer 3.3x database format which compresses numbers more effectively +
+ N + False +
+ + Default Timeout + {time in seconds}
The default command timeout
+ N + 30 +
+ + BusyTimeout + {time in milliseconds}
Sets the busy timeout for the core library.
+ N + 0 +
+ + WaitTimeout + {time in milliseconds}
+ EXPERIMENTAL -- The wait timeout to use with + method. This is only used when + waiting for the enlistment to be reset prior to enlisting in a transaction, + and then only when the appropriate connection flag is set.
+ N + 30000 +
+ + Journal Mode + + Delete - Delete the journal file after a commit. +
+ Persist - Zero out and leave the journal file on disk after a + commit. +
+ Off - Disable the rollback journal entirely. This saves disk I/O + but at the expense of database safety and integrity. If the application + using SQLite crashes in the middle of a transaction when this journaling + mode is set, then the database file will very likely go corrupt. +
+ Truncate - Truncate the journal file to zero-length instead of + deleting it. +
+ Memory - Store the journal in volatile RAM. This saves disk I/O + but at the expense of database safety and integrity. If the application + using SQLite crashes in the middle of a transaction when this journaling + mode is set, then the database file will very likely go corrupt. +
+ Wal - Use a write-ahead log instead of a rollback journal. +
+ N + Delete +
+ + Read Only + + True - Open the database for read only access +
+ False - Open the database for normal read/write access +
+ N + False +
+ + Max Pool Size + The maximum number of connections for the given connection string that can be in the connection pool + N + 100 + + + Default IsolationLevel + The default transaciton isolation level + N + Serializable + + + Foreign Keys + Enable foreign key constraints + N + False + + + Flags + Extra behavioral flags for the connection. See the enumeration for possible values. + N + Default + + + SetDefaults + + True - Apply the default connection settings to the opened database.
+ False - Skip applying the default connection settings to the opened database. +
+ N + True +
+ + ToFullPath + + True - Attempt to expand the data source file name to a fully qualified path before opening. +
+ False - Skip attempting to expand the data source file name to a fully qualified path before opening. +
+ N + True +
+ + PrepareRetries + + The maximum number of retries when preparing SQL to be executed. This + normally only applies to preparation errors resulting from the database + schema being changed. + + N + 3 + + + ProgressOps + + The approximate number of virtual machine instructions between progress + events. In order for progress events to actually fire, the event handler + must be added to the event as well. + + N + 0 + + + Recursive Triggers + + True - Enable the recursive trigger capability. + False - Disable the recursive trigger capability. + + N + False + +
+
+
+ + + The "invalid value" for the enumeration used + by the property. This constant is shared + by this class and the SQLiteConnectionStringBuilder class. + + + + + The default "stub" (i.e. placeholder) base schema name to use when + returning column schema information. Used as the initial value of + the BaseSchemaName property. This should start with "sqlite_*" + because those names are reserved for use by SQLite (i.e. they cannot + be confused with the names of user objects). + + + + + The managed assembly containing this type. + + + + + Object used to synchronize access to the static instance data + for this class. + + + + + Static variable to store the connection event handlers to call. + + + + + The extra connection flags to be used for all opened connections. + + + + + The instance (for this thread) that + had the most recent call to . + + + + + State of the current connection + + + + + The connection string + + + + + Nesting level of the transactions open on the connection + + + + + Transaction counter for the connection. Currently, this is only used + to build SAVEPOINT names. + + + + + If this flag is non-zero, the method will have + no effect; however, the method will continue to + behave as normal. + + + + + If set, then the connection is currently being disposed. + + + + + The default isolation level for new transactions + + + + + This object is used with lock statements to synchronize access to the + field, below. + + + + + Whether or not the connection is enlisted in a distrubuted transaction + + + + + The per-connection mappings between type names and + values. These mappings override the corresponding global mappings. + + + + + The per-connection mappings between type names and optional callbacks + for parameter binding and value reading. + + + + + The base SQLite object to interop with + + + + + The database filename minus path and extension + + + + + The "stub" (i.e. placeholder) base schema name to use when returning + column schema information. + + + + + The extra behavioral flags for this connection, if any. See the + enumeration for a list of + possible values. + + + + + The cached values for all settings that have been fetched on behalf + of this connection. This cache may be cleared by calling the + method. + + + + + The default databse type for this connection. This value will only + be used if the + flag is set. + + + + + The default databse type name for this connection. This value will only + be used if the + flag is set. + + + + + The name of the VFS to be used when opening the database connection. + + + + + Default command timeout + + + + + The default busy timeout to use with the SQLite core library. This is + only used when opening a connection. + + + + + The default wait timeout to use with + method. This is only used when waiting for the enlistment to be reset + prior to enlisting in a transaction, and then only when the appropriate + connection flag is set. + + + + + The maximum number of retries when preparing SQL to be executed. This + normally only applies to preparation errors resulting from the database + schema being changed. + + + + + The approximate number of virtual machine instructions between progress + events. In order for progress events to actually fire, the event handler + must be added to the event as + well. This value will only be used when opening the database. + + + + + Non-zero if the built-in (i.e. framework provided) connection string + parser should be used when opening the connection. + + + + + This event is raised whenever the database is opened or closed. + + + + + Constructs a new SQLiteConnection object + + + Default constructor + + + + + Initializes the connection with the specified connection string. + + The connection string to use. + + + + Initializes the connection with a pre-existing native connection handle. + This constructor overload is intended to be used only by the private + method. + + + The native connection handle to use. + + + The file name corresponding to the native connection handle. + + + Non-zero if this instance owns the native connection handle and + should dispose of it when it is no longer needed. + + + + + Initializes the connection with the specified connection string. + + + The connection string to use. + + + Non-zero to parse the connection string using the built-in (i.e. + framework provided) parser when opening the connection. + + + + + Clones the settings and connection string from an existing connection. If the existing connection is already open, this + function will open its own connection, enumerate any attached databases of the original connection, and automatically + attach to them. + + The connection to copy the settings from. + + + + Attempts to lookup the native handle associated with the connection. An exception will + be thrown if this cannot be accomplished. + + + The connection associated with the desired native handle. + + + The native handle associated with the connection or if it + cannot be determined. + + + + + Raises the event. + + + The connection associated with this event. If this parameter is not + null and the specified connection cannot raise events, then the + registered event handlers will not be invoked. + + + A that contains the event data. + + + + + This event is raised when events related to the lifecycle of a + SQLiteConnection object occur. + + + + + This property is used to obtain or set the custom connection pool + implementation to use, if any. Setting this property to null will + cause the default connection pool implementation to be used. + + + + + Creates and returns a new managed database connection handle. This + method is intended to be used by implementations of the + interface only. In theory, it + could be used by other classes; however, that usage is not supported. + + + This must be a native database connection handle returned by the + SQLite core library and it must remain valid and open during the + entire duration of the calling method. + + + The new managed database connection handle or null if it cannot be + created. + + + + + Backs up the database, using the specified database connection as the + destination. + + The destination database connection. + The destination database name. + The source database name. + + The number of pages to copy at a time -OR- a negative value to copy all + pages. When a negative value is used, the + may never be invoked. + + + The method to invoke between each step of the backup process. This + parameter may be null (i.e. no callbacks will be performed). If the + callback returns false -OR- throws an exception, the backup is canceled. + + + The number of milliseconds to sleep after encountering a locking error + during the backup process. A value less than zero means that no sleep + should be performed. + + + + + Clears the per-connection cached settings. + + + The total number of per-connection settings cleared. + + + + + Queries and returns the value of the specified setting, using the + cached setting names and values for this connection, when available. + + + The name of the setting. + + + The value to be returned if the setting has not been set explicitly + or cannot be determined. + + + The value of the cached setting is stored here if found; otherwise, + the value of is stored here. + + + Non-zero if the cached setting was found; otherwise, zero. + + + + + Adds or sets the cached setting specified by + to the value specified by . + + + The name of the cached setting to add or replace. + + + The new value of the cached setting. + + + + + Clears the per-connection type mappings. + + + The total number of per-connection type mappings cleared. + + + + + Returns the per-connection type mappings. + + + The per-connection type mappings -OR- null if they are unavailable. + + + + + Adds a per-connection type mapping, possibly replacing one or more + that already exist. + + + The case-insensitive database type name (e.g. "MYDATE"). The value + of this parameter cannot be null. Using an empty string value (or + a string value consisting entirely of whitespace) for this parameter + is not recommended. + + + The value that should be associated with the + specified type name. + + + Non-zero if this mapping should be considered to be the primary one + for the specified . + + + A negative value if nothing was done. Zero if no per-connection type + mappings were replaced (i.e. it was a pure add operation). More than + zero if some per-connection type mappings were replaced. + + + + + Clears the per-connection type callbacks. + + + The total number of per-connection type callbacks cleared. + + + + + Attempts to get the per-connection type callbacks for the specified + database type name. + + + The database type name. + + + Upon success, this parameter will contain the object holding the + callbacks for the database type name. Upon failure, this parameter + will be null. + + + Non-zero upon success; otherwise, zero. + + + + + Sets, resets, or clears the per-connection type callbacks for the + specified database type name. + + + The database type name. + + + The object holding the callbacks for the database type name. If + this parameter is null, any callbacks for the database type name + will be removed if they are present. + + + Non-zero if callbacks were set or removed; otherwise, zero. + + + + + Attempts to bind the specified object + instance to this connection. + + + The object instance containing + the metadata for the function to be bound. + + + The object instance that implements the + function to be bound. + + + + + Attempts to bind the specified object + instance to this connection. + + + The object instance containing + the metadata for the function to be bound. + + + A object instance that helps implement the + function to be bound. For scalar functions, this corresponds to the + type. For aggregate functions, + this corresponds to the type. For + collation functions, this corresponds to the + type. + + + A object instance that helps implement the + function to be bound. For aggregate functions, this corresponds to the + type. For other callback types, it + is not used and must be null. + + + + + Attempts to unbind the specified object + instance to this connection. + + + The object instance containing + the metadata for the function to be unbound. + + Non-zero if the function was unbound. + + + + This method unbinds all registered (known) functions -OR- all previously + bound user-defined functions from this connection. + + + Non-zero to unbind all registered (known) functions -OR- zero to unbind + all functions currently bound to the connection. + + + Non-zero if all the specified user-defined functions were unbound. + + + + + Parses a connection string into component parts using the custom + connection string parser. An exception may be thrown if the syntax + of the connection string is incorrect. + + + The connection string to parse. + + + Non-zero to parse the connection string using the algorithm provided + by the framework itself. This is not applicable when running on the + .NET Compact Framework. + + + Non-zero if names are allowed without values. + + + The list of key/value pairs corresponding to the parameters specified + within the connection string. + + + + + Parses a connection string into component parts using the custom + connection string parser. An exception may be thrown if the syntax + of the connection string is incorrect. + + + The connection that will be using the parsed connection string. + + + The connection string to parse. + + + Non-zero to parse the connection string using the algorithm provided + by the framework itself. This is not applicable when running on the + .NET Compact Framework. + + + Non-zero if names are allowed without values. + + + The list of key/value pairs corresponding to the parameters specified + within the connection string. + + + + + Disposes and finalizes the connection, if applicable. + + + + + Cleans up resources (native and managed) associated with the current instance. + + + Zero when being disposed via garbage collection; otherwise, non-zero. + + + + + Creates a clone of the connection. All attached databases and user-defined functions are cloned. If the existing connection is open, the cloned connection + will also be opened. + + + + + + Creates a database file. This just creates a zero-byte file which SQLite + will turn into a database when the file is opened properly. + + The file to create + + + + Raises the state change event when the state of the connection changes + + The new connection state. If this is different + from the previous state, the event is + raised. + The event data created for the raised event, if + it was actually raised. + + + + Determines and returns the fallback default isolation level when one cannot be + obtained from an existing connection instance. + + + The fallback default isolation level for this connection instance -OR- + if it cannot be determined. + + + + + Determines and returns the default isolation level for this connection instance. + + + The default isolation level for this connection instance -OR- + if it cannot be determined. + + + + + OBSOLETE. Creates a new SQLiteTransaction if one isn't already active on the connection. + + This parameter is ignored. + When TRUE, SQLite defers obtaining a write lock until a write operation is requested. + When FALSE, a writelock is obtained immediately. The default is TRUE, but in a multi-threaded multi-writer + environment, one may instead choose to lock the database immediately to avoid any possible writer deadlock. + Returns a SQLiteTransaction object. + + + + OBSOLETE. Creates a new SQLiteTransaction if one isn't already active on the connection. + + When TRUE, SQLite defers obtaining a write lock until a write operation is requested. + When FALSE, a writelock is obtained immediately. The default is false, but in a multi-threaded multi-writer + environment, one may instead choose to lock the database immediately to avoid any possible writer deadlock. + Returns a SQLiteTransaction object. + + + + Creates a new if one isn't already active on the connection. + + Supported isolation levels are Serializable, ReadCommitted and Unspecified. + + Unspecified will use the default isolation level specified in the connection string. If no isolation level is specified in the + connection string, Serializable is used. + Serializable transactions are the default. In this mode, the engine gets an immediate lock on the database, and no other threads + may begin a transaction. Other threads may read from the database, but not write. + With a ReadCommitted isolation level, locks are deferred and elevated as needed. It is possible for multiple threads to start + a transaction in ReadCommitted mode, but if a thread attempts to commit a transaction while another thread + has a ReadCommitted lock, it may timeout or cause a deadlock on both threads until both threads' CommandTimeout's are reached. + + Returns a SQLiteTransaction object. + + + + Creates a new if one isn't already + active on the connection. + + Returns the new transaction object. + + + + Forwards to the local function + + Supported isolation levels are Unspecified, Serializable, and ReadCommitted + + + + + This method is not implemented; however, the + event will still be raised. + + + + + + When the database connection is closed, all commands linked to this connection are automatically reset. + + + + + Returns the number of pool entries for the file name associated with this connection. + + + + + Clears the connection pool associated with the connection. Any other active connections using the same database file + will be discarded instead of returned to the pool when they are closed. + + + + + + Clears all connection pools. Any active connections will be discarded instead of sent to the pool when they are closed. + + + + + The connection string containing the parameters for the connection + + + For the complete list of supported connection string properties, + please see . + + + + + Create a new and associate it with this connection. + + Returns a new command object already assigned to this connection. + + + + Forwards to the local function. + + + + + + Attempts to create a new object instance + using this connection and the specified database name. + + + The name of the database for the newly created session. + + + The newly created session -OR- null if it cannot be created. + + + + + Attempts to create a new object instance + using this connection and the specified raw data. + + + The raw data that contains a change set (or patch set). + + + The newly created change set -OR- null if it cannot be created. + + + + + Attempts to create a new object instance + using this connection and the specified raw data. + + + The raw data that contains a change set (or patch set). + + + The flags used to create the change set iterator. + + + The newly created change set -OR- null if it cannot be created. + + + + + Attempts to create a new object instance + using this connection and the specified stream. + + + The stream where the raw data that contains a change set (or patch set) + may be read. + + + The stream where the raw data that contains a change set (or patch set) + may be written. + + + The newly created change set -OR- null if it cannot be created. + + + + + Attempts to create a new object instance + using this connection and the specified stream. + + + The stream where the raw data that contains a change set (or patch set) + may be read. + + + The stream where the raw data that contains a change set (or patch set) + may be written. + + + The flags used to create the change set iterator. + + + The newly created change set -OR- null if it cannot be created. + + + + + Attempts to create a new object + instance using this connection. + + + The newly created change group -OR- null if it cannot be created. + + + + + Returns the data source file name without extension or path. + + + + + Returns the fully qualified path and file name for the currently open + database, if any. + + + + + Returns the string "main". + + + + + Determines if the legacy connection string parser should be used. + + + The connection that will be using the parsed connection string. + + + Non-zero if the legacy connection string parser should be used. + + + + + Parses a connection string into component parts using the custom + connection string parser. An exception may be thrown if the syntax + of the connection string is incorrect. + + + The connection string to parse. + + + Non-zero if names are allowed without values. + + + The list of key/value pairs corresponding to the parameters specified + within the connection string. + + + + + Parses a connection string into component parts using the custom + connection string parser. An exception may be thrown if the syntax + of the connection string is incorrect. + + + The connection that will be using the parsed connection string. + + + The connection string to parse. + + + Non-zero if names are allowed without values. + + + The list of key/value pairs corresponding to the parameters specified + within the connection string. + + + + + Parses a connection string using the built-in (i.e. framework provided) + connection string parser class and returns the key/value pairs. An + exception may be thrown if the connection string is invalid or cannot be + parsed. When compiled for the .NET Compact Framework, the custom + connection string parser is always used instead because the framework + provided one is unavailable there. + + + The connection that will be using the parsed connection string. + + + The connection string to parse. + + + Non-zero to throw an exception if any connection string values are not of + the type. This is not applicable when running on + the .NET Compact Framework. + + The list of key/value pairs. + + + + Manual distributed transaction enlistment support + + The distributed transaction to enlist in + + + + EXPERIMENTAL -- + Waits for the enlistment associated with this connection to be reset. + This method always throws when + running on the .NET Compact Framework. + + + The approximate maximum number of milliseconds to wait before timing + out the wait operation. + + + The return value to use if the connection has been disposed; if this + value is null, will be raised + if the connection has been disposed. + + + Non-zero if the enlistment assciated with this connection was reset; + otherwise, zero. It should be noted that this method returning a + non-zero value does not necessarily guarantee that the connection + can enlist in a new transaction (i.e. due to potentical race with + other threads); therefore, callers should generally use try/catch + when calling the method. + + + + + Looks for a key in the array of key/values of the parameter string. If not found, return the specified default value + + The list to look in + The key to find + The default value to return if the key is not found + The value corresponding to the specified key, or the default value if not found. + + + + Attempts to convert the string value to an enumerated value of the specified type. + + The enumerated type to convert the string value to. + The string value to be converted. + Non-zero to make the conversion case-insensitive. + The enumerated value upon success or null upon error. + + + + Attempts to convert an input string into a byte value. + + + The string value to be converted. + + + The number styles to use for the conversion. + + + Upon sucess, this will contain the parsed byte value. + Upon failure, the value of this parameter is undefined. + + + Non-zero upon success; zero on failure. + + + + + Change a limit value for the database. + + + The database limit to change. + + + The new value for the specified limit. + + + The old value for the specified limit -OR- negative one if an error + occurs. + + + + + Change a configuration option value for the database. + + + The database configuration option to change. + + + The new value for the specified configuration option. + + + + + Enables or disables extension loading. + + + True to enable loading of extensions, false to disable. + + + + + Loads a SQLite extension library from the named dynamic link library file. + + + The name of the dynamic link library file containing the extension. + + + + + Loads a SQLite extension library from the named dynamic link library file. + + + The name of the dynamic link library file containing the extension. + + + The name of the exported function used to initialize the extension. + If null, the default "sqlite3_extension_init" will be used. + + + + + Creates a disposable module containing the implementation of a virtual + table. + + + The module object to be used when creating the disposable module. + + + + + Parses a string containing a sequence of zero or more hexadecimal + encoded byte values and returns the resulting byte array. The + "0x" prefix is not allowed on the input string. + + + The input string containing zero or more hexadecimal encoded byte + values. + + + A byte array containing the parsed byte values or null if an error + was encountered. + + + + + Creates and returns a string containing the hexadecimal encoded byte + values from the input array. + + + The input array of bytes. + + + The resulting string or null upon failure. + + + + + Parses a string containing a sequence of zero or more hexadecimal + encoded byte values and returns the resulting byte array. The + "0x" prefix is not allowed on the input string. + + + The input string containing zero or more hexadecimal encoded byte + values. + + + Upon failure, this will contain an appropriate error message. + + + A byte array containing the parsed byte values or null if an error + was encountered. + + + + + This method figures out what the default connection pool setting should + be based on the connection flags. When present, the "Pooling" connection + string property value always overrides the value returned by this method. + + + Non-zero if the connection pool should be enabled by default; otherwise, + zero. + + + + + Determines the transaction isolation level that should be used by + the caller, primarily based upon the one specified by the caller. + If mapping of transaction isolation levels is enabled, the returned + transaction isolation level may be significantly different than the + originally specified one. + + + The originally specified transaction isolation level. + + + The transaction isolation level that should be used. + + + + + Opens the connection using the parameters found in the . + + + + + Opens the connection using the parameters found in the and then returns it. + + The current connection object. + + + + Gets/sets the default command timeout for newly-created commands. This is especially useful for + commands used internally such as inside a SQLiteTransaction, where setting the timeout is not possible. + This can also be set in the ConnectionString with "Default Timeout" + + + + + Gets/sets the default busy timeout to use with the SQLite core library. This is only used when + opening a connection. + + + + + EXPERIMENTAL -- + The wait timeout to use with method. + This is only used when waiting for the enlistment to be reset prior to + enlisting in a transaction, and then only when the appropriate connection + flag is set. + + + + + The maximum number of retries when preparing SQL to be executed. This + normally only applies to preparation errors resulting from the database + schema being changed. + + + + + The approximate number of virtual machine instructions between progress + events. In order for progress events to actually fire, the event handler + must be added to the event as + well. This value will only be used when the underlying native progress + callback needs to be changed. + + + + + Non-zero if the built-in (i.e. framework provided) connection string + parser should be used when opening the connection. + + + + + Gets/sets the extra behavioral flags for this connection. See the + enumeration for a list of + possible values. + + + + + Gets/sets the default database type for this connection. This value + will only be used when not null. + + + + + Gets/sets the default database type name for this connection. This + value will only be used when not null. + + + + + Gets/sets the VFS name for this connection. This value will only be + used when opening the database. + + + + + Returns non-zero if the underlying native connection handle is + owned by this instance. + + + + + Returns the version of the underlying SQLite database engine + + + + + Returns the rowid of the most recent successful INSERT into the database from this connection. + + + + + This method causes any pending database operation to abort and return at + its earliest opportunity. This routine is typically called in response + to a user action such as pressing "Cancel" or Ctrl-C where the user wants + a long query operation to halt immediately. It is safe to call this + routine from any thread. However, it is not safe to call this routine + with a database connection that is closed or might close before this method + returns. + + + + + Returns the number of rows changed by the last INSERT, UPDATE, or DELETE statement executed on + this connection. + + + + + Checks if this connection to the specified database should be considered + read-only. An exception will be thrown if the database name specified + via cannot be found. + + + The name of a database associated with this connection -OR- null for the + main database. + + + Non-zero if this connection to the specified database should be considered + read-only. + + + + + Returns non-zero if the given database connection is in autocommit mode. + Autocommit mode is on by default. Autocommit mode is disabled by a BEGIN + statement. Autocommit mode is re-enabled by a COMMIT or ROLLBACK. + + + + + Returns the amount of memory (in bytes) currently in use by the SQLite core library. + + + + + Returns the maximum amount of memory (in bytes) used by the SQLite core library since the high-water mark was last reset. + + + + + Returns various global memory statistics for the SQLite core library via + a dictionary of key/value pairs. Currently, only the "MemoryUsed" and + "MemoryHighwater" keys are returned and they have values that correspond + to the values that could be obtained via the + and connection properties. + + + This dictionary will be populated with the global memory statistics. It + will be created if necessary. + + + + + Attempts to free as much heap memory as possible for this database connection. + + + + + Attempts to free N bytes of heap memory by deallocating non-essential memory + allocations held by the database library. Memory used to cache database pages + to improve performance is an example of non-essential memory. This is a no-op + returning zero if the SQLite core library was not compiled with the compile-time + option SQLITE_ENABLE_MEMORY_MANAGEMENT. Optionally, attempts to reset and/or + compact the Win32 native heap, if applicable. + + + The requested number of bytes to free. + + + Non-zero to attempt a heap reset. + + + Non-zero to attempt heap compaction. + + + The number of bytes actually freed. This value may be zero. + + + This value will be non-zero if the heap reset was successful. + + + The size of the largest committed free block in the heap, in bytes. + This value will be zero unless heap compaction is enabled. + + + A standard SQLite return code (i.e. zero for success and non-zero + for failure). + + + + + Sets the status of the memory usage tracking subsystem in the SQLite core library. By default, this is enabled. + If this is disabled, memory usage tracking will not be performed. This is not really a per-connection value, it is + global to the process. + + Non-zero to enable memory usage tracking, zero otherwise. + A standard SQLite return code (i.e. zero for success and non-zero for failure). + + + + Returns a string containing the define constants (i.e. compile-time + options) used to compile the core managed assembly, delimited with + spaces. + + + + + Returns the version of the underlying SQLite core library. + + + + + This method returns the string whose value is the same as the + SQLITE_SOURCE_ID C preprocessor macro used when compiling the + SQLite core library. + + + + + Returns a string containing the compile-time options used to + compile the SQLite core native library, delimited with spaces. + + + + + This method returns the version of the interop SQLite assembly + used. If the SQLite interop assembly is not in use or the + necessary information cannot be obtained for any reason, a null + value may be returned. + + + + + This method returns the string whose value contains the unique + identifier for the source checkout used to build the interop + assembly. If the SQLite interop assembly is not in use or the + necessary information cannot be obtained for any reason, a null + value may be returned. + + + + + Returns a string containing the compile-time options used to + compile the SQLite interop assembly, delimited with spaces. + + + + + This method returns the version of the managed components used + to interact with the SQLite core library. If the necessary + information cannot be obtained for any reason, a null value may + be returned. + + + + + This method returns the string whose value contains the unique + identifier for the source checkout used to build the managed + components currently executing. If the necessary information + cannot be obtained for any reason, a null value may be returned. + + + + + Queries and returns the value of the specified setting, using the + cached setting names and values for the last connection that used + the method, when available. + + + The name of the setting. + + + The value to be returned if the setting has not been set explicitly + or cannot be determined. + + + The value of the cached setting is stored here if found; otherwise, + the value of is stored here. + + + Non-zero if the cached setting was found; otherwise, zero. + + + + + Adds or sets the cached setting specified by + to the value specified by using the cached + setting names and values for the last connection that used the + method, when available. + + + The name of the cached setting to add or replace. + + + The new value of the cached setting. + + + + + The default connection flags to be used for all opened connections + when they are not present in the connection string. + + + + + The extra connection flags to be used for all opened connections. + + + + + Returns the state of the connection. + + + + + Passes a shutdown request to the SQLite core library. Does not throw + an exception if the shutdown request fails. + + + A standard SQLite return code (i.e. zero for success and non-zero for + failure). + + + + + Passes a shutdown request to the SQLite core library. Throws an + exception if the shutdown request fails and the no-throw parameter + is non-zero. + + + Non-zero to reset the database and temporary directories to their + default values, which should be null for both. + + + When non-zero, throw an exception if the shutdown request fails. + + + + Enables or disables extended result codes returned by SQLite + + + Enables or disables extended result codes returned by SQLite + + + Enables or disables extended result codes returned by SQLite + + + Add a log message via the SQLite sqlite3_log interface. + + + Add a log message via the SQLite sqlite3_log interface. + + + + Queries or modifies the number of retries or the retry interval (in milliseconds) for + certain I/O operations that may fail due to anti-virus software. + + The number of times to retry the I/O operation. A negative value + will cause the current count to be queried and replace that negative value. + The number of milliseconds to wait before retrying the I/O + operation. This number is multiplied by the number of retry attempts so far to come + up with the final number of milliseconds to wait. A negative value will cause the + current interval to be queried and replace that negative value. + Zero for success, non-zero for error. + + + + Sets the chunk size for the primary file associated with this database + connection. + + + The new chunk size for the main database, in bytes. + + + Zero for success, non-zero for error. + + + + + Removes one set of surrounding single -OR- double quotes from the string + value and returns the resulting string value. If the string is null, empty, + or contains quotes that are not balanced, nothing is done and the original + string value will be returned. + + The string value to process. + + The string value, modified to remove one set of surrounding single -OR- + double quotes, if applicable. + + + + + Determines the directory to be used when dealing with the "|DataDirectory|" + macro in a database file name. + + + The directory to use in place of the "|DataDirectory|" macro -OR- null if it + cannot be determined. + + + + + Expand the filename of the data source, resolving the |DataDirectory| + macro as appropriate. + + The database filename to expand + + Non-zero if the returned file name should be converted to a full path + (except when using the .NET Compact Framework). + + The expanded path and filename of the filename + + + + The following commands are used to extract schema information out of the database. Valid schema types are: + + + MetaDataCollections + + + DataSourceInformation + + + Catalogs + + + Columns + + + ForeignKeys + + + Indexes + + + IndexColumns + + + Tables + + + Views + + + ViewColumns + + + + + Returns the MetaDataCollections schema + + A DataTable of the MetaDataCollections schema + + + + Returns schema information of the specified collection + + The schema collection to retrieve + A DataTable of the specified collection + + + + Retrieves schema information using the specified constraint(s) for the specified collection + + The collection to retrieve. + + The restrictions to impose. Typically, this may include: + + + restrictionValues element index + usage + + + 0 + The database (or catalog) name, if applicable. + + + 1 + The schema name. This is not used by this provider. + + + 2 + The table name, if applicable. + + + 3 + + Depends on . + When "IndexColumns", it is the index name; otherwise, it is the column name. + + + + 4 + + Depends on . + When "IndexColumns", it is the column name; otherwise, it is not used. + + + + + A DataTable of the specified collection + + + + Builds a MetaDataCollections schema datatable + + DataTable + + + + Builds a DataSourceInformation datatable + + DataTable + + + + Build a Columns schema + + The catalog (attached database) to query, can be null + The table to retrieve schema information for, can be null + The column to retrieve schema information for, can be null + DataTable + + + + Returns index information for the given database and catalog + + The catalog (attached database) to query, can be null + The name of the index to retrieve information for, can be null + The table to retrieve index information for, can be null + DataTable + + + + Retrieves table schema information for the database and catalog + + The catalog (attached database) to retrieve tables on + The table to retrieve, can be null + The table type, can be null + DataTable + + + + Retrieves view schema information for the database + + The catalog (attached database) to retrieve views on + The view name, can be null + DataTable + + + + Retrieves catalog (attached databases) schema information for the database + + The catalog to retrieve, can be null + DataTable + + + + Returns the base column information for indexes in a database + + The catalog to retrieve indexes for (can be null) + The table to restrict index information by (can be null) + The index to restrict index information by (can be null) + The source column to restrict index information by (can be null) + A DataTable containing the results + + + + Returns detailed column information for a specified view + + The catalog to retrieve columns for (can be null) + The view to restrict column information by (can be null) + The source column to restrict column information by (can be null) + A DataTable containing the results + + + + Retrieves foreign key information from the specified set of filters + + An optional catalog to restrict results on + An optional table to restrict results on + An optional foreign key name to restrict results on + A DataTable with the results of the query + + + + This event is raised periodically during long running queries. Changing + the value of the property will + determine if the operation in progress will continue or be interrupted. + For the entire duration of the event, the associated connection and + statement objects must not be modified, either directly or indirectly, by + the called code. + + + + + This event is raised whenever SQLite encounters an action covered by the + authorizer during query preparation. Changing the value of the + property will determine if + the specific action will be allowed, ignored, or denied. For the entire + duration of the event, the associated connection and statement objects + must not be modified, either directly or indirectly, by the called code. + + + + + This event is raised whenever SQLite makes an update/delete/insert into the database on + this connection. It only applies to the given connection. + + + + + This event is raised whenever SQLite is committing a transaction. + Return non-zero to trigger a rollback. + + + + + This event is raised whenever SQLite statement first begins executing on + this connection. It only applies to the given connection. + + + + + This event is raised whenever SQLite is rolling back a transaction. + + + + + The I/O file cache flushing behavior for the connection + + + + + Normal file flushing at critical sections of the code + + + + + Full file flushing after every write operation + + + + + Use the default operating system's file flushing, SQLite does not explicitly flush the file buffers after writing + + + + + Raised each time the number of virtual machine instructions is + approximately equal to the value of the + property. + + The connection performing the operation. + A that contains the + event data. + + + + Raised when authorization is required to perform an action contained + within a SQL query. + + The connection performing the action. + A that contains the + event data. + + + + Raised when a transaction is about to be committed. To roll back a transaction, set the + rollbackTrans boolean value to true. + + The connection committing the transaction + Event arguments on the transaction + + + + Raised when data is inserted, updated and deleted on a given connection + + The connection committing the transaction + The event parameters which triggered the event + + + + Raised when a statement first begins executing on a given connection + + The connection executing the statement + Event arguments of the trace + + + + Raised between each backup step. + + + The source database connection. + + + The source database name. + + + The destination database connection. + + + The destination database name. + + + The number of pages copied with each step. + + + The number of pages remaining to be copied. + + + The total number of pages in the source database. + + + Set to true if the operation needs to be retried due to database + locking issues; otherwise, set to false. + + + True to continue with the backup process or false to halt the backup + process, rolling back any changes that have been made so far. + + + + + The event data associated with progress reporting events. + + + + + The user-defined native data associated with this event. Currently, + this will always contain the value of . + + + + + The return code for the current call into the progress callback. + + + + + Constructs an instance of this class with default property values. + + + + + Constructs an instance of this class with specific property values. + + + The user-defined native data associated with this event. + + + The progress return code. + + + + + The data associated with a call into the authorizer. + + + + + The user-defined native data associated with this event. Currently, + this will always contain the value of . + + + + + The action code responsible for the current call into the authorizer. + + + + + The first string argument for the current call into the authorizer. + The exact value will vary based on the action code, see the + enumeration for possible + values. + + + + + The second string argument for the current call into the authorizer. + The exact value will vary based on the action code, see the + enumeration for possible + values. + + + + + The database name for the current call into the authorizer, if + applicable. + + + + + The name of the inner-most trigger or view that is responsible for + the access attempt or a null value if this access attempt is directly + from top-level SQL code. + + + + + The return code for the current call into the authorizer. + + + + + Constructs an instance of this class with default property values. + + + + + Constructs an instance of this class with specific property values. + + + The user-defined native data associated with this event. + + + The authorizer action code. + + + The first authorizer argument. + + + The second authorizer argument. + + + The database name, if applicable. + + + The name of the inner-most trigger or view that is responsible for + the access attempt or a null value if this access attempt is directly + from top-level SQL code. + + + The authorizer return code. + + + + + Whenever an update event is triggered on a connection, this enum will indicate + exactly what type of operation is being performed. + + + + + A row is being deleted from the given database and table + + + + + A row is being inserted into the table. + + + + + A row is being updated in the table. + + + + + Passed during an Update callback, these event arguments detail the type of update operation being performed + on the given connection. + + + + + The name of the database being updated (usually "main" but can be any attached or temporary database) + + + + + The name of the table being updated + + + + + The type of update being performed (insert/update/delete) + + + + + The RowId affected by this update. + + + + + Event arguments raised when a transaction is being committed + + + + + Set to true to abort the transaction and trigger a rollback + + + + + Passed during an Trace callback, these event arguments contain the UTF-8 rendering of the SQL statement text + + + + + SQL statement text as the statement first begins executing + + + + + This interface represents a custom connection pool implementation + usable by System.Data.SQLite. + + + + + Counts the number of pool entries matching the specified file name. + + + The file name to match or null to match all files. + + + The pool entry counts for each matching file. + + + The total number of connections successfully opened from any pool. + + + The total number of connections successfully closed from any pool. + + + The total number of pool entries for all matching files. + + + + + Disposes of all pooled connections associated with the specified + database file name. + + + The database file name. + + + + + Disposes of all pooled connections. + + + + + Adds a connection to the pool of those associated with the + specified database file name. + + + The database file name. + + + The database connection handle. + + + The connection pool version at the point the database connection + handle was received from the connection pool. This is also the + connection pool version that the database connection handle was + created under. + + + + + Removes a connection from the pool of those associated with the + specified database file name with the intent of using it to + interact with the database. + + + The database file name. + + + The new maximum size of the connection pool for the specified + database file name. + + + The connection pool version associated with the returned database + connection handle, if any. + + + The database connection handle associated with the specified + database file name or null if it cannot be obtained. + + + + + This default method implementations in this class should not be used by + applications that make use of COM (either directly or indirectly) due + to possible deadlocks that can occur during finalization of some COM + objects. + + + + + Keeps track of connections made on a specified file. The PoolVersion + dictates whether old objects get returned to the pool or discarded + when no longer in use. + + + + + The queue of weak references to the actual database connection + handles. + + + + + This pool version associated with the database connection + handles in this pool queue. + + + + + The maximum size of this pool queue. + + + + + Constructs a connection pool queue using the specified version + and maximum size. Normally, all the database connection + handles in this pool are associated with a single database file + name. + + + The initial pool version for this connection pool queue. + + + The initial maximum size for this connection pool queue. + + + + + This field is used to synchronize access to the private static data + in this class. + + + + + When this field is non-null, it will be used to provide the + implementation of all the connection pool methods; otherwise, + the default method implementations will be used. + + + + + The dictionary of connection pools, based on the normalized file + name of the SQLite database. + + + + + The default version number new pools will get. + + + + + The number of connections successfully opened from any pool. + This value is incremented by the Remove method. + + + + + The number of connections successfully closed from any pool. + This value is incremented by the Add method. + + + + + Counts the number of pool entries matching the specified file name. + + + The file name to match or null to match all files. + + + The pool entry counts for each matching file. + + + The total number of connections successfully opened from any pool. + + + The total number of connections successfully closed from any pool. + + + The total number of pool entries for all matching files. + + + + + Disposes of all pooled connections associated with the specified + database file name. + + + The database file name. + + + + + Disposes of all pooled connections. + + + + + Adds a connection to the pool of those associated with the + specified database file name. + + + The database file name. + + + The database connection handle. + + + The connection pool version at the point the database connection + handle was received from the connection pool. This is also the + connection pool version that the database connection handle was + created under. + + + + + Removes a connection from the pool of those associated with the + specified database file name with the intent of using it to + interact with the database. + + + The database file name. + + + The new maximum size of the connection pool for the specified + database file name. + + + The connection pool version associated with the returned database + connection handle, if any. + + + The database connection handle associated with the specified + database file name or null if it cannot be obtained. + + + + + This method is used to obtain a reference to the custom connection + pool implementation currently in use, if any. + + + The custom connection pool implementation or null if the default + connection pool implementation should be used. + + + + + This method is used to set the reference to the custom connection + pool implementation to use, if any. + + + The custom connection pool implementation to use or null if the + default connection pool implementation should be used. + + + + + We do not have to thread-lock anything in this function, because it + is only called by other functions above which already take the lock. + + + The pool queue to resize. + + + If a function intends to add to the pool, this is true, which + forces the resize to take one more than it needs from the pool. + + + + + SQLite implementation of DbConnectionStringBuilder. + + + + + Properties of this class + + + + + Constructs a new instance of the class + + + Default constructor + + + + + Constructs a new instance of the class using the specified connection string. + + The connection string to parse + + + + Private initializer, which assigns the connection string and resets the builder + + The connection string to assign + + + + Gets/Sets the default version of the SQLite engine to instantiate. Currently the only valid value is 3, indicating version 3 of the sqlite library. + + + + + Gets/Sets the synchronization mode (file flushing) of the connection string. Default is "Normal". + + + + + Gets/Sets the encoding for the connection string. The default is "False" which indicates UTF-8 encoding. + + + + + Gets/Sets whether or not to use connection pooling. The default is "False" + + + + + Gets/Sets whethor not to store GUID's in binary format. The default is True + which saves space in the database. + + + + + Gets/Sets the filename to open on the connection string. + + + + + An alternate to the data source property + + + + + An alternate to the data source property that uses the SQLite URI syntax. + + + + + Gets/sets the default command timeout for newly-created commands. This is especially useful for + commands used internally such as inside a SQLiteTransaction, where setting the timeout is not possible. + + + + + Gets/sets the busy timeout to use with the SQLite core library. + + + + + EXPERIMENTAL -- + The wait timeout to use with + method. + This is only used when waiting for the enlistment to be reset + prior to enlisting in a transaction, and then only when the + appropriate connection flag is set. + + + + + Gets/sets the maximum number of retries when preparing SQL to be executed. + This normally only applies to preparation errors resulting from the database + schema being changed. + + + + + Gets/sets the approximate number of virtual machine instructions between + progress events. In order for progress events to actually fire, the event + handler must be added to the event + as well. + + + + + Determines whether or not the connection will automatically participate + in the current distributed transaction (if one exists) + + + + + If set to true, will throw an exception if the database specified in the connection + string does not exist. If false, the database will be created automatically. + + + + + If enabled, uses the legacy 3.xx format for maximum compatibility, but results in larger + database sizes. + + + + + When enabled, the database will be opened for read-only access and writing will be disabled. + + + + + Gets/sets the database encryption password + + + + + Gets/sets the database encryption hexadecimal password + + + + + Gets/Sets the page size for the connection. + + + + + Gets/Sets the maximum number of pages the database may hold + + + + + Gets/Sets the cache size for the connection. + + + + + Gets/Sets the DateTime format for the connection. + + + + + Gets/Sets the DateTime kind for the connection. + + + + + Gets/sets the DateTime format string used for formatting + and parsing purposes. + + + + + Gets/Sets the placeholder base schema name used for + .NET Framework compatibility purposes. + + + + + Determines how SQLite handles the transaction journal file. + + + + + Sets the default isolation level for transactions on the connection. + + + + + Gets/sets the default database type for the connection. + + + + + Gets/sets the default type name for the connection. + + + + + Gets/sets the VFS name for the connection. + + + + + If enabled, use foreign key constraints + + + + + Enable or disable the recursive trigger capability. + + + + + If non-null, this is the version of ZipVFS to use. This requires the + System.Data.SQLite interop assembly -AND- primary managed assembly to + be compiled with the INTEROP_INCLUDE_ZIPVFS option; otherwise, this + property does nothing. + + + + + Gets/Sets the extra behavioral flags. + + + + + If enabled, apply the default connection settings to opened databases. + + + + + If enabled, attempt to resolve the provided data source file name to a + full path before opening. + + + + + If enabled, skip using the configured default connection flags. + + + + + If enabled, skip using the configured shared connection flags. + + + + + Helper function for retrieving values from the connectionstring + + The keyword to retrieve settings for + The resulting parameter value + Returns true if the value was found and returned + + + + Fallback method for MONO, which doesn't implement DbConnectionStringBuilder.GetProperties() + + The hashtable to fill with property descriptors + + + + This base class provides datatype conversion services for the SQLite provider. + + + + + This character is used to escape other characters, including itself, in + connection string property names and values. + + + + + This character can be used to wrap connection string property names and + values. Normally, it is optional; however, when used, it must be the + first -AND- last character of that connection string property name -OR- + value. + + + + + This character can be used to wrap connection string property names and + values. Normally, it is optional; however, when used, it must be the + first -AND- last character of that connection string property name -OR- + value. + + + + + The character is used to separate the name and value for a connection + string property. This character cannot be present in any connection + string property name. This character can be present in a connection + string property value; however, this should be avoided unless deemed + absolutely necessary. + + + + + This character is used to separate connection string properties. When + the "No_SQLiteConnectionNewParser" setting is enabled, this character + may not appear in connection string property names -OR- values. + + + + + These are the characters that are special to the connection string + parser. + + + + + The fallback default database type when one cannot be obtained from an + existing connection instance. + + + + + The fallback default database type name when one cannot be obtained from + an existing connection instance. + + + + + The value for the Unix epoch (e.g. January 1, 1970 at midnight, in UTC). + + + + + The value of the OLE Automation epoch represented as a Julian day. This + field cannot be removed as the test suite relies upon it. + + + + + The format string for DateTime values when using the InvariantCulture or CurrentCulture formats. + + + + + This is the minimum Julian Day value supported by this library + (148731163200000). + + + + + This is the maximum Julian Day value supported by this library + (464269060799000). + + + + + An array of ISO-8601 DateTime formats that we support parsing. + + + + + The internal default format for UTC DateTime values when converting + to a string. + + + + + The internal default format for local DateTime values when converting + to a string. + + + + + An UTF-8 Encoding instance, so we can convert strings to and from UTF-8 + + + + + The default DateTime format for this instance. + + + + + The default DateTimeKind for this instance. + + + + + The default DateTime format string for this instance. + + + + + Initializes the conversion class + + The default date/time format to use for this instance + The DateTimeKind to use. + The DateTime format string to use. + + + + Converts a string to a UTF-8 encoded byte array sized to include a null-terminating character. + + The string to convert to UTF-8 + A byte array containing the converted string plus an extra 0 terminating byte at the end of the array. + + + + Convert a DateTime to a UTF-8 encoded, zero-terminated byte array. + + + This function is a convenience function, which first calls ToString() on the DateTime, and then calls ToUTF8() with the + string result. + + The DateTime to convert. + The UTF-8 encoded string, including a 0 terminating byte at the end of the array. + + + + Converts a UTF-8 encoded IntPtr of the specified length into a .NET string + + The pointer to the memory where the UTF-8 string is encoded + The number of bytes to decode + A string containing the translated character(s) + + + + Converts a UTF-8 encoded IntPtr of the specified length into a .NET string + + The pointer to the memory where the UTF-8 string is encoded + The number of bytes to decode + A string containing the translated character(s) + + + + Checks if the specified is within the + supported range for a Julian Day value. + + + The Julian Day value to check. + + + Non-zero if the specified Julian Day value is in the supported + range; otherwise, zero. + + + + + Converts a Julian Day value from a to an + . + + + The Julian Day value to convert. + + + The resulting Julian Day value. + + + + + Converts a Julian Day value from an to a + . + + + The Julian Day value to convert. + + + The resulting Julian Day value. + + + + + Converts a Julian Day value to a . + This method was translated from the "computeYMD" function in the + "date.c" file belonging to the SQLite core library. + + + The Julian Day value to convert. + + + The value to return in the event that the + Julian Day is out of the supported range. If this value is null, + an exception will be thrown instead. + + + A value that contains the year, month, and + day values that are closest to the specified Julian Day value. + + + + + Converts a Julian Day value to a . + This method was translated from the "computeHMS" function in the + "date.c" file belonging to the SQLite core library. + + + The Julian Day value to convert. + + + The value to return in the event that the + Julian Day value is out of the supported range. If this value is + null, an exception will be thrown instead. + + + A value that contains the hour, minute, and + second, and millisecond values that are closest to the specified + Julian Day value. + + + + + Converts a to a Julian Day value. + This method was translated from the "computeJD" function in + the "date.c" file belonging to the SQLite core library. + Since the range of Julian Day values supported by this method + includes all possible (valid) values of a + value, it should be extremely difficult for this method to + raise an exception or return an undefined result. + + + The value to convert. This value + will be within the range of + (00:00:00.0000000, January 1, 0001) to + (23:59:59.9999999, December + 31, 9999). + + + The nearest Julian Day value corresponding to the specified + value. + + + + + Converts a string into a DateTime, using the DateTimeFormat, DateTimeKind, + and DateTimeFormatString specified for the connection when it was opened. + + + Acceptable ISO8601 DateTime formats are: + + THHmmssK + THHmmK + HH:mm:ss.FFFFFFFK + HH:mm:ssK + HH:mmK + yyyy-MM-dd HH:mm:ss.FFFFFFFK + yyyy-MM-dd HH:mm:ssK + yyyy-MM-dd HH:mmK + yyyy-MM-ddTHH:mm:ss.FFFFFFFK + yyyy-MM-ddTHH:mmK + yyyy-MM-ddTHH:mm:ssK + yyyyMMddHHmmssK + yyyyMMddHHmmK + yyyyMMddTHHmmssFFFFFFFK + THHmmss + THHmm + HH:mm:ss.FFFFFFF + HH:mm:ss + HH:mm + yyyy-MM-dd HH:mm:ss.FFFFFFF + yyyy-MM-dd HH:mm:ss + yyyy-MM-dd HH:mm + yyyy-MM-ddTHH:mm:ss.FFFFFFF + yyyy-MM-ddTHH:mm + yyyy-MM-ddTHH:mm:ss + yyyyMMddHHmmss + yyyyMMddHHmm + yyyyMMddTHHmmssFFFFFFF + yyyy-MM-dd + yyyyMMdd + yy-MM-dd + + If the string cannot be matched to one of the above formats -OR- + the DateTimeFormatString if one was provided, an exception will + be thrown. + + The string containing either a long integer number of 100-nanosecond units since + System.DateTime.MinValue, a Julian day double, an integer number of seconds since the Unix epoch, a + culture-independent formatted date and time string, a formatted date and time string in the current + culture, or an ISO8601-format string. + A DateTime value + + + + Converts a string into a DateTime, using the specified DateTimeFormat, + DateTimeKind and DateTimeFormatString. + + + Acceptable ISO8601 DateTime formats are: + + THHmmssK + THHmmK + HH:mm:ss.FFFFFFFK + HH:mm:ssK + HH:mmK + yyyy-MM-dd HH:mm:ss.FFFFFFFK + yyyy-MM-dd HH:mm:ssK + yyyy-MM-dd HH:mmK + yyyy-MM-ddTHH:mm:ss.FFFFFFFK + yyyy-MM-ddTHH:mmK + yyyy-MM-ddTHH:mm:ssK + yyyyMMddHHmmssK + yyyyMMddHHmmK + yyyyMMddTHHmmssFFFFFFFK + THHmmss + THHmm + HH:mm:ss.FFFFFFF + HH:mm:ss + HH:mm + yyyy-MM-dd HH:mm:ss.FFFFFFF + yyyy-MM-dd HH:mm:ss + yyyy-MM-dd HH:mm + yyyy-MM-ddTHH:mm:ss.FFFFFFF + yyyy-MM-ddTHH:mm + yyyy-MM-ddTHH:mm:ss + yyyyMMddHHmmss + yyyyMMddHHmm + yyyyMMddTHHmmssFFFFFFF + yyyy-MM-dd + yyyyMMdd + yy-MM-dd + + If the string cannot be matched to one of the above formats -OR- + the DateTimeFormatString if one was provided, an exception will + be thrown. + + The string containing either a long integer number of 100-nanosecond units since + System.DateTime.MinValue, a Julian day double, an integer number of seconds since the Unix epoch, a + culture-independent formatted date and time string, a formatted date and time string in the current + culture, or an ISO8601-format string. + The SQLiteDateFormats to use. + The DateTimeKind to use. + The DateTime format string to use. + A DateTime value + + + + Converts a julianday value into a DateTime + + The value to convert + A .NET DateTime + + + + Converts a julianday value into a DateTime + + The value to convert + The DateTimeKind to use. + A .NET DateTime + + + + Converts the specified number of seconds from the Unix epoch into a + value. + + + The number of whole seconds since the Unix epoch. + + + Either Utc or Local time. + + + The new value. + + + + + Converts the specified number of ticks since the epoch into a + value. + + + The number of whole ticks since the epoch. + + + Either Utc or Local time. + + + The new value. + + + + + Converts a DateTime struct to a JulianDay double + + The DateTime to convert + The JulianDay value the Datetime represents + + + + Converts a DateTime struct to the whole number of seconds since the + Unix epoch. + + The DateTime to convert + The whole number of seconds since the Unix epoch + + + + Returns the DateTime format string to use for the specified DateTimeKind. + If is not null, it will be returned verbatim. + + The DateTimeKind to use. + The DateTime format string to use. + + The DateTime format string to use for the specified DateTimeKind. + + + + + Converts a string into a DateTime, using the DateTimeFormat, DateTimeKind, + and DateTimeFormatString specified for the connection when it was opened. + + The DateTime value to convert + Either a string containing the long integer number of 100-nanosecond units since System.DateTime.MinValue, a + Julian day double, an integer number of seconds since the Unix epoch, a culture-independent formatted date and time + string, a formatted date and time string in the current culture, or an ISO8601-format date/time string. + + + + Converts a string into a DateTime, using the DateTimeFormat, DateTimeKind, + and DateTimeFormatString specified for the connection when it was opened. + + The DateTime value to convert + The SQLiteDateFormats to use. + The DateTimeKind to use. + The DateTime format string to use. + Either a string containing the long integer number of 100-nanosecond units since System.DateTime.MinValue, a + Julian day double, an integer number of seconds since the Unix epoch, a culture-independent formatted date and time + string, a formatted date and time string in the current culture, or an ISO8601-format date/time string. + + + + Internal function to convert a UTF-8 encoded IntPtr of the specified length to a DateTime. + + + This is a convenience function, which first calls ToString() on the IntPtr to convert it to a string, then calls + ToDateTime() on the string to return a DateTime. + + A pointer to the UTF-8 encoded string + The length in bytes of the string + The parsed DateTime value + + + + Smart method of splitting a string. Skips quoted elements, removes the quotes. + + + This split function works somewhat like the String.Split() function in that it breaks apart a string into + pieces and returns the pieces as an array. The primary differences are: + + Only one character can be provided as a separator character + Quoted text inside the string is skipped over when searching for the separator, and the quotes are removed. + + Thus, if splitting the following string looking for a comma:
+ One,Two, "Three, Four", Five
+
+ The resulting array would contain
+ [0] One
+ [1] Two
+ [2] Three, Four
+ [3] Five
+
+ Note that the leading and trailing spaces were removed from each item during the split. +
+ Source string to split apart + Separator character + A string array of the split up elements +
+ + + Splits the specified string into multiple strings based on a separator + and returns the result as an array of strings. + + + The string to split into pieces based on the separator character. If + this string is null, null will always be returned. If this string is + empty, an array of zero strings will always be returned. + + + The character used to divide the original string into sub-strings. + This character cannot be a backslash or a double-quote; otherwise, no + work will be performed and null will be returned. + + + If this parameter is non-zero, all double-quote characters will be + retained in the returned list of strings; otherwise, they will be + dropped. + + + Upon failure, this parameter will be modified to contain an appropriate + error message. + + + The new array of strings or null if the input string is null -OR- the + separator character is a backslash or a double-quote -OR- the string + contains an unbalanced backslash or double-quote character. + + + + + Queries and returns the string representation for an object, using the + specified (or current) format provider. + + + The object instance to return the string representation for. + + + The format provider to use -OR- null if the current format provider for + the thread should be used instead. + + + The string representation for the object instance -OR- null if the + object instance is also null. + + + + + Attempts to convert an arbitrary object to the Boolean data type. + Null object values are converted to false. Throws an exception + upon failure. + + + The object value to convert. + + + The format provider to use. + + + If non-zero, a string value will be converted using the + + method; otherwise, the + method will be used. + + + The converted boolean value. + + + + + Convert a value to true or false. + + A string or number representing true or false + + + + + Converts an integer to a string that can be round-tripped using the + invariant culture. + + + The integer value to return the string representation for. + + + The string representation of the specified integer value, using the + invariant culture. + + + + + Attempts to convert a into a . + + + The to convert, cannot be null. + + + The converted value. + + + The supported strings are "yes", "no", "y", "n", "on", "off", "0", "1", + as well as any prefix of the strings + and . All strings are treated in a + case-insensitive manner. + + + + + Converts a SQLiteType to a .NET Type object + + The SQLiteType to convert + Returns a .NET Type object + + + + For a given intrinsic type, return a DbType + + The native type to convert + The corresponding (closest match) DbType + + + + Returns the ColumnSize for the given DbType + + The DbType to get the size of + + + + + Determines the default database type name to be used when a + per-connection value is not available. + + + The connection context for type mappings, if any. + + + The default database type name to use. + + + + + If applicable, issues a trace log message warning about falling back to + the default database type name. + + + The database value type. + + + The flags associated with the parent connection object. + + + The textual name of the database type. + + + + + If applicable, issues a trace log message warning about falling back to + the default database value type. + + + The textual name of the database type. + + + The flags associated with the parent connection object. + + + The database value type. + + + + + For a given database value type, return the "closest-match" textual database type name. + + The connection context for custom type mappings, if any. + The database value type. + The flags associated with the parent connection object. + The type name or an empty string if it cannot be determined. + + + + Convert a DbType to a Type + + The DbType to convert from + The closest-match .NET type + + + + For a given type, return the closest-match SQLite TypeAffinity, which only understands a very limited subset of types. + + The type to evaluate + The flags associated with the connection. + The SQLite type affinity for that type. + + + + Builds and returns a map containing the database column types + recognized by this provider. + + + A map containing the database column types recognized by this + provider. + + + + + Determines if a database type is considered to be a string. + + + The database type to check. + + + Non-zero if the database type is considered to be a string, zero + otherwise. + + + + + Determines and returns the runtime configuration setting string that + should be used in place of the specified object value. + + + The object value to convert to a string. + + + Either the string to use in place of the object value -OR- null if it + cannot be determined. + + + + + Determines the default value to be used when a + per-connection value is not available. + + + The connection context for type mappings, if any. + + + The default value to use. + + + + + Converts the object value, which is assumed to have originated + from a , to a string value. + + + The value to be converted to a string. + + + A null value will be returned if the original value is null -OR- + the original value is . Otherwise, + the original value will be converted to a string, using its + (possibly overridden) method and + then returned. + + + + + Determines if the specified textual value appears to be a + value. + + + The textual value to inspect. + + + Non-zero if the text looks like a value, + zero otherwise. + + + + + Determines if the specified textual value appears to be an + value. + + + The textual value to inspect. + + + Non-zero if the text looks like an value, + zero otherwise. + + + + + Determines if the specified textual value appears to be a + value. + + + The textual value to inspect. + + + Non-zero if the text looks like a value, + zero otherwise. + + + + + Determines if the specified textual value appears to be a + value. + + + The object instance configured with + the chosen format. + + + The textual value to inspect. + + + Non-zero if the text looks like a in the + configured format, zero otherwise. + + + + + For a given textual database type name, return the "closest-match" database type. + This method is called during query result processing; therefore, its performance + is critical. + + The connection context for custom type mappings, if any. + The textual name of the database type to match. + The flags associated with the parent connection object. + The .NET DBType the text evaluates to. + + + + SQLite has very limited types, and is inherently text-based. The first 5 types below represent the sum of all types SQLite + understands. The DateTime extension to the spec is for internal use only. + + + + + Not used + + + + + All integers in SQLite default to Int64 + + + + + All floating point numbers in SQLite default to double + + + + + The default data type of SQLite is text + + + + + Typically blob types are only seen when returned from a function + + + + + Null types can be returned from functions + + + + + Used internally by this provider + + + + + Used internally by this provider + + + + + These are the event types associated with the + + delegate (and its corresponding event) and the + class. + + + + + Not used. + + + + + Not used. + + + + + The connection is being opened. + + + + + The connection string has been parsed. + + + + + The connection was opened. + + + + + The method was called on the + connection. + + + + + A transaction was created using the connection. + + + + + The connection was enlisted into a transaction. + + + + + A command was created using the connection. + + + + + A data reader was created using the connection. + + + + + An instance of a derived class has + been created to wrap a native resource. + + + + + The connection is being closed. + + + + + The connection was closed. + + + + + A command is being disposed. + + + + + A data reader is being disposed. + + + + + A data reader is being closed. + + + + + A native resource was opened (i.e. obtained) from the pool. + + + + + A native resource was closed (i.e. released) to the pool. + + + + + This implementation of SQLite for ADO.NET can process date/time fields in + databases in one of six formats. + + + ISO8601 format is more compatible, readable, fully-processable, but less + accurate as it does not provide time down to fractions of a second. + JulianDay is the numeric format the SQLite uses internally and is arguably + the most compatible with 3rd party tools. It is not readable as text + without post-processing. Ticks less compatible with 3rd party tools that + query the database, and renders the DateTime field unreadable as text + without post-processing. UnixEpoch is more compatible with Unix systems. + InvariantCulture allows the configured format for the invariant culture + format to be used and is human readable. CurrentCulture allows the + configured format for the current culture to be used and is also human + readable. + + The preferred order of choosing a DateTime format is JulianDay, ISO8601, + and then Ticks. Ticks is mainly present for legacy code support. + + + + + Use the value of DateTime.Ticks. This value is not recommended and is not well supported with LINQ. + + + + + Use the ISO-8601 format. Uses the "yyyy-MM-dd HH:mm:ss.FFFFFFFK" format for UTC DateTime values and + "yyyy-MM-dd HH:mm:ss.FFFFFFF" format for local DateTime values). + + + + + The interval of time in days and fractions of a day since January 1, 4713 BC. + + + + + The whole number of seconds since the Unix epoch (January 1, 1970). + + + + + Any culture-independent string value that the .NET Framework can interpret as a valid DateTime. + + + + + Any string value that the .NET Framework can interpret as a valid DateTime using the current culture. + + + + + The default format for this provider. + + + + + This enum determines how SQLite treats its journal file. + + + By default SQLite will create and delete the journal file when needed during a transaction. + However, for some computers running certain filesystem monitoring tools, the rapid + creation and deletion of the journal file can cause those programs to fail, or to interfere with SQLite. + + If a program or virus scanner is interfering with SQLite's journal file, you may receive errors like "unable to open database file" + when starting a transaction. If this is happening, you may want to change the default journal mode to Persist. + + + + + The default mode, this causes SQLite to use the existing journaling mode for the database. + + + + + SQLite will create and destroy the journal file as-needed. + + + + + When this is set, SQLite will keep the journal file even after a transaction has completed. It's contents will be erased, + and the journal re-used as often as needed. If it is deleted, it will be recreated the next time it is needed. + + + + + This option disables the rollback journal entirely. Interrupted transactions or a program crash can cause database + corruption in this mode! + + + + + SQLite will truncate the journal file to zero-length instead of deleting it. + + + + + SQLite will store the journal in volatile RAM. This saves disk I/O but at the expense of database safety and integrity. + If the application using SQLite crashes in the middle of a transaction when the MEMORY journaling mode is set, then the + database file will very likely go corrupt. + + + + + SQLite uses a write-ahead log instead of a rollback journal to implement transactions. The WAL journaling mode is persistent; + after being set it stays in effect across multiple database connections and after closing and reopening the database. A database + in WAL journaling mode can only be accessed by SQLite version 3.7.0 or later. + + + + + Possible values for the "synchronous" database setting. This setting determines + how often the database engine calls the xSync method of the VFS. + + + + + Use the default "synchronous" database setting. Currently, this should be + the same as using the FULL mode. + + + + + The database engine continues without syncing as soon as it has handed + data off to the operating system. If the application running SQLite + crashes, the data will be safe, but the database might become corrupted + if the operating system crashes or the computer loses power before that + data has been written to the disk surface. + + + + + The database engine will still sync at the most critical moments, but + less often than in FULL mode. There is a very small (though non-zero) + chance that a power failure at just the wrong time could corrupt the + database in NORMAL mode. + + + + + The database engine will use the xSync method of the VFS to ensure that + all content is safely written to the disk surface prior to continuing. + This ensures that an operating system crash or power failure will not + corrupt the database. FULL synchronous is very safe, but it is also + slower. + + + + + The requested command execution type. This controls which method of the + object will be called. + + + + + Do nothing. No method will be called. + + + + + The command is not expected to return a result -OR- the result is not + needed. The or + method + will be called. + + + + + The command is expected to return a scalar result -OR- the result should + be limited to a scalar result. The + or method will + be called. + + + + + The command is expected to return result. + The or + method will + be called. + + + + + Use the default command execution type. Using this value is the same + as using the value. + + + + + The action code responsible for the current call into the authorizer. + + + + + No action is being performed. This value should not be used from + external code. + + + + + No longer used. + + + + + An index will be created. The action-specific arguments are the + index name and the table name. + + + + + + A table will be created. The action-specific arguments are the + table name and a null value. + + + + + A temporary index will be created. The action-specific arguments + are the index name and the table name. + + + + + A temporary table will be created. The action-specific arguments + are the table name and a null value. + + + + + A temporary trigger will be created. The action-specific arguments + are the trigger name and the table name. + + + + + A temporary view will be created. The action-specific arguments are + the view name and a null value. + + + + + A trigger will be created. The action-specific arguments are the + trigger name and the table name. + + + + + A view will be created. The action-specific arguments are the view + name and a null value. + + + + + A DELETE statement will be executed. The action-specific arguments + are the table name and a null value. + + + + + An index will be dropped. The action-specific arguments are the + index name and the table name. + + + + + A table will be dropped. The action-specific arguments are the tables + name and a null value. + + + + + A temporary index will be dropped. The action-specific arguments are + the index name and the table name. + + + + + A temporary table will be dropped. The action-specific arguments are + the table name and a null value. + + + + + A temporary trigger will be dropped. The action-specific arguments + are the trigger name and the table name. + + + + + A temporary view will be dropped. The action-specific arguments are + the view name and a null value. + + + + + A trigger will be dropped. The action-specific arguments are the + trigger name and the table name. + + + + + A view will be dropped. The action-specific arguments are the view + name and a null value. + + + + + An INSERT statement will be executed. The action-specific arguments + are the table name and a null value. + + + + + A PRAGMA statement will be executed. The action-specific arguments + are the name of the PRAGMA and the new value or a null value. + + + + + A table column will be read. The action-specific arguments are the + table name and the column name. + + + + + A SELECT statement will be executed. The action-specific arguments + are both null values. + + + + + A transaction will be started, committed, or rolled back. The + action-specific arguments are the name of the operation (BEGIN, + COMMIT, or ROLLBACK) and a null value. + + + + + An UPDATE statement will be executed. The action-specific arguments + are the table name and the column name. + + + + + A database will be attached to the connection. The action-specific + arguments are the database file name and a null value. + + + + + A database will be detached from the connection. The action-specific + arguments are the database name and a null value. + + + + + The schema of a table will be altered. The action-specific arguments + are the database name and the table name. + + + + + An index will be deleted and then recreated. The action-specific + arguments are the index name and a null value. + + + + + A table will be analyzed to gathers statistics about it. The + action-specific arguments are the table name and a null value. + + + + + A virtual table will be created. The action-specific arguments are + the table name and the module name. + + + + + A virtual table will be dropped. The action-specific arguments are + the table name and the module name. + + + + + A SQL function will be called. The action-specific arguments are a + null value and the function name. + + + + + A savepoint will be created, released, or rolled back. The + action-specific arguments are the name of the operation (BEGIN, + RELEASE, or ROLLBACK) and the savepoint name. + + + + + A recursive query will be executed. The action-specific arguments + are two null values. + + + + + The possible return codes for the progress callback. + + + + + The operation should continue. + + + + + The operation should be interrupted. + + + + + The return code for the current call into the authorizer. + + + + + The action will be allowed. + + + + + The overall action will be disallowed and an error message will be + returned from the query preparation method. + + + + + The specific action will be disallowed; however, the overall action + will continue. The exact effects of this return code vary depending + on the specific action, please refer to the SQLite core library + documentation for futher details. + + + + + Class used internally to determine the datatype of a column in a resultset + + + + + The DbType of the column, or DbType.Object if it cannot be determined + + + + + The affinity of a column, used for expressions or when Type is DbType.Object + + + + + Constructs a default instance of this type. + + + + + Constructs an instance of this type with the specified field values. + + + The type affinity to use for the new instance. + + + The database type to use for the new instance. + + + + + SQLite implementation of DbDataAdapter. + + + + + This class is just a shell around the DbDataAdapter. Nothing from + DbDataAdapter is overridden here, just a few constructors are defined. + + + Default constructor. + + + + + Constructs a data adapter using the specified select command. + + + The select command to associate with the adapter. + + + + + Constructs a data adapter with the supplied select command text and + associated with the specified connection. + + + The select command text to associate with the data adapter. + + + The connection to associate with the select command. + + + + + Constructs a data adapter with the specified select command text, + and using the specified database connection string. + + + The select command text to use to construct a select command. + + + A connection string suitable for passing to a new SQLiteConnection, + which is associated with the select command. + + + + + Constructs a data adapter with the specified select command text, + and using the specified database connection string. + + + The select command text to use to construct a select command. + + + A connection string suitable for passing to a new SQLiteConnection, + which is associated with the select command. + + + Non-zero to parse the connection string using the built-in (i.e. + framework provided) parser when opening the connection. + + + + + Cleans up resources (native and managed) associated with the current instance. + + + Zero when being disposed via garbage collection; otherwise, non-zero. + + + + + Row updating event handler + + + + + Row updated event handler + + + + + Raised by the underlying DbDataAdapter when a row is being updated + + The event's specifics + + + + Raised by DbDataAdapter after a row is updated + + The event's specifics + + + + Gets/sets the select command for this DataAdapter + + + + + Gets/sets the insert command for this DataAdapter + + + + + Gets/sets the update command for this DataAdapter + + + + + Gets/sets the delete command for this DataAdapter + + + + + SQLite implementation of DbDataReader. + + + + + Underlying command this reader is attached to + + + + + The flags pertaining to the associated connection (via the command). + + + + + Index of the current statement in the command being processed + + + + + Current statement being Read() + + + + + State of the current statement being processed. + -1 = First Step() executed, so the first Read() will be ignored + 0 = Actively reading + 1 = Finished reading + 2 = Non-row-returning statement, no records + + + + + Number of records affected by the insert/update statements executed on the command + + + + + Count of fields (columns) in the row-returning statement currently being processed + + + + + The number of calls to Step() that have returned true (i.e. the number of rows that + have been read in the current result set). + + + + + Maps the field (column) names to their corresponding indexes within the results. + + + + + Datatypes of active fields (columns) in the current statement, used for type-restricting data + + + + + The behavior of the datareader + + + + + If set, then dispose of the command object when the reader is finished + + + + + If set, then raise an exception when the object is accessed after being disposed. + + + + + An array of rowid's for the active statement if CommandBehavior.KeyInfo is specified + + + + + Matches the version of the connection. + + + + + The "stub" (i.e. placeholder) base schema name to use when returning + column schema information. Matches the base schema name used by the + associated connection. + + + + + Internal constructor, initializes the datareader and sets up to begin executing statements + + The SQLiteCommand this data reader is for + The expected behavior of the data reader + + + + Dispose of all resources used by this datareader. + + + + + + Closes the datareader, potentially closing the connection as well if CommandBehavior.CloseConnection was specified. + + + + + Throw an error if the datareader is closed + + + + + Throw an error if a row is not loaded + + + + + Enumerator support + + Returns a DbEnumerator object. + + + + Not implemented. Returns 0 + + + + + Returns the number of columns in the current resultset + + + + + Forces the connection flags cached by this data reader to be refreshed + from the underlying connection. + + + + + Returns the number of rows seen so far in the current result set. + + + + + Returns the number of visible fields in the current resultset + + + + + This method is used to make sure the result set is open and a row is currently available. + + + + + SQLite is inherently un-typed. All datatypes in SQLite are natively strings. The definition of the columns of a table + and the affinity of returned types are all we have to go on to type-restrict data in the reader. + + This function attempts to verify that the type of data being requested of a column matches the datatype of the column. In + the case of columns that are not backed into a table definition, we attempt to match up the affinity of a column (int, double, string or blob) + to a set of known types that closely match that affinity. It's not an exact science, but its the best we can do. + + + This function throws an InvalidTypeCast() exception if the requested type doesn't match the column's definition or affinity. + + The index of the column to type-check + The type we want to get out of the column + + + + Invokes the data reader value callback configured for the database + type name associated with the specified column. If no data reader + value callback is available for the database type name, do nothing. + + + The index of the column being read. + + + The extra event data to pass into the callback. + + + Non-zero if the default handling for the data reader call should be + skipped. If this is set to non-zero and the necessary return value + is unavailable or unsuitable, an exception will be thrown. + + + + + Attempts to query the integer identifier for the current row. This + will not work for tables that were created WITHOUT ROWID -OR- if the + query does not include the "rowid" column or one of its aliases -OR- + if the was not created with the + flag. + + + The index of the BLOB column. + + + The integer identifier for the current row -OR- null if it could not + be determined. + + + + + Retrieves the column as a object. + This will not work for tables that were created WITHOUT ROWID + -OR- if the query does not include the "rowid" column or one + of its aliases -OR- if the was + not created with the + flag. + + The index of the column. + + Non-zero to open the blob object for read-only access. + + A new object. + + + + Retrieves the column as a boolean value + + The index of the column. + bool + + + + Retrieves the column as a single byte value + + The index of the column. + byte + + + + Retrieves a column as an array of bytes (blob) + + The index of the column. + The zero-based index of where to begin reading the data + The buffer to write the bytes into + The zero-based index of where to begin writing into the array + The number of bytes to retrieve + The actual number of bytes written into the array + + To determine the number of bytes in the column, pass a null value for the buffer. The total length will be returned. + + + + + Returns the column as a single character + + The index of the column. + char + + + + Retrieves a column as an array of chars (blob) + + The index of the column. + The zero-based index of where to begin reading the data + The buffer to write the characters into + The zero-based index of where to begin writing into the array + The number of bytes to retrieve + The actual number of characters written into the array + + To determine the number of characters in the column, pass a null value for the buffer. The total length will be returned. + + + + + Retrieves the name of the back-end datatype of the column + + The index of the column. + string + + + + Retrieve the column as a date/time value + + The index of the column. + DateTime + + + + Retrieve the column as a decimal value + + The index of the column. + decimal + + + + Returns the column as a double + + The index of the column. + double + + + + Determines and returns the of the + specified column. + + + The index of the column. + + + The associated with the specified + column, if any. + + + + + Returns the .NET type of a given column + + The index of the column. + Type + + + + Returns a column as a float value + + The index of the column. + float + + + + Returns the column as a Guid + + The index of the column. + Guid + + + + Returns the column as a short + + The index of the column. + Int16 + + + + Retrieves the column as an int + + The index of the column. + Int32 + + + + Retrieves the column as a long + + The index of the column. + Int64 + + + + Retrieves the name of the column + + The index of the column. + string + + + + Returns the name of the database associated with the specified column. + + The index of the column. + string + + + + Returns the name of the table associated with the specified column. + + The index of the column. + string + + + + Returns the original name of the specified column. + + The index of the column. + string + + + + Retrieves the i of a column, given its name + + The name of the column to retrieve + The int i of the column + + + + Schema information in SQLite is difficult to map into .NET conventions, so a lot of work must be done + to gather the necessary information so it can be represented in an ADO.NET manner. + + Returns a DataTable containing the schema information for the active SELECT statement being processed. + + + + Retrieves the column as a string + + The index of the column. + string + + + + Retrieves the column as an object corresponding to the underlying datatype of the column + + The index of the column. + object + + + + Retreives the values of multiple columns, up to the size of the supplied array + + The array to fill with values from the columns in the current resultset + The number of columns retrieved + + + + Returns a collection containing all the column names and values for the + current row of data in the current resultset, if any. If there is no + current row or no current resultset, an exception may be thrown. + + + The collection containing the column name and value information for the + current row of data in the current resultset or null if this information + cannot be obtained. + + + + + Returns True if the resultset has rows that can be fetched + + + + + Returns True if the data reader is closed + + + + + Returns True if the specified column is null + + The index of the column. + True or False + + + + Moves to the next resultset in multiple row-returning SQL command. + + True if the command was successful and a new resultset is available, False otherwise. + + + + This method attempts to query the database connection associated with + the data reader in use. If the underlying command or connection is + unavailable, a null value will be returned. + + + The connection object -OR- null if it is unavailable. + + + + + Retrieves the SQLiteType for a given column and row value. + + + The original SQLiteType structure, based only on the column. + + + The textual value of the column for a given row. + + + The SQLiteType structure. + + + + + Retrieves the SQLiteType for a given column, and caches it to avoid repetetive interop calls. + + The flags associated with the parent connection object. + The index of the column. + A SQLiteType structure + + + + Reads the next row from the resultset + + True if a new row was successfully loaded and is ready for processing + + + + Returns the number of rows affected by the statement being executed. + The value returned may not be accurate for DDL statements. Also, it + will be -1 for any statement that does not modify the database (e.g. + SELECT). If an otherwise read-only statement modifies the database + indirectly (e.g. via a virtual table or user-defined function), the + value returned is undefined. + + + + + Indexer to retrieve data from a column given its name + + The name of the column to retrieve data for + The value contained in the column + + + + Indexer to retrieve data from a column given its i + + The index of the column. + The value contained in the column + + + + SQLite exception class. + + + + + This value was copied from the "WinError.h" file included with the + Platform SDK for Windows 10. + + + + + Private constructor for use with serialization. + + + Holds the serialized object data about the exception being thrown. + + + Contains contextual information about the source or destination. + + + + + Public constructor for generating a SQLite exception given the error + code and message. + + + The SQLite return code to report. + + + Message text to go along with the return code message text. + + + + + Public constructor that uses the base class constructor for the error + message. + + Error message text. + + + + Public constructor that uses the default base class constructor. + + + + + Public constructor that uses the base class constructor for the error + message and inner exception. + + Error message text. + The original (inner) exception. + + + + Adds extra information to the serialized object data specific to this + class type. This is only used for serialization. + + + Holds the serialized object data about the exception being thrown. + + + Contains contextual information about the source or destination. + + + + + Gets the associated SQLite result code for this exception as a + . This property returns the same + underlying value as the property. + + + + + Gets the associated SQLite return code for this exception as an + . For desktop versions of the .NET Framework, + this property overrides the property of the same name within the + + class. This property returns the same underlying value as the + property. + + + + + This method performs extra initialization tasks. It may be called by + any of the constructors of this class. It must not throw exceptions. + + + + + Maps a Win32 error code to an HRESULT. + + + The specified Win32 error code. It must be within the range of zero + (0) to 0xFFFF (65535). + + + Non-zero if the HRESULT should indicate success; otherwise, zero. + + + The integer value of the HRESULT. + + + + + Attempts to map the specified onto an + existing HRESULT -OR- a Win32 error code wrapped in an HRESULT. The + mappings may not have perfectly matching semantics; however, they do + have the benefit of being unique within the context of this exception + type. + + + The to map. + + + The integer HRESULT value -OR- null if there is no known mapping. + + + + + Returns the error message for the specified SQLite return code. + + The SQLite return code. + The error message or null if it cannot be found. + + + + Returns the composite error message based on the SQLite return code + and the optional detailed error message. + + The SQLite return code. + Optional detailed error message. + Error message text for the return code. + + + + SQLite error codes. Actually, this enumeration represents a return code, + which may also indicate success in one of several ways (e.g. SQLITE_OK, + SQLITE_ROW, and SQLITE_DONE). Therefore, the name of this enumeration is + something of a misnomer. + + + + + The error code is unknown. This error code + is only used by the managed wrapper itself. + + + + + Successful result + + + + + SQL error or missing database + + + + + Internal logic error in SQLite + + + + + Access permission denied + + + + + Callback routine requested an abort + + + + + The database file is locked + + + + + A table in the database is locked + + + + + A malloc() failed + + + + + Attempt to write a readonly database + + + + + Operation terminated by sqlite3_interrupt() + + + + + Some kind of disk I/O error occurred + + + + + The database disk image is malformed + + + + + Unknown opcode in sqlite3_file_control() + + + + + Insertion failed because database is full + + + + + Unable to open the database file + + + + + Database lock protocol error + + + + + Database is empty + + + + + The database schema changed + + + + + String or BLOB exceeds size limit + + + + + Abort due to constraint violation + + + + + Data type mismatch + + + + + Library used incorrectly + + + + + Uses OS features not supported on host + + + + + Authorization denied + + + + + Auxiliary database format error + + + + + 2nd parameter to sqlite3_bind out of range + + + + + File opened that is not a database file + + + + + Notifications from sqlite3_log() + + + + + Warnings from sqlite3_log() + + + + + sqlite3_step() has another row ready + + + + + sqlite3_step() has finished executing + + + + + Used to mask off extended result codes + + + + + A collation sequence was referenced by a schema and it cannot be + found. + + + + + An internal operation failed and it may succeed if retried. + + + + + The specified snapshot has been overwritten by a checkpoint. + + + + + A file read operation failed. + + + + + A file read operation returned less data than requested. + + + + + A file write operation failed. + + + + + A file synchronization operation failed. + + + + + A directory synchronization operation failed. + + + + + A file truncate operation failed. + + + + + A file metadata operation failed. + + + + + A file unlock operation failed. + + + + + A file lock operation failed. + + + + + A file delete operation failed. + + + + + Not currently used. + + + + + Out-of-memory during a file operation. + + + + + A file existence/status operation failed. + + + + + A check for a reserved lock failed. + + + + + A file lock operation failed. + + + + + A file close operation failed. + + + + + A directory close operation failed. + + + + + A shared memory open operation failed. + + + + + A shared memory size operation failed. + + + + + A shared memory lock operation failed. + + + + + A shared memory map operation failed. + + + + + A file seek operation failed. + + + + + A file delete operation failed because it does not exist. + + + + + A file memory mapping operation failed. + + + + + The temporary directory path could not be obtained. + + + + + A path string conversion operation failed. + + + + + Reserved. + + + + + An attempt to authenticate failed. + + + + + An attempt to begin a file system transaction failed. + + + + + An attempt to commit a file system transaction failed. + + + + + An attempt to rollback a file system transaction failed. + + + + + A database table is locked in shared-cache mode. + + + + + A virtual table in the database is locked. + + + + + A database file is locked due to a recovery operation. + + + + + A database file is locked due to snapshot semantics. + + + + + A database file cannot be opened because no temporary directory is available. + + + + + A database file cannot be opened because its path represents a directory. + + + + + A database file cannot be opened because its full path could not be obtained. + + + + + A database file cannot be opened because a path string conversion operation failed. + + + + + No longer used. + + + + + A database file is a symbolic link and cannot be opened. + + + + + A virtual table is malformed. + + + + + A required sequence table is missing or corrupt. + + + + + A database file is read-only due to a recovery operation. + + + + + A database file is read-only because a lock could not be obtained. + + + + + A database file is read-only because it needs rollback processing. + + + + + A database file is read-only because it was moved while open. + + + + + The shared-memory file is read-only and it should be read-write. + + + + + Unable to create journal file because the directory is read-only. + + + + + An operation is being aborted due to rollback processing. + + + + + A CHECK constraint failed. + + + + + A commit hook produced a unsuccessful return code. + + + + + A FOREIGN KEY constraint failed. + + + + + Not currently used. + + + + + A NOT NULL constraint failed. + + + + + A PRIMARY KEY constraint failed. + + + + + The RAISE function was used by a trigger-program. + + + + + A UNIQUE constraint failed. + + + + + Not currently used. + + + + + A ROWID constraint failed. + + + + + A database cursor is busy and cannot be moved. + + + + + Frames were recovered from the WAL log file. + + + + + Pages were recovered from the journal file. + + + + + An automatic index was created to process a query. + + + + + User authentication failed. + + + + + Success. Prevents the extension from unloading until the process + terminates. + + + + + Success. The specified file name refers to a symbolic link. + + + + + SQLite implementation of . + + + + + Constructs a new instance. + + + + + Cleans up resources (native and managed) associated with the current instance. + + + + + Cleans up resources associated with the current instance. + + + + + This event is raised whenever SQLite raises a logging event. + Note that this should be set as one of the first things in the + application. This event is provided for backward compatibility only. + New code should use the class instead. + + + + + Static instance member which returns an instanced class. + + + + + Creates and returns a new object. + + The new object. + + + + Creates and returns a new object. + + The new object. + + + + Creates and returns a new object. + + The new object. + + + + Creates and returns a new object. + + The new object. + + + + Creates and returns a new object. + + The new object. + + + + Creates and returns a new object. + + The new object. + + + + This abstract class is designed to handle user-defined functions easily. An instance of the derived class is made for each + connection to the database. + + + Although there is one instance of a class derived from SQLiteFunction per database connection, the derived class has no access + to the underlying connection. This is necessary to deter implementers from thinking it would be a good idea to make database + calls during processing. + + It is important to distinguish between a per-connection instance, and a per-SQL statement context. One instance of this class + services all SQL statements being stepped through on that connection, and there can be many. One should never store per-statement + information in member variables of user-defined function classes. + + For aggregate functions, always create and store your per-statement data in the contextData object on the 1st step. This data will + be automatically freed for you (and Dispose() called if the item supports IDisposable) when the statement completes. + + + + + The base connection this function is attached to + + + + + Internal array used to keep track of aggregate function context data + + + + + The connection flags associated with this object (this should be the + same value as the flags associated with the parent connection object). + + + + + Holds a reference to the callback function for user functions + + + + + Holds a reference to the callbakc function for stepping in an aggregate function + + + + + Holds a reference to the callback function for finalizing an aggregate function + + + + + Holds a reference to the callback function for collating sequences + + + + + Current context of the current callback. Only valid during a callback + + + + + This static dictionary contains all the registered (known) user-defined + functions declared using the proper attributes. The contained dictionary + values are always null and are not currently used. + + + + + Internal constructor, initializes the function's internal variables. + + + + + Constructs an instance of this class using the specified data-type + conversion parameters. + + + The DateTime format to be used when converting string values to a + DateTime and binding DateTime parameters. + + + The to be used when creating DateTime + values. + + + The format string to be used when parsing and formatting DateTime + values. + + + Non-zero to create a UTF-16 data-type conversion context; otherwise, + a UTF-8 data-type conversion context will be created. + + + + + Disposes of any active contextData variables that were not automatically cleaned up. Sometimes this can happen if + someone closes the connection while a DataReader is open. + + + + + Placeholder for a user-defined disposal routine + + True if the object is being disposed explicitly + + + + Cleans up resources associated with the current instance. + + + + + Returns a reference to the underlying connection's SQLiteConvert class, which can be used to convert + strings and DateTime's into the current connection's encoding schema. + + + + + Scalar functions override this method to do their magic. + + + Parameters passed to functions have only an affinity for a certain data type, there is no underlying schema available + to force them into a certain type. Therefore the only types you will ever see as parameters are + DBNull.Value, Int64, Double, String or byte[] array. + + The arguments for the command to process + You may return most simple types as a return value, null or DBNull.Value to return null, DateTime, or + you may return an Exception-derived class if you wish to return an error to SQLite. Do not actually throw the error, + just return it! + + + + Aggregate functions override this method to do their magic. + + + Typically you'll be updating whatever you've placed in the contextData field and returning as quickly as possible. + + The arguments for the command to process + The 1-based step number. This is incrememted each time the step method is called. + A placeholder for implementers to store contextual data pertaining to the current context. + + + + Aggregate functions override this method to finish their aggregate processing. + + + If you implemented your aggregate function properly, + you've been recording and keeping track of your data in the contextData object provided, and now at this stage you should have + all the information you need in there to figure out what to return. + NOTE: It is possible to arrive here without receiving a previous call to Step(), in which case the contextData will + be null. This can happen when no rows were returned. You can either return null, or 0 or some other custom return value + if that is the case. + + Your own assigned contextData, provided for you so you can return your final results. + You may return most simple types as a return value, null or DBNull.Value to return null, DateTime, or + you may return an Exception-derived class if you wish to return an error to SQLite. Do not actually throw the error, + just return it! + + + + + User-defined collating sequences override this method to provide a custom string sorting algorithm. + + The first string to compare. + The second strnig to compare. + 1 if param1 is greater than param2, 0 if they are equal, or -1 if param1 is less than param2. + + + + Converts an IntPtr array of context arguments to an object array containing the resolved parameters the pointers point to. + + + Parameters passed to functions have only an affinity for a certain data type, there is no underlying schema available + to force them into a certain type. Therefore the only types you will ever see as parameters are + DBNull.Value, Int64, Double, String or byte[] array. + + The number of arguments + A pointer to the array of arguments + An object array of the arguments once they've been converted to .NET values + + + + Takes the return value from Invoke() and Final() and figures out how to return it to SQLite's context. + + The context the return value applies to + The parameter to return to SQLite + + + + Internal scalar callback function, which wraps the raw context pointer and calls the virtual Invoke() method. + WARNING: Must not throw exceptions. + + A raw context pointer + Number of arguments passed in + A pointer to the array of arguments + + + + Internal collating sequence function, which wraps up the raw string pointers and executes the Compare() virtual function. + WARNING: Must not throw exceptions. + + Not used + Length of the string pv1 + Pointer to the first string to compare + Length of the string pv2 + Pointer to the second string to compare + Returns -1 if the first string is less than the second. 0 if they are equal, or 1 if the first string is greater + than the second. Returns 0 if an exception is caught. + + + + Internal collating sequence function, which wraps up the raw string pointers and executes the Compare() virtual function. + WARNING: Must not throw exceptions. + + Not used + Length of the string pv1 + Pointer to the first string to compare + Length of the string pv2 + Pointer to the second string to compare + Returns -1 if the first string is less than the second. 0 if they are equal, or 1 if the first string is greater + than the second. Returns 0 if an exception is caught. + + + + The internal aggregate Step function callback, which wraps the raw context pointer and calls the virtual Step() method. + WARNING: Must not throw exceptions. + + + This function takes care of doing the lookups and getting the important information put together to call the Step() function. + That includes pulling out the user's contextData and updating it after the call is made. We use a sorted list for this so + binary searches can be done to find the data. + + A raw context pointer + Number of arguments passed in + A pointer to the array of arguments + + + + An internal aggregate Final function callback, which wraps the context pointer and calls the virtual Final() method. + WARNING: Must not throw exceptions. + + A raw context pointer + + + + Using reflection, enumerate all assemblies in the current appdomain looking for classes that + have a SQLiteFunctionAttribute attribute, and registering them accordingly. + + + + + Manual method of registering a function. The type must still have the SQLiteFunctionAttributes in order to work + properly, but this is a workaround for the Compact Framework where enumerating assemblies is not currently supported. + + The type of the function to register + + + + Alternative method of registering a function. This method + does not require the specified type to be annotated with + . + + + The name of the function to register. + + + The number of arguments accepted by the function. + + + The type of SQLite function being resitered (e.g. scalar, + aggregate, or collating sequence). + + + The that actually implements the function. + This will only be used if the + and parameters are null. + + + The to be used for all calls into the + , + , + and virtual methods. + + + The to be used for all calls into the + virtual method. This + parameter is only necessary for aggregate functions. + + + + + Replaces a registered function, disposing of the associated (old) + value if necessary. + + + The attribute that describes the function to replace. + + + The new value to use. + + + Non-zero if an existing registered function was replaced; otherwise, + zero. + + + + + Creates a instance based on the specified + . + + + The containing the metadata about + the function to create. + + + The created function -OR- null if the function could not be created. + + + Non-zero if the function was created; otherwise, zero. + + + + + Called by the SQLiteBase derived classes, this method binds all registered (known) user-defined functions to a connection. + It is done this way so that all user-defined functions will access the database using the same encoding scheme + as the connection (UTF-8 or UTF-16). + + + The wrapper functions that interop with SQLite will create a unique cookie value, which internally is a pointer to + all the wrapped callback functions. The interop function uses it to map CDecl callbacks to StdCall callbacks. + + The base object on which the functions are to bind. + The flags associated with the parent connection object. + Returns a logical list of functions which the connection should retain until it is closed. + + + + Called by the SQLiteBase derived classes, this method unbinds all registered (known) + functions -OR- all previously bound user-defined functions from a connection. + + The base object from which the functions are to be unbound. + The flags associated with the parent connection object. + + Non-zero to unbind all registered (known) functions -OR- zero to unbind all functions + currently bound to the connection. + + Non-zero if all the specified user-defined functions were unbound. + + + + This function binds a user-defined function to a connection. + + + The object instance associated with the + that the function should be bound to. + + + The object instance containing + the metadata for the function to be bound. + + + The object instance that implements the + function to be bound. + + + The flags associated with the parent connection object. + + + + + This function unbinds a user-defined functions from a connection. + + + The object instance associated with the + that the function should be bound to. + + + The object instance containing + the metadata for the function to be bound. + + + The object instance that implements the + function to be bound. + + + The flags associated with the parent connection object. + + Non-zero if the function was unbound. + + + + This type is used with the + method. + + + This is always the string literal "Invoke". + + + The arguments for the scalar function. + + + The result of the scalar function. + + + + + This type is used with the + method. + + + This is always the string literal "Step". + + + The arguments for the aggregate function. + + + The step number (one based). This is incrememted each time the + method is called. + + + A placeholder for implementers to store contextual data pertaining + to the current context. + + + + + This type is used with the + method. + + + This is always the string literal "Final". + + + A placeholder for implementers to store contextual data pertaining + to the current context. + + + The result of the aggregate function. + + + + + This type is used with the + method. + + + This is always the string literal "Compare". + + + The first string to compare. + + + The second strnig to compare. + + + A positive integer if the parameter is + greater than the parameter, a negative + integer if the parameter is less than + the parameter, or zero if they are + equal. + + + + + This class implements a SQLite function using a . + All the virtual methods of the class are + implemented using calls to the , + , , + and strongly typed delegate types + or via the method. + The arguments are presented in the same order they appear in + the associated methods with one exception: + the first argument is the name of the virtual method being implemented. + + + + + This error message is used by the overridden virtual methods when + a required property (e.g. + or ) has not been + set. + + + + + This error message is used by the overridden + method when the result does not have a type of . + + + + + Constructs an empty instance of this class. + + + + + Constructs an instance of this class using the specified + as the + implementation. + + + The to be used for all calls into the + , , and + virtual methods needed by the + base class. + + + The to be used for all calls into the + virtual methods needed by the + base class. + + + + + Returns the list of arguments for the method, + as an of . The first + argument is always the literal string "Invoke". + + + The original arguments received by the method. + + + Non-zero if the returned arguments are going to be used with the + type; otherwise, zero. + + + The arguments to pass to the configured . + + + + + Returns the list of arguments for the method, + as an of . The first + argument is always the literal string "Step". + + + The original arguments received by the method. + + + The step number (one based). This is incrememted each time the + method is called. + + + A placeholder for implementers to store contextual data pertaining + to the current context. + + + Non-zero if the returned arguments are going to be used with the + type; otherwise, zero. + + + The arguments to pass to the configured . + + + + + Updates the output arguments for the method, + using an of . The first + argument is always the literal string "Step". Currently, only the + parameter is updated. + + + The original arguments received by the method. + + + A placeholder for implementers to store contextual data pertaining + to the current context. + + + Non-zero if the returned arguments are going to be used with the + type; otherwise, zero. + + + The arguments to pass to the configured . + + + + + Returns the list of arguments for the method, + as an of . The first + argument is always the literal string "Final". + + + A placeholder for implementers to store contextual data pertaining + to the current context. + + + Non-zero if the returned arguments are going to be used with the + type; otherwise, zero. + + + The arguments to pass to the configured . + + + + + Returns the list of arguments for the method, + as an of . The first + argument is always the literal string "Compare". + + + The first string to compare. + + + The second strnig to compare. + + + Non-zero if the returned arguments are going to be used with the + type; otherwise, zero. + + + The arguments to pass to the configured . + + + + + The to be used for all calls into the + , , and + virtual methods needed by the + base class. + + + + + The to be used for all calls into the + virtual methods needed by the + base class. + + + + + This virtual method is the implementation for scalar functions. + See the method for more + details. + + + The arguments for the scalar function. + + + The result of the scalar function. + + + + + This virtual method is part of the implementation for aggregate + functions. See the method + for more details. + + + The arguments for the aggregate function. + + + The step number (one based). This is incrememted each time the + method is called. + + + A placeholder for implementers to store contextual data pertaining + to the current context. + + + + + This virtual method is part of the implementation for aggregate + functions. See the method + for more details. + + + A placeholder for implementers to store contextual data pertaining + to the current context. + + + The result of the aggregate function. + + + + + This virtual method is part of the implementation for collating + sequences. See the method + for more details. + + + The first string to compare. + + + The second strnig to compare. + + + A positive integer if the parameter is + greater than the parameter, a negative + integer if the parameter is less than + the parameter, or zero if they are + equal. + + + + + Extends SQLiteFunction and allows an inherited class to obtain the collating sequence associated with a function call. + + + User-defined functions can call the GetCollationSequence() method in this class and use it to compare strings and char arrays. + + + + + Obtains the collating sequence in effect for the given function. + + + + + + Cleans up resources (native and managed) associated with the current instance. + + + Zero when being disposed via garbage collection; otherwise, non-zero. + + + + + The type of user-defined function to declare + + + + + Scalar functions are designed to be called and return a result immediately. Examples include ABS(), Upper(), Lower(), etc. + + + + + Aggregate functions are designed to accumulate data until the end of a call and then return a result gleaned from the accumulated data. + Examples include SUM(), COUNT(), AVG(), etc. + + + + + Collating sequences are used to sort textual data in a custom manner, and appear in an ORDER BY clause. Typically text in an ORDER BY is + sorted using a straight case-insensitive comparison function. Custom collating sequences can be used to alter the behavior of text sorting + in a user-defined manner. + + + + + An internal callback delegate declaration. + + Raw native context pointer for the user function. + Total number of arguments to the user function. + Raw native pointer to the array of raw native argument pointers. + + + + An internal final callback delegate declaration. + + Raw context pointer for the user function + + + + Internal callback delegate for implementing collating sequences + + Not used + Length of the string pv1 + Pointer to the first string to compare + Length of the string pv2 + Pointer to the second string to compare + Returns -1 if the first string is less than the second. 0 if they are equal, or 1 if the first string is greater + than the second. + + + + The type of collating sequence + + + + + The built-in BINARY collating sequence + + + + + The built-in NOCASE collating sequence + + + + + The built-in REVERSE collating sequence + + + + + A custom user-defined collating sequence + + + + + The encoding type the collation sequence uses + + + + + The collation sequence is UTF8 + + + + + The collation sequence is UTF16 little-endian + + + + + The collation sequence is UTF16 big-endian + + + + + A struct describing the collating sequence a function is executing in + + + + + The name of the collating sequence + + + + + The type of collating sequence + + + + + The text encoding of the collation sequence + + + + + Context of the function that requested the collating sequence + + + + + Calls the base collating sequence to compare two strings + + The first string to compare + The second string to compare + -1 if s1 is less than s2, 0 if s1 is equal to s2, and 1 if s1 is greater than s2 + + + + Calls the base collating sequence to compare two character arrays + + The first array to compare + The second array to compare + -1 if c1 is less than c2, 0 if c1 is equal to c2, and 1 if c1 is greater than c2 + + + + A simple custom attribute to enable us to easily find user-defined functions in + the loaded assemblies and initialize them in SQLite as connections are made. + + + + + Default constructor, initializes the internal variables for the function. + + + + + Constructs an instance of this class. This sets the initial + , , and + properties to null. + + + The name of the function, as seen by the SQLite core library. + + + The number of arguments that the function will accept. + + + The type of function being declared. This will either be Scalar, + Aggregate, or Collation. + + + + + The function's name as it will be used in SQLite command text. + + + + + The number of arguments this function expects. -1 if the number of arguments is variable. + + + + + The type of function this implementation will be. + + + + + The object instance that describes the class + containing the implementation for the associated function. The value of + this property will not be used if either the or + property values are set to non-null. + + + + + The that refers to the implementation for the + associated function. If this property value is set to non-null, it will + be used instead of the property value. + + + + + The that refers to the implementation for the + associated function. If this property value is set to non-null, it will + be used instead of the property value. + + + + + This class provides key info for a given SQLite statement. + + Providing key information for a given statement is non-trivial :( + + + + + + Used to support CommandBehavior.KeyInfo + + + + + Used to keep track of the per-table RowId column metadata. + + + + + A single sub-query for a given table/database. + + + + + This function does all the nasty work at determining what keys need to be returned for + a given statement. + + + + + + + + How many additional columns of keyinfo we're holding + + + + + Make sure all the subqueries are open and ready and sync'd with the current rowid + of the table they're supporting + + + + + Release any readers on any subqueries + + + + + Append all the columns we've added to the original query to the schema + + + + + + Event data for logging event handlers. + + + + + The error code. The type of this object value should be + or . + + + + + SQL statement text as the statement first begins executing + + + + + Extra data associated with this event, if any. + + + + + Constructs the object. + + Should be null. + + The error code. The type of this object value should be + or . + + The error message, if any. + The extra data, if any. + + + + Raised when a log event occurs. + + The current connection + Event arguments of the trace + + + + Manages the SQLite custom logging functionality and the associated + callback for the whole process. + + + + + Object used to synchronize access to the static instance data + for this class. + + + + + Member variable to store the AppDomain.DomainUnload event handler. + + + + + Member variable to store the application log handler to call. + + + + + The default log event handler. + + + + + The log callback passed to native SQLite engine. This must live + as long as the SQLite library has a pointer to it. + + + + + The base SQLite object to interop with. + + + + + The number of times that the + has been called when the logging subystem was actually eligible + to be initialized (i.e. without the "No_SQLiteLog" environment + variable being set). + + + + + This will be non-zero if an attempt was already made to initialize + the (managed) logging subsystem. + + + + + This will be non-zero if logging is currently enabled. + + + + + Initializes the SQLite logging facilities. + + + + + Initializes the SQLite logging facilities. + + + The name of the managed class that called this method. This + parameter may be null. + + + + + Handles the AppDomain being unloaded. + + Should be null. + The data associated with this event. + + + + This event is raised whenever SQLite raises a logging event. + Note that this should be set as one of the first things in the + application. + + + + + If this property is true, logging is enabled; otherwise, logging is + disabled. When logging is disabled, no logging events will fire. + + + + + Log a message to all the registered log event handlers without going + through the SQLite library. + + The message to be logged. + + + + Log a message to all the registered log event handlers without going + through the SQLite library. + + The SQLite error code. + The message to be logged. + + + + Log a message to all the registered log event handlers without going + through the SQLite library. + + The integer error code. + The message to be logged. + + + + Log a message to all the registered log event handlers without going + through the SQLite library. + + + The error code. The type of this object value should be + System.Int32 or SQLiteErrorCode. + + The message to be logged. + + + + Creates and initializes the default log event handler. + + + + + Adds the default log event handler to the list of handlers. + + + + + Removes the default log event handler from the list of handlers. + + + + + Internal proxy function that calls any registered application log + event handlers. + + WARNING: This method is used more-or-less directly by native code, + do not modify its type signature. + + + The extra data associated with this message, if any. + + + The error code associated with this message. + + + The message string to be logged. + + + + + Default logger. Currently, uses the Trace class (i.e. sends events + to the current trace listeners, if any). + + Should be null. + The data associated with this event. + + + + MetaDataCollections specific to SQLite + + + + + Returns a list of databases attached to the connection + + + + + Returns column information for the specified table + + + + + Returns index information for the optionally-specified table + + + + + Returns base columns for the given index + + + + + Returns the tables in the given catalog + + + + + Returns user-defined views in the given catalog + + + + + Returns underlying column information on the given view + + + + + Returns foreign key information for the given catalog + + + + + Returns the triggers on the database + + + + + SQLite implementation of DbParameter. + + + + + This value represents an "unknown" . + + + + + The command associated with this parameter. + + + + + The data type of the parameter + + + + + The version information for mapping the parameter + + + + + The value of the data in the parameter + + + + + The source column for the parameter + + + + + The column name + + + + + The data size, unused by SQLite + + + + + The database type name associated with this parameter, if any. + + + + + Constructor used when creating for use with a specific command. + + + The command associated with this parameter. + + + + + Default constructor + + + + + Constructs a named parameter given the specified parameter name + + The parameter name + + + + Constructs a named parameter given the specified parameter name and initial value + + The parameter name + The initial value of the parameter + + + + Constructs a named parameter of the specified type + + The parameter name + The datatype of the parameter + + + + Constructs a named parameter of the specified type and source column reference + + The parameter name + The data type + The source column + + + + Constructs a named parameter of the specified type, source column and row version + + The parameter name + The data type + The source column + The row version information + + + + Constructs an unnamed parameter of the specified data type + + The datatype of the parameter + + + + Constructs an unnamed parameter of the specified data type and sets the initial value + + The datatype of the parameter + The initial value of the parameter + + + + Constructs an unnamed parameter of the specified data type and source column + + The datatype of the parameter + The source column + + + + Constructs an unnamed parameter of the specified data type, source column and row version + + The data type + The source column + The row version information + + + + Constructs a named parameter of the specified type and size + + The parameter name + The data type + The size of the parameter + + + + Constructs a named parameter of the specified type, size and source column + + The name of the parameter + The data type + The size of the parameter + The source column + + + + Constructs a named parameter of the specified type, size, source column and row version + + The name of the parameter + The data type + The size of the parameter + The source column + The row version information + + + + Constructs a named parameter of the specified type, size, source column and row version + + The name of the parameter + The data type + The size of the parameter + Only input parameters are supported in SQLite + Ignored + Ignored + Ignored + The source column + The row version information + The initial value to assign the parameter + + + + Constructs a named parameter, yet another flavor + + The name of the parameter + The data type + The size of the parameter + Only input parameters are supported in SQLite + Ignored + Ignored + The source column + The row version information + Whether or not this parameter is for comparing NULL's + The intial value to assign the parameter + + + + Constructs an unnamed parameter of the specified type and size + + The data type + The size of the parameter + + + + Constructs an unnamed parameter of the specified type, size, and source column + + The data type + The size of the parameter + The source column + + + + Constructs an unnamed parameter of the specified type, size, source column and row version + + The data type + The size of the parameter + The source column + The row version information + + + + The command associated with this parameter. + + + + + Whether or not the parameter can contain a null value + + + + + Returns the datatype of the parameter + + + + + Supports only input parameters + + + + + Returns the parameter name + + + + + Resets the DbType of the parameter so it can be inferred from the value + + + + + Returns the size of the parameter + + + + + Gets/sets the source column + + + + + Used by DbCommandBuilder to determine the mapping for nullable fields + + + + + Gets and sets the row version + + + + + Gets and sets the parameter value. If no datatype was specified, the datatype will assume the type from the value given. + + + + + The database type name associated with this parameter, if any. + + + + + Clones a parameter + + A new, unassociated SQLiteParameter + + + + SQLite implementation of DbParameterCollection. + + + + + The underlying command to which this collection belongs + + + + + The internal array of parameters in this collection + + + + + Determines whether or not all parameters have been bound to their statement(s) + + + + + Initializes the collection + + The command to which the collection belongs + + + + Returns false + + + + + Returns false + + + + + Returns false + + + + + Returns null + + + + + Retrieves an enumerator for the collection + + An enumerator for the underlying array + + + + Adds a parameter to the collection + + The parameter name + The data type + The size of the value + The source column + A SQLiteParameter object + + + + Adds a parameter to the collection + + The parameter name + The data type + The size of the value + A SQLiteParameter object + + + + Adds a parameter to the collection + + The parameter name + The data type + A SQLiteParameter object + + + + Adds a parameter to the collection + + The parameter to add + A zero-based index of where the parameter is located in the array + + + + Adds a parameter to the collection + + The parameter to add + A zero-based index of where the parameter is located in the array + + + + Adds a named/unnamed parameter and its value to the parameter collection. + + Name of the parameter, or null to indicate an unnamed parameter + The initial value of the parameter + Returns the SQLiteParameter object created during the call. + + + + Adds an array of parameters to the collection + + The array of parameters to add + + + + Adds an array of parameters to the collection + + The array of parameters to add + + + + Clears the array and resets the collection + + + + + Determines if the named parameter exists in the collection + + The name of the parameter to check + True if the parameter is in the collection + + + + Determines if the parameter exists in the collection + + The SQLiteParameter to check + True if the parameter is in the collection + + + + Not implemented + + + + + + + Returns a count of parameters in the collection + + + + + Overloaded to specialize the return value of the default indexer + + Name of the parameter to get/set + The specified named SQLite parameter + + + + Overloaded to specialize the return value of the default indexer + + The index of the parameter to get/set + The specified SQLite parameter + + + + Retrieve a parameter by name from the collection + + The name of the parameter to fetch + A DbParameter object + + + + Retrieves a parameter by its index in the collection + + The index of the parameter to retrieve + A DbParameter object + + + + Returns the index of a parameter given its name + + The name of the parameter to find + -1 if not found, otherwise a zero-based index of the parameter + + + + Returns the index of a parameter + + The parameter to find + -1 if not found, otherwise a zero-based index of the parameter + + + + Inserts a parameter into the array at the specified location + + The zero-based index to insert the parameter at + The parameter to insert + + + + Removes a parameter from the collection + + The parameter to remove + + + + Removes a parameter from the collection given its name + + The name of the parameter to remove + + + + Removes a parameter from the collection given its index + + The zero-based parameter index to remove + + + + Re-assign the named parameter to a new parameter object + + The name of the parameter to replace + The new parameter + + + + Re-assign a parameter at the specified index + + The zero-based index of the parameter to replace + The new parameter + + + + Un-binds all parameters from their statements + + + + + This function attempts to map all parameters in the collection to all statements in a Command. + Since named parameters may span multiple statements, this function makes sure all statements are bound + to the same named parameter. Unnamed parameters are bound in sequence. + + + + + Represents a single SQL statement in SQLite. + + + + + The underlying SQLite object this statement is bound to + + + + + The command text of this SQL statement + + + + + The actual statement pointer + + + + + An index from which unnamed parameters begin + + + + + Names of the parameters as SQLite understands them to be + + + + + Parameters for this statement + + + + + Command this statement belongs to (if any) + + + + + The flags associated with the parent connection object. + + + + + Initializes the statement and attempts to get all information about parameters in the statement + + The base SQLite object + The flags associated with the parent connection object + The statement + The command text for this statement + The previous command in a multi-statement command + + + + Disposes and finalizes the statement + + + + + If the underlying database connection is open, fetches the number of changed rows + resulting from the most recent query; otherwise, does nothing. + + + The number of changes when true is returned. + Undefined if false is returned. + + + The read-only flag when true is returned. + Undefined if false is returned. + + Non-zero if the number of changed rows was fetched. + + + + Called by SQLiteParameterCollection, this function determines if the specified parameter name belongs to + this statement, and if so, keeps a reference to the parameter so it can be bound later. + + The parameter name to map + The parameter to assign it + + + + Bind all parameters, making sure the caller didn't miss any + + + + + This method attempts to query the database connection associated with + the statement in use. If the underlying command or connection is + unavailable, a null value will be returned. + + + The connection object -OR- null if it is unavailable. + + + + + Invokes the parameter binding callback configured for the database + type name associated with the specified column. If no parameter + binding callback is available for the database type name, do + nothing. + + + The index of the column being read. + + + The instance being bound to the + command. + + + Non-zero if the default handling for the parameter binding call + should be skipped (i.e. the parameter should not be bound at all). + Great care should be used when setting this to non-zero. + + + + + Perform the bind operation for an individual parameter + + The index of the parameter to bind + The parameter we're binding + + + + SQLite implementation of DbTransaction that does not support nested transactions. + + + + + Constructs the transaction object, binding it to the supplied connection + + The connection to open a transaction on + TRUE to defer the writelock, or FALSE to lock immediately + + + + Disposes the transaction. If it is currently active, any changes are rolled back. + + + + + Commits the current transaction. + + + + + Attempts to start a transaction. An exception will be thrown if the transaction cannot + be started for any reason. + + TRUE to defer the writelock, or FALSE to lock immediately + + + + Issue a ROLLBACK command against the database connection, + optionally re-throwing any caught exception. + + + Non-zero to re-throw caught exceptions. + + + + + SQLite implementation of DbTransaction that does support nested transactions. + + + + + The original transaction level for the associated connection + when this transaction was created (i.e. begun). + + + + + The SAVEPOINT name for this transaction, if any. This will + only be non-null if this transaction is a nested one. + + + + + Constructs the transaction object, binding it to the supplied connection + + The connection to open a transaction on + TRUE to defer the writelock, or FALSE to lock immediately + + + + Disposes the transaction. If it is currently active, any changes are rolled back. + + + + + Commits the current transaction. + + + + + Attempts to start a transaction. An exception will be thrown if the transaction cannot + be started for any reason. + + TRUE to defer the writelock, or FALSE to lock immediately + + + + Issue a ROLLBACK command against the database connection, + optionally re-throwing any caught exception. + + + Non-zero to re-throw caught exceptions. + + + + + Constructs the name of a new savepoint for this transaction. It + should only be called from the constructor of this class. + + + The name of the new savepoint -OR- null if it cannot be constructed. + + + + + Base class used by to implement DbTransaction for SQLite. + + + + + The connection to which this transaction is bound. + + + + + Matches the version of the connection. + + + + + The isolation level for this transaction. + + + + + Constructs the transaction object, binding it to the supplied connection + + The connection to open a transaction on + TRUE to defer the writelock, or FALSE to lock immediately + + + + Gets the isolation level of the transaction. SQLite only supports Serializable transactions. + + + + + Disposes the transaction. If it is currently active, any changes are rolled back. + + + + + Returns the underlying connection to which this transaction applies. + + + + + Forwards to the local Connection property + + + + + Rolls back the active transaction. + + + + + Attempts to start a transaction. An exception will be thrown if the transaction cannot + be started for any reason. + + TRUE to defer the writelock, or FALSE to lock immediately + + + + Issue a ROLLBACK command against the database connection, + optionally re-throwing any caught exception. + + + Non-zero to re-throw caught exceptions. + + + + + Checks the state of this transaction, optionally throwing an exception if a state + inconsistency is found. + + + Non-zero to throw an exception if a state inconsistency is found. + + + Non-zero if this transaction is valid; otherwise, false. + + + + + This static class provides some methods that are shared between the + native library pre-loader and other classes. + + + + + This lock is used to protect the static and + fields. + + + + + This type is only present when running on Mono. + + + + + This type is only present when running on .NET Core. + + + + + Keeps track of whether we are running on Mono. Initially null, it is + set by the method on its first call. Later, it + is returned verbatim by the method. + + + + + Keeps track of whether we are running on .NET Core. Initially null, + it is set by the method on its first + call. Later, it is returned verbatim by the + method. + + + + + Keeps track of whether we successfully invoked the + method. Initially null, it is set by + the method on its first call. + + + + + Determines the ID of the current process. Only used for debugging. + + + The ID of the current process -OR- zero if it cannot be determined. + + + + + Determines whether or not this assembly is running on Mono. + + + Non-zero if this assembly is running on Mono. + + + + + Determines whether or not this assembly is running on .NET Core. + + + Non-zero if this assembly is running on .NET Core. + + + + + Resets the cached value for the "PreLoadSQLite_BreakIntoDebugger" + configuration setting. + + + + + If the "PreLoadSQLite_BreakIntoDebugger" configuration setting is + present (e.g. via the environment), give the interactive user an + opportunity to attach a debugger to the current process; otherwise, + do nothing. + + + + + Determines the ID of the current thread. Only used for debugging. + + + The ID of the current thread -OR- zero if it cannot be determined. + + + + + Determines if the specified flags are present within the flags + associated with the parent connection object. + + + The flags associated with the parent connection object. + + + The flags to check for. + + + Non-zero if the specified flag or flags were present; otherwise, + zero. + + + + + Determines if preparing a query should be logged. + + + The flags associated with the parent connection object. + + + Non-zero if the query preparation should be logged; otherwise, zero. + + + + + Determines if pre-parameter binding should be logged. + + + The flags associated with the parent connection object. + + + Non-zero if the pre-parameter binding should be logged; otherwise, + zero. + + + + + Determines if parameter binding should be logged. + + + The flags associated with the parent connection object. + + + Non-zero if the parameter binding should be logged; otherwise, zero. + + + + + Determines if an exception in a native callback should be logged. + + + The flags associated with the parent connection object. + + + Non-zero if the exception should be logged; otherwise, zero. + + + + + Determines if backup API errors should be logged. + + + The flags associated with the parent connection object. + + + Non-zero if the backup API error should be logged; otherwise, zero. + + + + + Determines if logging for the class is + disabled. + + + The flags associated with the parent connection object. + + + Non-zero if logging for the class is + disabled; otherwise, zero. + + + + + Determines if errors should be logged. + + + The flags associated with the parent connection object. + + + Non-zero if the error should be logged; + otherwise, zero. + + + + + Determines if exceptions should be + logged. + + + The flags associated with the parent connection object. + + + Non-zero if the exception should be + logged; otherwise, zero. + + + + + Determines if the current process is running on one of the Windows + [sub-]platforms. + + + Non-zero when running on Windows; otherwise, zero. + + + + + This is a wrapper around the + method. + On Mono, it has to call the method overload without the + parameter, due to a bug in Mono. + + + This is used for culture-specific formatting. + + + The format string. + + + An array the objects to format. + + + The resulting string. + + + + + This static class provides a thin wrapper around the native library + loading features of the underlying platform. + + + + + This delegate is used to wrap the concept of loading a native + library, based on a file name, and returning the loaded module + handle. + + + The file name of the native library to load. + + + The native module handle upon success -OR- IntPtr.Zero on failure. + + + + + This delegate is used to wrap the concept of querying the machine + name of the current process. + + + The machine name for the current process -OR- null on failure. + + + + + Attempts to load the specified native library file using the Win32 + API. + + + The file name of the native library to load. + + + The native module handle upon success -OR- IntPtr.Zero on failure. + + + + + Attempts to determine the machine name of the current process using + the Win32 API. + + + The machine name for the current process -OR- null on failure. + + + + + Attempts to load the specified native library file using the POSIX + API. + + + The file name of the native library to load. + + + The native module handle upon success -OR- IntPtr.Zero on failure. + + + + + Attempts to determine the machine name of the current process using + the POSIX API. + + + The machine name for the current process -OR- null on failure. + + + + + Attempts to load the specified native library file. + + + The file name of the native library to load. + + + The native module handle upon success -OR- IntPtr.Zero on failure. + + + + + Attempts to determine the machine name of the current process. + + + The machine name for the current process -OR- null on failure. + + + + + This class declares P/Invoke methods to call native POSIX APIs. + + + + + This structure is used when running on POSIX operating systems + to store information about the current machine, including the + human readable name of the operating system as well as that of + the underlying hardware. + + + + + This structure is passed directly to the P/Invoke method to + obtain the information about the current machine, including + the human readable name of the operating system as well as + that of the underlying hardware. + + + + + This is the P/Invoke method that wraps the native Unix uname + function. See the POSIX documentation for full details on what it + does. + + + Structure containing a preallocated byte buffer to fill with the + requested information. + + + Zero for success and less than zero upon failure. + + + + + This is the P/Invoke method that wraps the native Unix dlopen + function. See the POSIX documentation for full details on what it + does. + + + The name of the executable library. + + + This must be a combination of the individual bit flags RTLD_LAZY, + RTLD_NOW, RTLD_GLOBAL, and/or RTLD_LOCAL. + + + The native module handle upon success -OR- IntPtr.Zero on failure. + + + + + This is the P/Invoke method that wraps the native Unix dlclose + function. See the POSIX documentation for full details on what it + does. + + + The handle to the loaded native library. + + + Zero upon success -OR- non-zero on failure. + + + + + For use with dlopen(), bind function calls lazily. + + + + + For use with dlopen(), bind function calls immediately. + + + + + For use with dlopen(), make symbols globally available. + + + + + For use with dlopen(), opposite of RTLD_GLOBAL, and the default. + + + + + For use with dlopen(), the defaults used by this class. + + + + + These are the characters used to separate the string fields within + the raw buffer returned by the P/Invoke method. + + + + + This method is a wrapper around the P/Invoke + method that extracts and returns the human readable strings from + the raw buffer. + + + This structure, which contains strings, will be filled based on the + data placed in the raw buffer returned by the + P/Invoke method. + + + Non-zero upon success; otherwise, zero. + + + + + This class declares P/Invoke methods to call native Win32 APIs. + + + + + This is the P/Invoke method that wraps the native Win32 LoadLibrary + function. See the MSDN documentation for full details on what it + does. + + + The name of the executable library. + + + The native module handle upon success -OR- IntPtr.Zero on failure. + + + + + This is the P/Invoke method that wraps the native Win32 GetSystemInfo + function. See the MSDN documentation for full details on what it + does. + + + The system information structure to be filled in by the function. + + + + + This enumeration contains the possible values for the processor + architecture field of the system information structure. + + + + + This structure contains information about the current computer. This + includes the processor type, page size, memory addresses, etc. + + + + + This class declares P/Invoke methods to call native SQLite APIs. + + + + + The file extension used for dynamic link libraries. + + + + + The file extension used for the XML configuration file. + + + + + This is the name of the XML configuration file specific to the + System.Data.SQLite assembly. + + + + + This is the XML configuratrion file token that will be replaced with + the qualified path to the directory containing the XML configuration + file. + + + + + This is the environment variable token that will be replaced with + the qualified path to the directory containing this assembly. + + + + + This is the environment variable token that will be replaced with an + abbreviation of the target framework attribute value associated with + this assembly. + + + + + This lock is used to protect the static _SQLiteNativeModuleFileName, + _SQLiteNativeModuleHandle, and processorArchitecturePlatforms fields. + + + + + This dictionary stores the mappings between target framework names + and their associated (NuGet) abbreviations. These mappings are only + used by the method. + + + + + This dictionary stores the mappings between processor architecture + names and platform names. These mappings are now used for two + purposes. First, they are used to determine if the assembly code + base should be used instead of the location, based upon whether one + or more of the named sub-directories exist within the assembly code + base. Second, they are used to assist in loading the appropriate + SQLite interop assembly into the current process. + + + + + This is the cached return value from the + method -OR- null if that method + has never returned a valid value. + + + + + When this field is non-zero, it indicates the + method was not able to locate a + suitable assembly directory. The + method will check this + field and skips calls into the + method whenever it is non-zero. + + + + + This is the cached return value from the + method -OR- null if that method + has never returned a valid value. + + + + + When this field is non-zero, it indicates the + method was not able to locate a + suitable XML configuration file name. The + method will check this + field and skips calls into the + method whenever it is non-zero. + + + + + For now, this method simply calls the Initialize method. + + + + + Attempts to initialize this class by pre-loading the native SQLite + library for the processor architecture of the current process. + + + + + Combines two path strings. + + + The first path -OR- null. + + + The second path -OR- null. + + + The combined path string -OR- null if both of the original path + strings are null. + + + + + Resets the cached XML configuration file name value, thus forcing the + next call to method to rely + upon the method to fetch the + XML configuration file name. + + + + + Queries and returns the cached XML configuration file name for the + assembly containing the managed System.Data.SQLite components, if + available. If the cached XML configuration file name value is not + available, the method will + be used to obtain the XML configuration file name. + + + The XML configuration file name -OR- null if it cannot be determined + or does not exist. + + + + + Queries and returns the XML configuration file name for the assembly + containing the managed System.Data.SQLite components. + + + The XML configuration file name -OR- null if it cannot be determined + or does not exist. + + + + + If necessary, replaces all supported XML configuration file tokens + with their associated values. + + + The name of the XML configuration file being read. + + + A setting value read from the XML configuration file. + + + The value of the will all supported XML + configuration file tokens replaced. No return value is reserved + to indicate an error. This method cannot fail. + + + + + Queries and returns the value of the specified setting, using the + specified XML configuration file. + + + The name of the XML configuration file to read. + + + The name of the setting. + + + The value to be returned if the setting has not been set explicitly + or cannot be determined. + + + Non-zero to expand any environment variable references contained in + the setting value to be returned. This has no effect on the .NET + Compact Framework. + + + The value of the setting -OR- the default value specified by + if it has not been set explicitly or + cannot be determined. + + + + + Attempts to determine the target framework attribute value that is + associated with the specified managed assembly, if applicable. + + + The managed assembly to read the target framework attribute value + from. + + + The value of the target framework attribute value for the specified + managed assembly -OR- null if it cannot be determined. If this + assembly was compiled with a version of the .NET Framework prior to + version 4.0, the value returned MAY reflect that version of the .NET + Framework instead of the one associated with the specified managed + assembly. + + + + + Accepts a long target framework attribute value and makes it into a + much shorter version, suitable for use with NuGet packages. + + + The long target framework attribute value to convert. + + + The short target framework attribute value -OR- null if it cannot + be determined or converted. + + + + + If necessary, replaces all supported environment variable tokens + with their associated values. + + + A setting value read from an environment variable. + + + The value of the will all supported + environment variable tokens replaced. No return value is reserved + to indicate an error. This method cannot fail. + + + + + Queries and returns the value of the specified setting, using the XML + configuration file and/or the environment variables for the current + process and/or the current system, when available. + + + The name of the setting. + + + The value to be returned if the setting has not been set explicitly + or cannot be determined. + + + The value of the setting -OR- the default value specified by + if it has not been set explicitly or + cannot be determined. By default, all references to existing + environment variables will be expanded to their corresponding values + within the value to be returned unless either the "No_Expand" or + "No_Expand_" environment variable is set [to + anything]. + + + + + Resets the cached assembly directory value, thus forcing the next + call to method to rely + upon the method to fetch the + assembly directory. + + + + + Queries and returns the cached directory for the assembly currently + being executed, if available. If the cached assembly directory value + is not available, the method will + be used to obtain the assembly directory. + + + The directory for the assembly currently being executed -OR- null if + it cannot be determined. + + + + + Queries and returns the directory for the assembly currently being + executed. + + + The directory for the assembly currently being executed -OR- null if + it cannot be determined. + + + + + The name of the environment variable containing the processor + architecture of the current process. + + + + + The native module file name for the native SQLite library or null. + + + + + The native module handle for the native SQLite library or the value + IntPtr.Zero. + + + + + Determines the base file name (without any directory information) + for the native SQLite library to be pre-loaded by this class. + + + The base file name for the native SQLite library to be pre-loaded by + this class -OR- null if its value cannot be determined. + + + + + Searches for the native SQLite library in the directory containing + the assembly currently being executed as well as the base directory + for the current application domain. + + + Upon success, this parameter will be modified to refer to the base + directory containing the native SQLite library. + + + Upon success, this parameter will be modified to refer to the name + of the immediate directory (i.e. the offset from the base directory) + containing the native SQLite library. + + + Upon success, this parameter will be modified to non-zero only if + the base directory itself should be allowed for loading the native + library. + + + Non-zero (success) if the native SQLite library was found; otherwise, + zero (failure). + + + + + Queries and returns the base directory of the current application + domain. + + + The base directory for the current application domain -OR- null if it + cannot be determined. + + + + + Determines if the dynamic link library file name requires a suffix + and adds it if necessary. + + + The original dynamic link library file name to inspect. + + + The dynamic link library file name, possibly modified to include an + extension. + + + + + Queries and returns the processor architecture of the current + process. + + + The processor architecture of the current process -OR- null if it + cannot be determined. + + + + + Given the processor architecture, returns the name of the platform. + + + The processor architecture to be translated to a platform name. + + + The platform name for the specified processor architecture -OR- null + if it cannot be determined. + + + + + Attempts to load the native SQLite library based on the specified + directory and processor architecture. + + + The base directory to use, null for default (the base directory of + the current application domain). This directory should contain the + processor architecture specific sub-directories. + + + The requested processor architecture, null for default (the + processor architecture of the current process). This caller should + almost always specify null for this parameter. + + + Non-zero indicates that the native SQLite library can be loaded + from the base directory itself. + + + The candidate native module file name to load will be stored here, + if necessary. + + + The native module handle as returned by LoadLibrary will be stored + here, if necessary. This value will be IntPtr.Zero if the call to + LoadLibrary fails. + + + Non-zero if the native module was loaded successfully; otherwise, + zero. + + + + + 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 <?xml version="1.0" standalone="yes"?> + <DocumentElement> + <DataTypes> + <TypeName>smallint</TypeName> + <ProviderDbType>10</ProviderDbType> + <ColumnSize>5</ColumnSize> + <DataType>System.Int16</DataType> + <CreateFormat>smallint</CreateFormat> + <IsAutoIncrementable>false</IsAutoIncrementable> + <IsCaseSensitive>false</IsCaseSensitive> + <IsFixedLength>true</IsFixedLength> + <IsFixedPrecisionScale>true</IsFixedPrecisionScale> + <IsLong>false</IsLong> + <IsNullable>true</ [rest of string was truncated]";. + + + + + Looks up a localized string similar to ALL,ALTER,AND,AS,AUTOINCREMENT,BETWEEN,BY,CASE,CHECK,COLLATE,COMMIT,CONSTRAINT,CREATE,CROSS,DEFAULT,DEFERRABLE,DELETE,DISTINCT,DROP,ELSE,ESCAPE,EXCEPT,FOREIGN,FROM,FULL,GROUP,HAVING,IN,INDEX,INNER,INSERT,INTERSECT,INTO,IS,ISNULL,JOIN,LEFT,LIMIT,NATURAL,NOT,NOTNULL,NULL,ON,OR,ORDER,OUTER,PRIMARY,REFERENCES,RIGHT,ROLLBACK,SELECT,SET,TABLE,THEN,TO,TRANSACTION,UNION,UNIQUE,UPDATE,USING,VALUES,WHEN,WHERE. + + + + + Looks up a localized string similar to <?xml version="1.0" encoding="utf-8" ?> + <DocumentElement> + <MetaDataCollections> + <CollectionName>MetaDataCollections</CollectionName> + <NumberOfRestrictions>0</NumberOfRestrictions> + <NumberOfIdentifierParts>0</NumberOfIdentifierParts> + </MetaDataCollections> + <MetaDataCollections> + <CollectionName>DataSourceInformation</CollectionName> + <NumberOfRestrictions>0</NumberOfRestrictions> + <NumberOfIdentifierParts>0</NumberOfIdentifierParts> + </MetaDataCollections> + <MetaDataC [rest of string was truncated]";. + + + + + This interface represents a virtual table implementation written in + native code. + + + + + + int (*xCreate)(sqlite3 *db, void *pAux, + int argc, char *const*argv, + sqlite3_vtab **ppVTab, + char **pzErr); + + + The xCreate method is called to create a new instance of a virtual table + in response to a CREATE VIRTUAL TABLE statement. + If the xCreate method is the same pointer as the xConnect method, then the + virtual table is an eponymous virtual table. + If the xCreate method is omitted (if it is a NULL pointer) then the virtual + table is an eponymous-only virtual table. + + + The db parameter is a pointer to the SQLite database connection that + is executing the CREATE VIRTUAL TABLE statement. + The pAux argument is the copy of the client data pointer that was the + fourth argument to the sqlite3_create_module() or + sqlite3_create_module_v2() call that registered the + virtual table module. + The argv parameter is an array of argc pointers to null terminated strings. + The first string, argv[0], is the name of the module being invoked. The + module name is the name provided as the second argument to + sqlite3_create_module() and as the argument to the USING clause of the + CREATE VIRTUAL TABLE statement that is running. + The second, argv[1], is the name of the database in which the new virtual table is being created. The database name is "main" for the primary database, or + "temp" for TEMP database, or the name given at the end of the ATTACH + statement for attached databases. The third element of the array, argv[2], + is the name of the new virtual table, as specified following the TABLE + keyword in the CREATE VIRTUAL TABLE statement. + If present, the fourth and subsequent strings in the argv[] array report + the arguments to the module name in the CREATE VIRTUAL TABLE statement. + + + The job of this method is to construct the new virtual table object + (an sqlite3_vtab object) and return a pointer to it in *ppVTab. + + + As part of the task of creating a new sqlite3_vtab structure, this + method must invoke sqlite3_declare_vtab() to tell the SQLite + core about the columns and datatypes in the virtual table. + The sqlite3_declare_vtab() API has the following prototype: + + + int sqlite3_declare_vtab(sqlite3 *db, const char *zCreateTable) + + + The first argument to sqlite3_declare_vtab() must be the same + database connection pointer as the first parameter to this method. + The second argument to sqlite3_declare_vtab() must a zero-terminated + UTF-8 string that contains a well-formed CREATE TABLE statement that + defines the columns in the virtual table and their data types. + The name of the table in this CREATE TABLE statement is ignored, + as are all constraints. Only the column names and datatypes matter. + The CREATE TABLE statement string need not to be + held in persistent memory. The string can be + deallocated and/or reused as soon as the sqlite3_declare_vtab() + routine returns. + + + The xCreate method need not initialize the pModule, nRef, and zErrMsg + fields of the sqlite3_vtab object. The SQLite core will take care of + that chore. + + + The xCreate should return SQLITE_OK if it is successful in + creating the new virtual table, or SQLITE_ERROR if it is not successful. + If not successful, the sqlite3_vtab structure must not be allocated. + An error message may optionally be returned in *pzErr if unsuccessful. + Space to hold the error message string must be allocated using + an SQLite memory allocation function like + sqlite3_malloc() or sqlite3_mprintf() as the SQLite core will + attempt to free the space using sqlite3_free() after the error has + been reported up to the application. + + + If the xCreate method is omitted (left as a NULL pointer) then the + virtual table is an eponymous-only virtual table. New instances of + the virtual table cannot be created using CREATE VIRTUAL TABLE and the + virtual table can only be used via its module name. + Note that SQLite versions prior to 3.9.0 (2015-10-14) do not understand + eponymous-only virtual tables and will segfault if an attempt is made + to CREATE VIRTUAL TABLE on an eponymous-only virtual table because + the xCreate method was not checked for null. + + + If the xCreate method is the exact same pointer as the xConnect method, + that indicates that the virtual table does not need to initialize backing + store. Such a virtual table can be used as an eponymous virtual table + or as a named virtual table using CREATE VIRTUAL TABLE or both. + + + If a column datatype contains the special keyword "HIDDEN" + (in any combination of upper and lower case letters) then that keyword + it is omitted from the column datatype name and the column is marked + as a hidden column internally. + A hidden column differs from a normal column in three respects: + + + ]]> + ]]> Hidden columns are not listed in the dataset returned by + "PRAGMA table_info", + ]]>]]> Hidden columns are not included in the expansion of a "*" + expression in the result set of a SELECT, and + ]]>]]> Hidden columns are not included in the implicit column-list + used by an INSERT statement that lacks an explicit column-list. + ]]>]]> + + + For example, if the following SQL is passed to sqlite3_declare_vtab(): + + + CREATE TABLE x(a HIDDEN VARCHAR(12), b INTEGER, c INTEGER Hidden); + + + Then the virtual table would be created with two hidden columns, + and with datatypes of "VARCHAR(12)" and "INTEGER". + + + An example use of hidden columns can be seen in the FTS3 virtual + table implementation, where every FTS virtual table + contains an FTS hidden column that is used to pass information from the + virtual table into FTS auxiliary functions and to the FTS MATCH operator. + + + A virtual table that contains hidden columns can be used like + a table-valued function in the FROM clause of a SELECT statement. + The arguments to the table-valued function become constraints on + the HIDDEN columns of the virtual table. + + + For example, the "generate_series" extension (located in the + ext/misc/series.c + file in the source tree) + implements an eponymous virtual table with the following schema: + + + CREATE TABLE generate_series( + value, + start HIDDEN, + stop HIDDEN, + step HIDDEN + ); + + + The sqlite3_module.xBestIndex method in the implementation of this + table checks for equality constraints against the HIDDEN columns, and uses + those as input parameters to determine the range of integer "value" outputs + to generate. Reasonable defaults are used for any unconstrained columns. + For example, to list all integers between 5 and 50: + + + SELECT value FROM generate_series(5,50); + + + The previous query is equivalent to the following: + + + SELECT value FROM generate_series WHERE start=5 AND stop=50; + + + Arguments on the virtual table name are matched to hidden columns + in order. The number of arguments can be less than the + number of hidden columns, in which case the latter hidden columns are + unconstrained. However, an error results if there are more arguments + than there are hidden columns in the virtual table. + + + Beginning with SQLite version 3.14.0 (2016-08-08), + the CREATE TABLE statement that + is passed into sqlite3_declare_vtab() may contain a WITHOUT ROWID clause. + This is useful for cases where the virtual table rows + cannot easily be mapped into unique integers. A CREATE TABLE + statement that includes WITHOUT ROWID must define one or more columns as + the PRIMARY KEY. Every column of the PRIMARY KEY must individually be + NOT NULL and all columns for each row must be collectively unique. + + + Note that SQLite does not enforce the PRIMARY KEY for a WITHOUT ROWID + virtual table. Enforcement is the responsibility of the underlying + virtual table implementation. But SQLite does assume that the PRIMARY KEY + constraint is valid - that the identified columns really are UNIQUE and + NOT NULL - and it uses that assumption to optimize queries against the + virtual table. + + + The rowid column is not accessible on a + WITHOUT ROWID virtual table (of course). + + + The xUpdate method was originally designed around having a + ROWID as a single value. The xUpdate method has been expanded to + accommodate an arbitrary PRIMARY KEY in place of the ROWID, but the + PRIMARY KEY must still be only one column. For this reason, SQLite + will reject any WITHOUT ROWID virtual table that has more than one + PRIMARY KEY column and a non-NULL xUpdate method. + + + + The native database connection handle. + + + The original native pointer value that was provided to the + sqlite3_create_module(), sqlite3_create_module_v2() or + sqlite3_create_disposable_module() functions. + + + The number of arguments from the CREATE VIRTUAL TABLE statement. + + + The array of string arguments from the CREATE VIRTUAL TABLE + statement. + + + Upon success, this parameter must be modified to point to the newly + created native sqlite3_vtab derived structure. + + + Upon failure, this parameter must be modified to point to the error + message, with the underlying memory having been obtained from the + sqlite3_malloc() function. + + + A standard SQLite return code. + + + + + + int (*xConnect)(sqlite3*, void *pAux, + int argc, char *const*argv, + sqlite3_vtab **ppVTab, + char **pzErr); + + + The xConnect method is very similar to xCreate. + It has the same parameters and constructs a new sqlite3_vtab structure + just like xCreate. + And it must also call sqlite3_declare_vtab() like xCreate. + + + The difference is that xConnect is called to establish a new + connection to an existing virtual table whereas xCreate is called + to create a new virtual table from scratch. + + + The xCreate and xConnect methods are only different when the + virtual table has some kind of backing store that must be initialized + the first time the virtual table is created. The xCreate method creates + and initializes the backing store. The xConnect method just connects + to an existing backing store. When xCreate and xConnect are the same, + the table is an eponymous virtual table. + + + As an example, consider a virtual table implementation that + provides read-only access to existing comma-separated-value (CSV) + files on disk. There is no backing store that needs to be created + or initialized for such a virtual table (since the CSV files already + exist on disk) so the xCreate and xConnect methods will be identical + for that module. + + + Another example is a virtual table that implements a full-text index. + The xCreate method must create and initialize data structures to hold + the dictionary and posting lists for that index. The xConnect method, + on the other hand, only has to locate and use an existing dictionary + and posting lists that were created by a prior xCreate call. + + + The xConnect method must return SQLITE_OK if it is successful + in creating the new virtual table, or SQLITE_ERROR if it is not + successful. If not successful, the sqlite3_vtab structure must not be + allocated. An error message may optionally be returned in *pzErr if + unsuccessful. + Space to hold the error message string must be allocated using + an SQLite memory allocation function like + sqlite3_malloc() or sqlite3_mprintf() as the SQLite core will + attempt to free the space using sqlite3_free() after the error has + been reported up to the application. + + + The xConnect method is required for every virtual table implementation, + though the xCreate and xConnect pointers of the sqlite3_module object + may point to the same function if the virtual table does not need to + initialize backing store. + + + + The native database connection handle. + + + The original native pointer value that was provided to the + sqlite3_create_module(), sqlite3_create_module_v2() or + sqlite3_create_disposable_module() functions. + + + The number of arguments from the CREATE VIRTUAL TABLE statement. + + + The array of string arguments from the CREATE VIRTUAL TABLE + statement. + + + Upon success, this parameter must be modified to point to the newly + created native sqlite3_vtab derived structure. + + + Upon failure, this parameter must be modified to point to the error + message, with the underlying memory having been obtained from the + sqlite3_malloc() function. + + + A standard SQLite return code. + + + + + + SQLite uses the xBestIndex method of a virtual table module to determine + the best way to access the virtual table. + The xBestIndex method has a prototype like this: + + + int (*xBestIndex)(sqlite3_vtab *pVTab, sqlite3_index_info*); + + + The SQLite core communicates with the xBestIndex method by filling + in certain fields of the sqlite3_index_info structure and passing a + pointer to that structure into xBestIndex as the second parameter. + The xBestIndex method fills out other fields of this structure which + forms the reply. The sqlite3_index_info structure looks like this: + + + struct sqlite3_index_info { + /* Inputs */ + const int nConstraint; /* Number of entries in aConstraint */ + const struct sqlite3_index_constraint { + int iColumn; /* Column constrained. -1 for ROWID */ + unsigned char op; /* Constraint operator */ + unsigned char usable; /* True if this constraint is usable */ + int iTermOffset; /* Used internally - xBestIndex should ignore */ + } *const aConstraint; /* Table of WHERE clause constraints */ + const int nOrderBy; /* Number of terms in the ORDER BY clause */ + const struct sqlite3_index_orderby { + int iColumn; /* Column number */ + unsigned char desc; /* True for DESC. False for ASC. */ + } *const aOrderBy; /* The ORDER BY clause */ + /* Outputs */ + struct sqlite3_index_constraint_usage { + int argvIndex; /* if >0, constraint is part of argv to xFilter */ + unsigned char omit; /* Do not code a test for this constraint */ + } *const aConstraintUsage; + int idxNum; /* Number used to identify the index */ + char *idxStr; /* String, possibly obtained from sqlite3_malloc */ + int needToFreeIdxStr; /* Free idxStr using sqlite3_free() if true */ + int orderByConsumed; /* True if output is already ordered */ + double estimatedCost; /* Estimated cost of using this index */ + ]]>/* Fields below are only available in SQLite 3.8.2 and later */]]> + sqlite3_int64 estimatedRows; /* Estimated number of rows returned */ + ]]>/* Fields below are only available in SQLite 3.9.0 and later */]]> + int idxFlags; /* Mask of SQLITE_INDEX_SCAN_* flags */ + ]]>/* Fields below are only available in SQLite 3.10.0 and later */]]> + sqlite3_uint64 colUsed; /* Input: Mask of columns used by statement */ + }; + + + Note the warnings on the "estimatedRows", "idxFlags", and colUsed fields. + These fields were added with SQLite versions 3.8.2, 3.9.0, and 3.10.0, respectively. + Any extension that reads or writes these fields must first check that the + version of the SQLite library in use is greater than or equal to appropriate + version - perhaps comparing the value returned from sqlite3_libversion_number() + against constants 3008002, 3009000, and/or 3010000. The result of attempting + to access these fields in an sqlite3_index_info structure created by an + older version of SQLite are undefined. + + + In addition, there are some defined constants: + + + #define SQLITE_INDEX_CONSTRAINT_EQ 2 + #define SQLITE_INDEX_CONSTRAINT_GT 4 + #define SQLITE_INDEX_CONSTRAINT_LE 8 + #define SQLITE_INDEX_CONSTRAINT_LT 16 + #define SQLITE_INDEX_CONSTRAINT_GE 32 + #define SQLITE_INDEX_CONSTRAINT_MATCH 64 + #define SQLITE_INDEX_CONSTRAINT_LIKE 65 /* 3.10.0 and later */ + #define SQLITE_INDEX_CONSTRAINT_GLOB 66 /* 3.10.0 and later */ + #define SQLITE_INDEX_CONSTRAINT_REGEXP 67 /* 3.10.0 and later */ + #define SQLITE_INDEX_CONSTRAINT_NE 68 /* 3.21.0 and later */ + #define SQLITE_INDEX_CONSTRAINT_ISNOT 69 /* 3.21.0 and later */ + #define SQLITE_INDEX_CONSTRAINT_ISNOTNULL 70 /* 3.21.0 and later */ + #define SQLITE_INDEX_CONSTRAINT_ISNULL 71 /* 3.21.0 and later */ + #define SQLITE_INDEX_CONSTRAINT_IS 72 /* 3.21.0 and later */ + #define SQLITE_INDEX_CONSTRAINT_FUNCTION 150 /* 3.25.0 and later */ + #define SQLITE_INDEX_SCAN_UNIQUE 1 /* Scan visits at most 1 row */ + + + The SQLite core calls the xBestIndex method when it is compiling a query + that involves a virtual table. In other words, SQLite calls this method + when it is running sqlite3_prepare() or the equivalent. + By calling this method, the + SQLite core is saying to the virtual table that it needs to access + some subset of the rows in the virtual table and it wants to know the + most efficient way to do that access. The xBestIndex method replies + with information that the SQLite core can then use to conduct an + efficient search of the virtual table. + + + While compiling a single SQL query, the SQLite core might call + xBestIndex multiple times with different settings in sqlite3_index_info. + The SQLite core will then select the combination that appears to + give the best performance. + + + Before calling this method, the SQLite core initializes an instance + of the sqlite3_index_info structure with information about the + query that it is currently trying to process. This information + derives mainly from the WHERE clause and ORDER BY or GROUP BY clauses + of the query, but also from any ON or USING clauses if the query is a + join. The information that the SQLite core provides to the xBestIndex + method is held in the part of the structure that is marked as "Inputs". + The "Outputs" section is initialized to zero. + + + The information in the sqlite3_index_info structure is ephemeral + and may be overwritten or deallocated as soon as the xBestIndex method + returns. If the xBestIndex method needs to remember any part of the + sqlite3_index_info structure, it should make a copy. Care must be + take to store the copy in a place where it will be deallocated, such + as in the idxStr field with needToFreeIdxStr set to 1. + + + Note that xBestIndex will always be called before xFilter, since + the idxNum and idxStr outputs from xBestIndex are required inputs to + xFilter. However, there is no guarantee that xFilter will be called + following a successful xBestIndex. + + + The xBestIndex method is required for every virtual table implementation. + + + The main thing that the SQLite core is trying to communicate to + the virtual table is the constraints that are available to limit + the number of rows that need to be searched. The aConstraint[] array + contains one entry for each constraint. There will be exactly + nConstraint entries in that array. + + + Each constraint will usually correspond to a term in the WHERE clause + or in a USING or ON clause that is of the form + + + column OP EXPR + + + Where "column" is a column in the virtual table, OP is an operator + like "=" or "<", and EXPR is an arbitrary expression. So, for example, + if the WHERE clause contained a term like this: + + + a = 5 + + + Then one of the constraints would be on the "a" column with + operator "=" and an expression of "5". Constraints need not have a + literal representation of the WHERE clause. The query optimizer might + make transformations to the + WHERE clause in order to extract as many constraints + as it can. So, for example, if the WHERE clause contained something + like this: + + + x BETWEEN 10 AND 100 AND 999>y + + + The query optimizer might translate this into three separate constraints: + + + x >= 10 + x <= 100 + y < 999 + + + For each such constraint, the aConstraint[].iColumn field indicates which + column appears on the left-hand side of the constraint. + The first column of the virtual table is column 0. + The rowid of the virtual table is column -1. + The aConstraint[].op field indicates which operator is used. + The SQLITE_INDEX_CONSTRAINT_* constants map integer constants + into operator values. + Columns occur in the order they were defined by the call to + sqlite3_declare_vtab() in the xCreate or xConnect method. + Hidden columns are counted when determining the column index. + + + If the xFindFunction() method for the virtual table is defined, and + if xFindFunction() sometimes returns SQLITE_INDEX_CONSTRAINT_FUNCTION or + larger, then the constraints might also be of the form: + + + FUNCTION( column, EXPR) + + + In this case the aConstraint[].op value is the same as the value + returned by xFindFunction() for FUNCTION. + + + The aConstraint[] array contains information about all constraints + that apply to the virtual table. But some of the constraints might + not be usable because of the way tables are ordered in a join. + The xBestIndex method must therefore only consider constraints + that have an aConstraint[].usable flag which is true. + + + In addition to WHERE clause constraints, the SQLite core also + tells the xBestIndex method about the ORDER BY clause. + (In an aggregate query, the SQLite core might put in GROUP BY clause + information in place of the ORDER BY clause information, but this fact + should not make any difference to the xBestIndex method.) + If all terms of the ORDER BY clause are columns in the virtual table, + then nOrderBy will be the number of terms in the ORDER BY clause + and the aOrderBy[] array will identify the column for each term + in the order by clause and whether or not that column is ASC or DESC. + + + In SQLite version 3.10.0 (2016-01-06) and later, + the colUsed field is available + to indicate which fields of the virtual table are actually used by the + statement being prepared. If the lowest bit of colUsed is set, that + means that the first column is used. The second lowest bit corresponds + to the second column. And so forth. If the most significant bit of + colUsed is set, that means that one or more columns other than the + first 63 columns are used. If column usage information is needed by the + xFilter method, then the required bits must be encoded into either + the idxNum or idxStr output fields. + + + Given all of the information above, the job of the xBestIndex + method it to figure out the best way to search the virtual table. + + + The xBestIndex method fills the idxNum and idxStr fields with + information that communicates an indexing strategy to the xFilter + method. The information in idxNum and idxStr is arbitrary as far + as the SQLite core is concerned. The SQLite core just copies the + information through to the xFilter method. Any desired meaning can + be assigned to idxNum and idxStr as long as xBestIndex and xFilter + agree on what that meaning is. + + + The idxStr value may be a string obtained from an SQLite + memory allocation function such as sqlite3_mprintf(). + If this is the case, then the needToFreeIdxStr flag must be set to + true so that the SQLite core will know to call sqlite3_free() on + that string when it has finished with it, and thus avoid a memory leak. + The idxStr value may also be a static constant string, in which case + the needToFreeIdxStr boolean should remain false. + + + If the virtual table will output rows in the order specified by + the ORDER BY clause, then the orderByConsumed flag may be set to + true. If the output is not automatically in the correct order + then orderByConsumed must be left in its default false setting. + This will indicate to the SQLite core that it will need to do a + separate sorting pass over the data after it comes out of the virtual table. + + + The estimatedCost field should be set to the estimated number + of disk access operations required to execute this query against + the virtual table. The SQLite core will often call xBestIndex + multiple times with different constraints, obtain multiple cost + estimates, then choose the query plan that gives the lowest estimate. + The SQLite core initializes estimatedCost to a very large value + prior to invoking xBestIndex, so if xBestIndex determines that the + current combination of parameters is undesirable, it can leave the + estimatedCost field unchanged to discourage its use. + + + If the current version of SQLite is 3.8.2 or greater, the estimatedRows + field may be set to an estimate of the number of rows returned by the + proposed query plan. If this value is not explicitly set, the default + estimate of 25 rows is used. + + + If the current version of SQLite is 3.9.0 or greater, the idxFlags field + may be set to SQLITE_INDEX_SCAN_UNIQUE to indicate that the virtual table + will return only zero or one rows given the input constraints. Additional + bits of the idxFlags field might be understood in later versions of SQLite. + + + The aConstraintUsage[] array contains one element for each of + the nConstraint constraints in the inputs section of the + sqlite3_index_info structure. + The aConstraintUsage[] array is used by xBestIndex to tell the + core how it is using the constraints. + + + The xBestIndex method may set aConstraintUsage[].argvIndex + entries to values greater than zero. + Exactly one entry should be set to 1, another to 2, another to 3, + and so forth up to as many or as few as the xBestIndex method wants. + The EXPR of the corresponding constraints will then be passed + in as the argv[] parameters to xFilter. + + + For example, if the aConstraint[3].argvIndex is set to 1, then + when xFilter is called, the argv[0] passed to xFilter will have + the EXPR value of the aConstraint[3] constraint. + + + By default, the SQLite core double checks all constraints on + each row of the virtual table that it receives. If such a check + is redundant, the xBestFilter method can suppress that double-check by + setting aConstraintUsage[].omit. + + + The xBestIndex method should return SQLITE_OK on success. If any + kind of fatal error occurs, an appropriate error code (ex: SQLITE_NOMEM) + should be returned instead. + + + If xBestIndex returns SQLITE_CONSTRAINT, that does not indicate an + error. Rather, SQLITE_CONSTRAINT indicates that the particular combination + of input parameters specified should not be used in the query plan. + The SQLITE_CONSTRAINT return is useful for table-valued functions that + have required parameters. If the aConstraint[].usable field is false + for one of the required parameter, then the xBestIndex method should + return SQLITE_CONSTRAINT. + + + The following example will better illustrate the use of SQLITE_CONSTRAINT + as a return value from xBestIndex: + + + SELECT * FROM realtab, tablevaluedfunc(realtab.x); + + + Assuming that the first hidden column of "tablevaluedfunc" is "param1", + the query above is semantically equivalent to this: + + + SELECT * FROM realtab, tablevaluedfunc + WHERE tablevaluedfunc.param1 = realtab.x; + + + The query planner must decide between many possible implementations + of this query, but two plans in particular are of note: + + ]]> + ]]>Scan all + rows of realtab and for each row, find rows in tablevaluedfunc where + param1 is equal to realtab.x + ]]>]]>Scan all rows of tablevalued func and for each row find rows + in realtab where x is equal to tablevaluedfunc.param1. + ]]>]]> + + The xBestIndex method will be invoked once for each of the potential + plans above. For plan 1, the aConstraint[].usable flag for for the + SQLITE_CONSTRAINT_EQ constraint on the param1 column will be true because + the right-hand side value for the "param1 = ?" constraint will be known, + since it is determined by the outer realtab loop. + But for plan 2, the aConstraint[].usable flag for "param1 = ?" will be false + because the right-hand side value is determined by an inner loop and is thus + an unknown quantity. Because param1 is a required input to the table-valued + functions, the xBestIndex method should return SQLITE_CONSTRAINT when presented + with plan 2, indicating that a required input is missing. This forces the + query planner to select plan 1. + + + + The native pointer to the sqlite3_vtab derived structure. + + + The native pointer to the sqlite3_index_info structure. + + + A standard SQLite return code. + + + + + + int (*xDisconnect)(sqlite3_vtab *pVTab); + + + This method releases a connection to a virtual table. + Only the sqlite3_vtab object is destroyed. + The virtual table is not destroyed and any backing store + associated with the virtual table persists. + + This method undoes the work of xConnect. + + This method is a destructor for a connection to the virtual table. + Contrast this method with xDestroy. The xDestroy is a destructor + for the entire virtual table. + + + The xDisconnect method is required for every virtual table implementation, + though it is acceptable for the xDisconnect and xDestroy methods to be + the same function if that makes sense for the particular virtual table. + + + + The native pointer to the sqlite3_vtab derived structure. + + + A standard SQLite return code. + + + + + + int (*xDestroy)(sqlite3_vtab *pVTab); + + + This method releases a connection to a virtual table, just like + the xDisconnect method, and it also destroys the underlying + table implementation. This method undoes the work of xCreate. + + + The xDisconnect method is called whenever a database connection + that uses a virtual table is closed. The xDestroy method is only + called when a DROP TABLE statement is executed against the virtual table. + + + The xDestroy method is required for every virtual table implementation, + though it is acceptable for the xDisconnect and xDestroy methods to be + the same function if that makes sense for the particular virtual table. + + + + The native pointer to the sqlite3_vtab derived structure. + + + A standard SQLite return code. + + + + + + int (*xOpen)(sqlite3_vtab *pVTab, sqlite3_vtab_cursor **ppCursor); + + + The xOpen method creates a new cursor used for accessing (read and/or + writing) a virtual table. A successful invocation of this method + will allocate the memory for the sqlite3_vtab_cursor (or a subclass), + initialize the new object, and make *ppCursor point to the new object. + The successful call then returns SQLITE_OK. + + + For every successful call to this method, the SQLite core will + later invoke the xClose method to destroy + the allocated cursor. + + + The xOpen method need not initialize the pVtab field of the + sqlite3_vtab_cursor structure. The SQLite core will take care + of that chore automatically. + + + A virtual table implementation must be able to support an arbitrary + number of simultaneously open cursors. + + + When initially opened, the cursor is in an undefined state. + The SQLite core will invoke the xFilter method + on the cursor prior to any attempt to position or read from the cursor. + + + The xOpen method is required for every virtual table implementation. + + + + The native pointer to the sqlite3_vtab derived structure. + + + Upon success, this parameter must be modified to point to the newly + created native sqlite3_vtab_cursor derived structure. + + + A standard SQLite return code. + + + + + + int (*xClose)(sqlite3_vtab_cursor*); + + + The xClose method closes a cursor previously opened by + xOpen. + The SQLite core will always call xClose once for each cursor opened + using xOpen. + + + This method must release all resources allocated by the + corresponding xOpen call. The routine will not be called again even if it + returns an error. The SQLite core will not use the + sqlite3_vtab_cursor again after it has been closed. + + + The xClose method is required for every virtual table implementation. + + + + The native pointer to the sqlite3_vtab_cursor derived structure. + + + A standard SQLite return code. + + + + + + int (*xFilter)(sqlite3_vtab_cursor*, int idxNum, const char *idxStr, + int argc, sqlite3_value **argv); + + + This method begins a search of a virtual table. + The first argument is a cursor opened by xOpen. + The next two arguments define a particular search index previously + chosen by xBestIndex. The specific meanings of idxNum and idxStr + are unimportant as long as xFilter and xBestIndex agree on what + that meaning is. + + + The xBestIndex function may have requested the values of + certain expressions using the aConstraintUsage[].argvIndex values + of the sqlite3_index_info structure. + Those values are passed to xFilter using the argc and argv parameters. + + + If the virtual table contains one or more rows that match the + search criteria, then the cursor must be left point at the first row. + Subsequent calls to xEof must return false (zero). + If there are no rows match, then the cursor must be left in a state + that will cause the xEof to return true (non-zero). + The SQLite engine will use + the xColumn and xRowid methods to access that row content. + The xNext method will be used to advance to the next row. + + + This method must return SQLITE_OK if successful, or an sqlite + error code if an error occurs. + + + The xFilter method is required for every virtual table implementation. + + + + The native pointer to the sqlite3_vtab_cursor derived structure. + + + Number used to help identify the selected index. + + + The native pointer to the UTF-8 encoded string containing the + string used to help identify the selected index. + + + The number of native pointers to sqlite3_value structures specified + in . + + + An array of native pointers to sqlite3_value structures containing + filtering criteria for the selected index. + + + A standard SQLite return code. + + + + + + int (*xNext)(sqlite3_vtab_cursor*); + + + The xNext method advances a virtual table cursor + to the next row of a result set initiated by xFilter. + If the cursor is already pointing at the last row when this + routine is called, then the cursor no longer points to valid + data and a subsequent call to the xEof method must return true (non-zero). + If the cursor is successfully advanced to another row of content, then + subsequent calls to xEof must return false (zero). + + + This method must return SQLITE_OK if successful, or an sqlite + error code if an error occurs. + + + The xNext method is required for every virtual table implementation. + + + + The native pointer to the sqlite3_vtab_cursor derived structure. + + + A standard SQLite return code. + + + + + + int (*xEof)(sqlite3_vtab_cursor*); + + + The xEof method must return false (zero) if the specified cursor + currently points to a valid row of data, or true (non-zero) otherwise. + This method is called by the SQL engine immediately after each + xFilter and xNext invocation. + + + The xEof method is required for every virtual table implementation. + + + + The native pointer to the sqlite3_vtab_cursor derived structure. + + + Non-zero if no more rows are available; zero otherwise. + + + + + + int (*xColumn)(sqlite3_vtab_cursor*, sqlite3_context*, int N); + + + The SQLite core invokes this method in order to find the value for + the N-th column of the current row. N is zero-based so the first column + is numbered 0. + The xColumn method may return its result back to SQLite using one of the + following interface: + + + ]]> + ]]> sqlite3_result_blob() + ]]>]]> sqlite3_result_double() + ]]>]]> sqlite3_result_int() + ]]>]]> sqlite3_result_int64() + ]]>]]> sqlite3_result_null() + ]]>]]> sqlite3_result_text() + ]]>]]> sqlite3_result_text16() + ]]>]]> sqlite3_result_text16le() + ]]>]]> sqlite3_result_text16be() + ]]>]]> sqlite3_result_zeroblob() + ]]>]]> + + + If the xColumn method implementation calls none of the functions above, + then the value of the column defaults to an SQL NULL. + + + To raise an error, the xColumn method should use one of the result_text() + methods to set the error message text, then return an appropriate + error code. The xColumn method must return SQLITE_OK on success. + + + The xColumn method is required for every virtual table implementation. + + + + The native pointer to the sqlite3_vtab_cursor derived structure. + + + The native pointer to the sqlite3_context structure to be used + for returning the specified column value to the SQLite core + library. + + + The zero-based index corresponding to the column containing the + value to be returned. + + + A standard SQLite return code. + + + + + + int (*xRowid)(sqlite3_vtab_cursor *pCur, sqlite_int64 *pRowid); + + + A successful invocation of this method will cause *pRowid to be + filled with the rowid of row that the + virtual table cursor pCur is currently pointing at. + This method returns SQLITE_OK on success. + It returns an appropriate error code on failure. + + + The xRowid method is required for every virtual table implementation. + + + + The native pointer to the sqlite3_vtab_cursor derived structure. + + + Upon success, this parameter must be modified to contain the unique + integer row identifier for the current row for the specified cursor. + + + A standard SQLite return code. + + + + + + int (*xUpdate)( + sqlite3_vtab *pVTab, + int argc, + sqlite3_value **argv, + sqlite_int64 *pRowid + ); + + + All changes to a virtual table are made using the xUpdate method. + This one method can be used to insert, delete, or update. + + + The argc parameter specifies the number of entries in the argv array. + The value of argc will be 1 for a pure delete operation or N+2 for an insert + or replace or update where N is the number of columns in the table. + In the previous sentence, N includes any hidden columns. + + + Every argv entry will have a non-NULL value in C but may contain the + SQL value NULL. In other words, it is always true that + ]]>argv[i]!=0]]> for ]]>i]]> between 0 and ]]>argc-1]]>. + However, it might be the case that + ]]>sqlite3_value_type(argv[i])==SQLITE_NULL]]>. + + + The argv[0] parameter is the rowid of a row in the virtual table + to be deleted. If argv[0] is an SQL NULL, then no deletion occurs. + + + The argv[1] parameter is the rowid of a new row to be inserted + into the virtual table. If argv[1] is an SQL NULL, then the implementation + must choose a rowid for the newly inserted row. Subsequent argv[] + entries contain values of the columns of the virtual table, in the + order that the columns were declared. The number of columns will + match the table declaration that the xConnect or xCreate method made + using the sqlite3_declare_vtab() call. All hidden columns are included. + + + When doing an insert without a rowid (argc>1, argv[1] is an SQL NULL), + on a virtual table that uses ROWID (but not on a WITHOUT ROWID virtual table), + the implementation must set *pRowid to the rowid of the newly inserted row; + this will become the value returned by the sqlite3_last_insert_rowid() + function. Setting this value in all the other cases is a harmless no-op; + the SQLite engine ignores the *pRowid return value if argc==1 or + argv[1] is not an SQL NULL. + + + Each call to xUpdate will fall into one of cases shown below. + Not that references to ]]>argv[i]]]> mean the SQL value + held within the argv[i] object, not the argv[i] + object itself. + + + ]]> + ]]>]]>argc = 1 ]]> argv[0] ≠ NULL]]> + ]]>]]> + DELETE: The single row with rowid or PRIMARY KEY equal to argv[0] is deleted. + No insert occurs. + ]]>]]>]]>argc > 1 ]]> argv[0] = NULL]]> + ]]>]]> + INSERT: A new row is inserted with column values taken from + argv[2] and following. In a rowid virtual table, if argv[1] is an SQL NULL, + then a new unique rowid is generated automatically. The argv[1] will be NULL + for a WITHOUT ROWID virtual table, in which case the implementation should + take the PRIMARY KEY value from the appropriate column in argv[2] and following. + ]]>]]>]]>argc > 1 ]]> argv[0] ≠ NULL ]]> argv[0] = argv[1]]]> + ]]>]]> + UPDATE: + The row with rowid or PRIMARY KEY argv[0] is updated with new values + in argv[2] and following parameters. + ]]>]]>]]>argc > 1 ]]> argv[0] ≠ NULL ]]> argv[0] ≠ argv[1]]]> + ]]>]]> + UPDATE with rowid or PRIMARY KEY change: + The row with rowid or PRIMARY KEY argv[0] is updated with + the rowid or PRIMARY KEY in argv[1] + and new values in argv[2] and following parameters. This will occur + when an SQL statement updates a rowid, as in the statement: + + UPDATE table SET rowid=rowid+1 WHERE ...; + + ]]>]]> + + + The xUpdate method must return SQLITE_OK if and only if it is + successful. If a failure occurs, the xUpdate must return an appropriate + error code. On a failure, the pVTab->zErrMsg element may optionally + be replaced with error message text stored in memory allocated from SQLite + using functions such as sqlite3_mprintf() or sqlite3_malloc(). + + + If the xUpdate method violates some constraint of the virtual table + (including, but not limited to, attempting to store a value of the wrong + datatype, attempting to store a value that is too + large or too small, or attempting to change a read-only value) then the + xUpdate must fail with an appropriate error code. + + + If the xUpdate method is performing an UPDATE, then + sqlite3_value_nochange(X) can be used to discover which columns + of the virtual table were actually modified by the UPDATE + statement. The sqlite3_value_nochange(X) interface returns + true for columns that do not change. + On every UPDATE, SQLite will first invoke + xColumn separately for each unchanging column in the table to + obtain the value for that column. The xColumn method can + check to see if the column is unchanged at the SQL level + by invoking sqlite3_vtab_nochange(). If xColumn sees that + the column is not being modified, it should return without setting + a result using one of the sqlite3_result_xxxxx() + interfaces. Only in that case sqlite3_value_nochange() will be + true within the xUpdate method. If xColumn does + invoke one or more sqlite3_result_xxxxx() + interfaces, then SQLite understands that as a change in the value + of the column and the sqlite3_value_nochange() call for that + column within xUpdate will return false. + + + There might be one or more sqlite3_vtab_cursor objects open and in use + on the virtual table instance and perhaps even on the row of the virtual + table when the xUpdate method is invoked. The implementation of + xUpdate must be prepared for attempts to delete or modify rows of the table + out from other existing cursors. If the virtual table cannot accommodate + such changes, the xUpdate method must return an error code. + + + The xUpdate method is optional. + If the xUpdate pointer in the sqlite3_module for a virtual table + is a NULL pointer, then the virtual table is read-only. + + + + The native pointer to the sqlite3_vtab derived structure. + + + The number of new or modified column values contained in + . + + + The array of native pointers to sqlite3_value structures containing + the new or modified column values, if any. + + + Upon success, this parameter must be modified to contain the unique + integer row identifier for the row that was inserted, if any. + + + A standard SQLite return code. + + + + + + int (*xBegin)(sqlite3_vtab *pVTab); + + + This method begins a transaction on a virtual table. + This is method is optional. The xBegin pointer of sqlite3_module + may be NULL. + + + This method is always followed by one call to either the + xCommit or xRollback method. Virtual table transactions do + not nest, so the xBegin method will not be invoked more than once + on a single virtual table + without an intervening call to either xCommit or xRollback. + Multiple calls to other methods can and likely will occur in between + the xBegin and the corresponding xCommit or xRollback. + + + + The native pointer to the sqlite3_vtab derived structure. + + + A standard SQLite return code. + + + + + + int (*xSync)(sqlite3_vtab *pVTab); + + + This method signals the start of a two-phase commit on a virtual + table. + This is method is optional. The xSync pointer of sqlite3_module + may be NULL. + + + This method is only invoked after call to the xBegin method and + prior to an xCommit or xRollback. In order to implement two-phase + commit, the xSync method on all virtual tables is invoked prior to + invoking the xCommit method on any virtual table. If any of the + xSync methods fail, the entire transaction is rolled back. + + + + The native pointer to the sqlite3_vtab derived structure. + + + A standard SQLite return code. + + + + + + int (*xCommit)(sqlite3_vtab *pVTab); + + + This method causes a virtual table transaction to commit. + This is method is optional. The xCommit pointer of sqlite3_module + may be NULL. + + + A call to this method always follows a prior call to xBegin and + xSync. + + + + The native pointer to the sqlite3_vtab derived structure. + + + A standard SQLite return code. + + + + + + int (*xRollback)(sqlite3_vtab *pVTab); + + + This method causes a virtual table transaction to rollback. + This is method is optional. The xRollback pointer of sqlite3_module + may be NULL. + + + A call to this method always follows a prior call to xBegin. + + + + The native pointer to the sqlite3_vtab derived structure. + + + A standard SQLite return code. + + + + + + int (*xFindFunction)( + sqlite3_vtab *pVtab, + int nArg, + const char *zName, + void (**pxFunc)(sqlite3_context*,int,sqlite3_value**), + void **ppArg + ); + + + This method is called during sqlite3_prepare() to give the virtual + table implementation an opportunity to overload functions. + This method may be set to NULL in which case no overloading occurs. + + + When a function uses a column from a virtual table as its first + argument, this method is called to see if the virtual table would + like to overload the function. The first three parameters are inputs: + the virtual table, the number of arguments to the function, and the + name of the function. If no overloading is desired, this method + returns 0. To overload the function, this method writes the new + function implementation into *pxFunc and writes user data into *ppArg + and returns either 1 or a number between + SQLITE_INDEX_CONSTRAINT_FUNCTION and 255. + + + Historically, the return value from xFindFunction() was either zero + or one. Zero means that the function is not overloaded and one means that + it is overload. The ability to return values of + SQLITE_INDEX_CONSTRAINT_FUNCTION or greater was added in + version 3.25.0 (2018-09-15). If xFindFunction returns + SQLITE_INDEX_CONSTRAINT_FUNCTION or greater, than means that the function + takes two arguments and the function + can be used as a boolean in the WHERE clause of a query and that + the virtual table is able to exploit that function to speed up the query + result. When xFindFunction returns SQLITE_INDEX_CONSTRAINT_FUNCTION or + larger, the value returned becomes the sqlite3_index_info.aConstraint.op + value for one of the constraints passed into xBestIndex() and the second + argument becomes the value corresponding to that constraint that is passed + to xFilter(). This enables the + xBestIndex()/xFilter implementations to use the function to speed + its search. + + + The technique of having xFindFunction() return values of + SQLITE_INDEX_CONSTRAINT_FUNCTION was initially used in the implementation + of the Geopoly module. The xFindFunction() method of that module returns + SQLITE_INDEX_CONSTRAINT_FUNCTION for the geopoly_overlap() SQL function + and it returns + SQLITE_INDEX_CONSTRAINT_FUNCTION+1 for the geopoly_within() SQL function. + This permits search optimizations for queries such as: + + + SELECT * FROM geopolytab WHERE geopoly_overlap(_shape, $query_polygon); + + + Note that infix functions (LIKE, GLOB, REGEXP, and MATCH) reverse + the order of their arguments. So "like(A,B)" is equivalent to "B like A". + For the form "B like A" the B term is considered the first argument + to the function. But for "like(A,B)" the A term is considered the + first argument. + + + The function pointer returned by this routine must be valid for + the lifetime of the sqlite3_vtab object given in the first parameter. + + + + The native pointer to the sqlite3_vtab derived structure. + + + The number of arguments to the function being sought. + + + The name of the function being sought. + + + Upon success, this parameter must be modified to contain the + delegate responsible for implementing the specified function. + + + Upon success, this parameter must be modified to contain the + native user-data pointer associated with + . + + + Non-zero if the specified function was found; zero otherwise. + + + + + + int (*xRename)(sqlite3_vtab *pVtab, const char *zNew); + + + This method provides notification that the virtual table implementation + that the virtual table will be given a new name. + If this method returns SQLITE_OK then SQLite renames the table. + If this method returns an error code then the renaming is prevented. + + + The xRename method is optional. If omitted, then the virtual + table may not be renamed using the ALTER TABLE RENAME command. + + + The PRAGMA legacy_alter_table setting is enabled prior to invoking this + method, and the value for legacy_alter_table is restored after this + method finishes. This is necessary for the correct operation of virtual + tables that make use of shadow tables where the shadow tables must be + renamed to match the new virtual table name. If the legacy_alter_format is + off, then the xConnect method will be invoked for the virtual table every + time the xRename method tries to change the name of the shadow table. + + + + The native pointer to the sqlite3_vtab derived structure. + + + The native pointer to the UTF-8 encoded string containing the new + name for the virtual table. + + + A standard SQLite return code. + + + + + + int (*xSavepoint)(sqlite3_vtab *pVtab, int); + int (*xRelease)(sqlite3_vtab *pVtab, int); + int (*xRollbackTo)(sqlite3_vtab *pVtab, int); + + + These methods provide the virtual table implementation an opportunity to + implement nested transactions. They are always optional and will only be + called in SQLite version 3.7.7 (2011-06-23) and later. + + + When xSavepoint(X,N) is invoked, that is a signal to the virtual table X + that it should save its current state as savepoint N. + A subsequent call + to xRollbackTo(X,R) means that the state of the virtual table should return + to what it was when xSavepoint(X,R) was last called. + The call + to xRollbackTo(X,R) will invalidate all savepoints with N>R; none of the + invalided savepoints will be rolled back or released without first + being reinitialized by a call to xSavepoint(). + A call to xRelease(X,M) invalidates all savepoints where N>=M. + + + None of the xSavepoint(), xRelease(), or xRollbackTo() methods will ever + be called except in between calls to xBegin() and + either xCommit() or xRollback(). + + + + The native pointer to the sqlite3_vtab derived structure. + + + This is an integer identifier under which the the current state of + the virtual table should be saved. + + + A standard SQLite return code. + + + + + + int (*xSavepoint)(sqlite3_vtab *pVtab, int); + int (*xRelease)(sqlite3_vtab *pVtab, int); + int (*xRollbackTo)(sqlite3_vtab *pVtab, int); + + + These methods provide the virtual table implementation an opportunity to + implement nested transactions. They are always optional and will only be + called in SQLite version 3.7.7 (2011-06-23) and later. + + + When xSavepoint(X,N) is invoked, that is a signal to the virtual table X + that it should save its current state as savepoint N. + A subsequent call + to xRollbackTo(X,R) means that the state of the virtual table should return + to what it was when xSavepoint(X,R) was last called. + The call + to xRollbackTo(X,R) will invalidate all savepoints with N>R; none of the + invalided savepoints will be rolled back or released without first + being reinitialized by a call to xSavepoint(). + A call to xRelease(X,M) invalidates all savepoints where N>=M. + + + None of the xSavepoint(), xRelease(), or xRollbackTo() methods will ever + be called except in between calls to xBegin() and + either xCommit() or xRollback(). + + + + The native pointer to the sqlite3_vtab derived structure. + + + This is an integer used to indicate that any saved states with an + identifier greater than or equal to this should be deleted by the + virtual table. + + + A standard SQLite return code. + + + + + + int (*xSavepoint)(sqlite3_vtab *pVtab, int); + int (*xRelease)(sqlite3_vtab *pVtab, int); + int (*xRollbackTo)(sqlite3_vtab *pVtab, int); + + + These methods provide the virtual table implementation an opportunity to + implement nested transactions. They are always optional and will only be + called in SQLite version 3.7.7 (2011-06-23) and later. + + + When xSavepoint(X,N) is invoked, that is a signal to the virtual table X + that it should save its current state as savepoint N. + A subsequent call + to xRollbackTo(X,R) means that the state of the virtual table should return + to what it was when xSavepoint(X,R) was last called. + The call + to xRollbackTo(X,R) will invalidate all savepoints with N>R; none of the + invalided savepoints will be rolled back or released without first + being reinitialized by a call to xSavepoint(). + A call to xRelease(X,M) invalidates all savepoints where N>=M. + + + None of the xSavepoint(), xRelease(), or xRollbackTo() methods will ever + be called except in between calls to xBegin() and + either xCommit() or xRollback(). + + + + The native pointer to the sqlite3_vtab derived structure. + + + This is an integer identifier used to specify a specific saved + state for the virtual table for it to restore itself back to, which + should also have the effect of deleting all saved states with an + integer identifier greater than this one. + + + A standard SQLite return code. + + + + + This class represents a context from the SQLite core library that can + be passed to the sqlite3_result_*() and associated functions. + + + + + The native context handle. + + + + + Constructs an instance of this class using the specified native + context handle. + + + The native context handle to use. + + + + + Returns the underlying SQLite native handle associated with this + object instance. + + + + + Sets the context result to NULL. + + + + + Sets the context result to the specified + value. + + + The value to use. + + + + + Sets the context result to the specified + value. + + + The value to use. + + + + + Sets the context result to the specified + value. + + + The value to use. + + + + + Sets the context result to the specified + value. + + + The value to use. This value will be + converted to the UTF-8 encoding prior to being used. + + + + + Sets the context result to the specified + value containing an error message. + + + The value containing the error message text. + This value will be converted to the UTF-8 encoding prior to being + used. + + + + + Sets the context result to the specified + value. + + + The value to use. + + + + + Sets the context result to contain the error code SQLITE_TOOBIG. + + + + + Sets the context result to contain the error code SQLITE_NOMEM. + + + + + Sets the context result to the specified array + value. + + + The array value to use. + + + + + Sets the context result to a BLOB of zeros of the specified size. + + + The number of zero bytes to use for the BLOB context result. + + + + + Sets the context result to the specified . + + + The to use. + + + + + This class represents a value from the SQLite core library that can be + passed to the sqlite3_value_*() and associated functions. + + + + + The native value handle. + + + + + Constructs an instance of this class using the specified native + value handle. + + + The native value handle to use. + + + + + Invalidates the native value handle, thereby preventing further + access to it from this object instance. + + + + + Converts a native pointer to a native sqlite3_value structure into + a managed object instance. + + + The native pointer to a native sqlite3_value structure to convert. + + + The managed object instance or null upon + failure. + + + + + Converts a logical array of native pointers to native sqlite3_value + structures into a managed array of + object instances. + + + The number of elements in the logical array of native sqlite3_value + structures. + + + The native pointer to the logical array of native sqlite3_value + structures to convert. + + + The managed array of object instances or + null upon failure. + + + + + Returns the underlying SQLite native handle associated with this + object instance. + + + + + Returns non-zero if the native SQLite value has been successfully + persisted as a managed value within this object instance (i.e. the + property may then be read successfully). + + + + + If the managed value for this object instance is available (i.e. it + has been previously persisted via the ) method, + that value is returned; otherwise, an exception is thrown. The + returned value may be null. + + + + + Gets and returns the type affinity associated with this value. + + + The type affinity associated with this value. + + + + + Gets and returns the number of bytes associated with this value, if + it refers to a UTF-8 encoded string. + + + The number of bytes associated with this value. The returned value + may be zero. + + + + + Gets and returns the associated with this + value. + + + The associated with this value. + + + + + Gets and returns the associated with + this value. + + + The associated with this value. + + + + + Gets and returns the associated with this + value. + + + The associated with this value. + + + + + Gets and returns the associated with this + value. + + + The associated with this value. The value is + converted from the UTF-8 encoding prior to being returned. + + + + + Gets and returns the array associated with this + value. + + + The array associated with this value. + + + + + Gets and returns an instance associated with + this value. + + + The associated with this value. If the type + affinity of the object is unknown or cannot be determined, a null + value will be returned. + + + + + Uses the native value handle to obtain and store the managed value + for this object instance, thus saving it for later use. The type + of the managed value is determined by the type affinity of the + native value. If the type affinity is not recognized by this + method, no work is done and false is returned. + + + Non-zero if the native value was persisted successfully. + + + + + These are the allowed values for the operators that are part of a + constraint term in the WHERE clause of a query that uses a virtual + table. + + + + + This value represents the equality operator. + + + + + This value represents the greater than operator. + + + + + This value represents the less than or equal to operator. + + + + + This value represents the less than operator. + + + + + This value represents the greater than or equal to operator. + + + + + This value represents the MATCH operator. + + + + + This value represents the LIKE operator. + + + + + This value represents the GLOB operator. + + + + + This value represents the REGEXP operator. + + + + + This value represents the inequality operator. + + + + + This value represents the IS NOT operator. + + + + + This value represents the IS NOT NULL operator. + + + + + This value represents the IS NULL operator. + + + + + This value represents the IS operator. + + + + + These are the allowed values for the index flags from the + method. + + + + + No special handling. This is the default. + + + + + This value indicates that the scan of the index will visit at + most one row. + + + + + This class represents the native sqlite3_index_constraint structure + from the SQLite core library. + + + + + Constructs an instance of this class using the specified native + sqlite3_index_constraint structure. + + + The native sqlite3_index_constraint structure to use. + + + + + Constructs an instance of this class using the specified field + values. + + + Column on left-hand side of constraint. + + + Constraint operator (). + + + True if this constraint is usable. + + + Used internally - + should ignore. + + + + + Column on left-hand side of constraint. + + + + + Constraint operator (). + + + + + True if this constraint is usable. + + + + + Used internally - + should ignore. + + + + + This class represents the native sqlite3_index_orderby structure from + the SQLite core library. + + + + + Constructs an instance of this class using the specified native + sqlite3_index_orderby structure. + + + The native sqlite3_index_orderby structure to use. + + + + + Constructs an instance of this class using the specified field + values. + + + Column number. + + + True for DESC. False for ASC. + + + + + Column number. + + + + + True for DESC. False for ASC. + + + + + This class represents the native sqlite3_index_constraint_usage + structure from the SQLite core library. + + + + + Constructs a default instance of this class. + + + + + Constructs an instance of this class using the specified native + sqlite3_index_constraint_usage structure. + + + The native sqlite3_index_constraint_usage structure to use. + + + + + Constructs an instance of this class using the specified field + values. + + + If greater than 0, constraint is part of argv to xFilter. + + + Do not code a test for this constraint. + + + + + If greater than 0, constraint is part of argv to xFilter. + + + + + Do not code a test for this constraint. + + + + + This class represents the various inputs provided by the SQLite core + library to the method. + + + + + Constructs an instance of this class. + + + The number of instances to + pre-allocate space for. + + + The number of instances to + pre-allocate space for. + + + + + An array of object instances, + each containing information supplied by the SQLite core library. + + + + + An array of object instances, + each containing information supplied by the SQLite core library. + + + + + This class represents the various outputs provided to the SQLite core + library by the method. + + + + + Constructs an instance of this class. + + + The number of instances + to pre-allocate space for. + + + + + Determines if the native estimatedRows field can be used, based on + the available version of the SQLite core library. + + + Non-zero if the property is supported + by the SQLite core library. + + + + + Determines if the native flags field can be used, based on the + available version of the SQLite core library. + + + Non-zero if the property is supported by + the SQLite core library. + + + + + Determines if the native flags field can be used, based on the + available version of the SQLite core library. + + + Non-zero if the property is supported by + the SQLite core library. + + + + + An array of object + instances, each containing information to be supplied to the SQLite + core library. + + + + + Number used to help identify the selected index. This value will + later be provided to the + method. + + + + + String used to help identify the selected index. This value will + later be provided to the + method. + + + + + Non-zero if the index string must be freed by the SQLite core + library. + + + + + True if output is already ordered. + + + + + Estimated cost of using this index. Using a null value here + indicates that a default estimated cost value should be used. + + + + + Estimated number of rows returned. Using a null value here + indicates that a default estimated rows value should be used. + This property has no effect if the SQLite core library is not at + least version 3.8.2. + + + + + The flags that should be used with this index. Using a null value + here indicates that a default flags value should be used. This + property has no effect if the SQLite core library is not at least + version 3.9.0. + + + + + + Indicates which columns of the virtual table may be required by the + current scan. Virtual table columns are numbered from zero in the + order in which they appear within the CREATE TABLE statement passed + to sqlite3_declare_vtab(). For the first 63 columns (columns 0-62), + the corresponding bit is set within the bit mask if the column may + be required by SQLite. If the table has at least 64 columns and + any column to the right of the first 63 is required, then bit 63 of + colUsed is also set. In other words, column iCol may be required + if the expression + + + (colUsed & ((sqlite3_uint64)1 << (iCol>=63 ? 63 : iCol))) + + + evaluates to non-zero. Using a null value here indicates that a + default flags value should be used. This property has no effect if + the SQLite core library is not at least version 3.10.0. + + + + + + This class represents the various inputs and outputs used with the + method. + + + + + Constructs an instance of this class. + + + The number of (and + ) instances to + pre-allocate space for. + + + The number of instances to + pre-allocate space for. + + + + + Attempts to determine the structure sizes needed to create and + populate a native + + structure. + + + The size of the native + + structure is stored here. + + + The size of the native + + structure is stored here. + + + The size of the native + + structure is stored here. + + + The size of the native + + structure is stored here. + + + + + Attempts to allocate and initialize a native + + structure. + + + The number of instances to + pre-allocate space for. + + + The number of instances to + pre-allocate space for. + + + The newly allocated native + structure + -OR- if it could not be fully allocated. + + + + + Frees all the memory associated with a native + + structure. + + + The native pointer to the native sqlite3_index_info structure to + free. + + + + + Converts a native pointer to a native sqlite3_index_info structure + into a new object instance. + + + The native pointer to the native sqlite3_index_info structure to + convert. + + + Non-zero to include fields from the outputs portion of the native + structure; otherwise, the "output" fields will not be read. + + + Upon success, this parameter will be modified to contain the newly + created object instance. + + + + + Populates the outputs of a pre-allocated native sqlite3_index_info + structure using an existing object + instance. + + + The existing object instance containing + the output data to use. + + + The native pointer to the pre-allocated native sqlite3_index_info + structure. + + + Non-zero to include fields from the inputs portion of the native + structure; otherwise, the "input" fields will not be written. + + + + + The object instance containing + the inputs to the + method. + + + + + The object instance containing + the outputs from the + method. + + + + + This class represents a managed virtual table implementation. It is + not sealed and should be used as the base class for any user-defined + virtual table classes implemented in managed code. + + + + + The index within the array of strings provided to the + and + methods containing the + name of the module implementing this virtual table. + + + + + The index within the array of strings provided to the + and + methods containing the + name of the database containing this virtual table. + + + + + The index within the array of strings provided to the + and + methods containing the + name of the virtual table. + + + + + Constructs an instance of this class. + + + The original array of strings provided to the + and + methods. + + + + + The original array of strings provided to the + and + methods. + + + + + The name of the module implementing this virtual table. + + + + + The name of the database containing this virtual table. + + + + + The name of the virtual table. + + + + + The object instance containing all the + data for the inputs and outputs relating to the most recent index + selection. + + + + + This method should normally be used by the + method in order to + perform index selection based on the constraints provided by the + SQLite core library. + + + The object instance containing all the + data for the inputs and outputs relating to index selection. + + + Non-zero upon success. + + + + + Attempts to record the renaming of the virtual table associated + with this object instance. + + + The new name for the virtual table. + + + Non-zero upon success. + + + + + Returns the underlying SQLite native handle associated with this + object instance. + + + + + Disposes of this object instance. + + + + + Throws an if this object + instance has been disposed. + + + + + Disposes of this object instance. + + + Non-zero if this method is being called from the + method. Zero if this method is being called + from the finalizer. + + + + + Finalizes this object instance. + + + + + This class represents a managed virtual table cursor implementation. + It is not sealed and should be used as the base class for any + user-defined virtual table cursor classes implemented in managed code. + + + + + This value represents an invalid integer row sequence number. + + + + + The field holds the integer row sequence number for the current row + pointed to by this cursor object instance. + + + + + Constructs an instance of this class. + + + The object instance associated + with this object instance. + + + + + Constructs an instance of this class. + + + + + The object instance associated + with this object instance. + + + + + Number used to help identify the selected index. This value will + be set via the method. + + + + + String used to help identify the selected index. This value will + be set via the method. + + + + + The values used to filter the rows returned via this cursor object + instance. This value will be set via the + method. + + + + + Attempts to persist the specified object + instances in order to make them available after the + method returns. + + + The array of object instances to be + persisted. + + + The number of object instances that were + successfully persisted. + + + + + This method should normally be used by the + method in order to + perform filtering of the result rows and/or to record the filtering + criteria provided by the SQLite core library. + + + Number used to help identify the selected index. + + + String used to help identify the selected index. + + + The values corresponding to each column in the selected index. + + + + + Determines the integer row sequence number for the current row. + + + The integer row sequence number for the current row -OR- zero if + it cannot be determined. + + + + + Adjusts the integer row sequence number so that it refers to the + next row. + + + + + Returns the underlying SQLite native handle associated with this + object instance. + + + + + Disposes of this object instance. + + + + + Throws an if this object + instance has been disposed. + + + + + Disposes of this object instance. + + + Non-zero if this method is being called from the + method. Zero if this method is being called + from the finalizer. + + + + + Finalizes this object instance. + + + + + This interface represents a native handle provided by the SQLite core + library. + + + + + The native handle value. + + + + + This interface represents a virtual table implementation written in + managed code. + + + + + Returns non-zero if the schema for the virtual table has been + declared. + + + + + Returns the name of the module as it was registered with the SQLite + core library. + + + + + This method is called in response to the + method. + + + The object instance associated with + the virtual table. + + + The native user-data pointer associated with this module, as it was + provided to the SQLite core library when the native module instance + was created. + + + The module name, database name, virtual table name, and all other + arguments passed to the CREATE VIRTUAL TABLE statement. + + + Upon success, this parameter must be modified to contain the + object instance associated with + the virtual table. + + + Upon failure, this parameter must be modified to contain an error + message. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated with + the virtual table. + + + The native user-data pointer associated with this module, as it was + provided to the SQLite core library when the native module instance + was created. + + + The module name, database name, virtual table name, and all other + arguments passed to the CREATE VIRTUAL TABLE statement. + + + Upon success, this parameter must be modified to contain the + object instance associated with + the virtual table. + + + Upon failure, this parameter must be modified to contain an error + message. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + The object instance containing all the + data for the inputs and outputs relating to index selection. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + Upon success, this parameter must be modified to contain the + object instance associated + with the newly opened virtual table cursor. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance + associated with the previously opened virtual table cursor to be + used. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance + associated with the previously opened virtual table cursor to be + used. + + + Number used to help identify the selected index. + + + String used to help identify the selected index. + + + The values corresponding to each column in the selected index. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance + associated with the previously opened virtual table cursor to be + used. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance + associated with the previously opened virtual table cursor to be + used. + + + Non-zero if no more rows are available; zero otherwise. + + + + + This method is called in response to the + method. + + + The object instance + associated with the previously opened virtual table cursor to be + used. + + + The object instance to be used for + returning the specified column value to the SQLite core library. + + + The zero-based index corresponding to the column containing the + value to be returned. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance + associated with the previously opened virtual table cursor to be + used. + + + Upon success, this parameter must be modified to contain the unique + integer row identifier for the current row for the specified cursor. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + The array of object instances containing + the new or modified column values, if any. + + + Upon success, this parameter must be modified to contain the unique + integer row identifier for the row that was inserted, if any. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + The number of arguments to the function being sought. + + + The name of the function being sought. + + + Upon success, this parameter must be modified to contain the + object instance responsible for + implementing the specified function. + + + Upon success, this parameter must be modified to contain the + native user-data pointer associated with + . + + + Non-zero if the specified function was found; zero otherwise. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + The new name for the virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + This is an integer identifier under which the the current state of + the virtual table should be saved. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + This is an integer used to indicate that any saved states with an + identifier greater than or equal to this should be deleted by the + virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + This is an integer identifier used to specify a specific saved + state for the virtual table for it to restore itself back to, which + should also have the effect of deleting all saved states with an + integer identifier greater than this one. + + + A standard SQLite return code. + + + + + This class contains static methods that are used to allocate, + manipulate, and free native memory provided by the SQLite core library. + + + + + Determines if the native sqlite3_msize() API can be used, based on + the available version of the SQLite core library. + + + Non-zero if the native sqlite3_msize() API is supported by the + SQLite core library. + + + + + Allocates at least the specified number of bytes of native memory + via the SQLite core library sqlite3_malloc() function and returns + the resulting native pointer. If the TRACK_MEMORY_BYTES option + was enabled at compile-time, adjusts the number of bytes currently + allocated by this class. + + + The number of bytes to allocate. + + + The native pointer that points to a block of memory of at least the + specified size -OR- if the memory could + not be allocated. + + + + + Allocates at least the specified number of bytes of native memory + via the SQLite core library sqlite3_malloc64() function and returns + the resulting native pointer. If the TRACK_MEMORY_BYTES option + was enabled at compile-time, adjusts the number of bytes currently + allocated by this class. + + + The number of bytes to allocate. + + + The native pointer that points to a block of memory of at least the + specified size -OR- if the memory could + not be allocated. + + + + + Allocates at least the specified number of bytes of native memory + via the SQLite core library sqlite3_malloc() function and returns + the resulting native pointer without adjusting the number of + allocated bytes currently tracked by this class. This is useful + when dealing with blocks of memory that will be freed directly by + the SQLite core library. + + + The number of bytes to allocate. + + + The native pointer that points to a block of memory of at least the + specified size -OR- if the memory could + not be allocated. + + + + + Allocates at least the specified number of bytes of native memory + via the SQLite core library sqlite3_malloc64() function and returns + the resulting native pointer without adjusting the number of + allocated bytes currently tracked by this class. This is useful + when dealing with blocks of memory that will be freed directly by + the SQLite core library. + + + The number of bytes to allocate. + + + The native pointer that points to a block of memory of at least the + specified size -OR- if the memory could + not be allocated. + + + + + Gets and returns the actual size of the specified memory block + that was previously obtained from the , + , , or + methods or directly from the + SQLite core library. + + + The native pointer to the memory block previously obtained from + the , , + , or + methods or directly from the + SQLite core library. + + + The actual size, in bytes, of the memory block specified via the + native pointer. + + + + + Gets and returns the actual size of the specified memory block + that was previously obtained from the , + , , or + methods or directly from the + SQLite core library. + + + The native pointer to the memory block previously obtained from + the , , + , or + methods or directly from the + SQLite core library. + + + The actual size, in bytes, of the memory block specified via the + native pointer. + + + + + Frees a memory block previously obtained from the + or methods. If + the TRACK_MEMORY_BYTES option was enabled at compile-time, adjusts + the number of bytes currently allocated by this class. + + + The native pointer to the memory block previously obtained from the + or methods. + + + + + Frees a memory block previously obtained from the SQLite core + library without adjusting the number of allocated bytes currently + tracked by this class. This is useful when dealing with blocks of + memory that were not allocated using this class. + + + The native pointer to the memory block previously obtained from the + SQLite core library. + + + + + This class contains static methods that are used to deal with native + UTF-8 string pointers to be used with the SQLite core library. + + + + + This is the maximum possible length for the native UTF-8 encoded + strings used with the SQLite core library. + + + + + This is the object instance used to handle + conversions from/to UTF-8. + + + + + Converts the specified managed string into the UTF-8 encoding and + returns the array of bytes containing its representation in that + encoding. + + + The managed string to convert. + + + The array of bytes containing the representation of the managed + string in the UTF-8 encoding or null upon failure. + + + + + Converts the specified array of bytes representing a string in the + UTF-8 encoding and returns a managed string. + + + The array of bytes to convert. + + + The managed string or null upon failure. + + + + + Probes a native pointer to a string in the UTF-8 encoding for its + terminating NUL character, within the specified length limit. + + + The native NUL-terminated string pointer. + + + The maximum length of the native string, in bytes. + + + The length of the native string, in bytes -OR- zero if the length + could not be determined. + + + + + Converts the specified native NUL-terminated UTF-8 string pointer + into a managed string. + + + The native NUL-terminated UTF-8 string pointer. + + + The managed string or null upon failure. + + + + + Converts the specified native UTF-8 string pointer of the specified + length into a managed string. + + + The native UTF-8 string pointer. + + + The length of the native string, in bytes. + + + The managed string or null upon failure. + + + + + Converts the specified managed string into a native NUL-terminated + UTF-8 string pointer using memory obtained from the SQLite core + library. + + + The managed string to convert. + + + The native NUL-terminated UTF-8 string pointer or + upon failure. + + + + + Converts the specified managed string into a native NUL-terminated + UTF-8 string pointer using memory obtained from the SQLite core + library. + + + The managed string to convert. + + + Non-zero to obtain memory from the SQLite core library without + adjusting the number of allocated bytes currently being tracked + by the class. + + + The native NUL-terminated UTF-8 string pointer or + upon failure. + + + + + Converts the specified managed string into a native NUL-terminated + UTF-8 string pointer using memory obtained from the SQLite core + library. + + + The managed string to convert. + + + The length of the native string, in bytes. + + + The native NUL-terminated UTF-8 string pointer or + upon failure. + + + + + Converts the specified managed string into a native NUL-terminated + UTF-8 string pointer using memory obtained from the SQLite core + library. + + + The managed string to convert. + + + Non-zero to obtain memory from the SQLite core library without + adjusting the number of allocated bytes currently being tracked + by the class. + + + The length of the native string, in bytes. + + + The native NUL-terminated UTF-8 string pointer or + upon failure. + + + + + Converts a logical array of native NUL-terminated UTF-8 string + pointers into an array of managed strings. + + + The number of elements in the logical array of native + NUL-terminated UTF-8 string pointers. + + + The native pointer to the logical array of native NUL-terminated + UTF-8 string pointers to convert. + + + The array of managed strings or null upon failure. + + + + + Converts an array of managed strings into an array of native + NUL-terminated UTF-8 string pointers. + + + The array of managed strings to convert. + + + Non-zero to obtain memory from the SQLite core library without + adjusting the number of allocated bytes currently being tracked + by the class. + + + The array of native NUL-terminated UTF-8 string pointers or null + upon failure. + + + + + This class contains static methods that are used to deal with native + pointers to memory blocks that logically contain arrays of bytes to be + used with the SQLite core library. + + + + + Converts a native pointer to a logical array of bytes of the + specified length into a managed byte array. + + + The native pointer to the logical array of bytes to convert. + + + The length, in bytes, of the logical array of bytes to convert. + + + The managed byte array or null upon failure. + + + + + Converts a managed byte array into a native pointer to a logical + array of bytes. + + + The managed byte array to convert. + + + The native pointer to a logical byte array or null upon failure. + + + + + Converts a managed byte array into a native pointer to a logical + array of bytes. + + + The managed byte array to convert. + + + The length, in bytes, of the converted logical array of bytes. + + + The native pointer to a logical byte array or null upon failure. + + + + + This class contains static methods that are used to perform several + low-level data marshalling tasks between native and managed code. + + + + + Returns a new object instance based on the + specified object instance and an integer + offset. + + + The object instance representing the base + memory location. + + + The integer offset from the base memory location that the new + object instance should point to. + + + The new object instance. + + + + + Rounds up an integer size to the next multiple of the alignment. + + + The size, in bytes, to be rounded up. + + + The required alignment for the return value. + + + The size, in bytes, rounded up to the next multiple of the + alignment. This value may end up being the same as the original + size. + + + + + Determines the offset, in bytes, of the next structure member. + + + The offset, in bytes, of the current structure member. + + + The size, in bytes, of the current structure member. + + + The alignment, in bytes, of the next structure member. + + + The offset, in bytes, of the next structure member. + + + + + Reads a value from the specified memory + location. + + + The object instance representing the base + memory location. + + + The integer offset from the base memory location where the + value to be read is located. + + + The value at the specified memory location. + + + + + Reads a value from the specified memory + location. + + + The object instance representing the base + memory location. + + + The integer offset from the base memory location where the + value to be read is located. + + + The value at the specified memory location. + + + + + Reads a value from the specified memory + location. + + + The object instance representing the base + memory location. + + + The integer offset from the base memory location where the + to be read is located. + + + The value at the specified memory location. + + + + + Reads an value from the specified memory + location. + + + The object instance representing the base + memory location. + + + The integer offset from the base memory location where the + value to be read is located. + + + The value at the specified memory location. + + + + + Writes an value to the specified memory + location. + + + The object instance representing the base + memory location. + + + The integer offset from the base memory location where the + value to be written is located. + + + The value to write. + + + + + Writes an value to the specified memory + location. + + + The object instance representing the base + memory location. + + + The integer offset from the base memory location where the + value to be written is located. + + + The value to write. + + + + + Writes a value to the specified memory + location. + + + The object instance representing the base + memory location. + + + The integer offset from the base memory location where the + value to be written is located. + + + The value to write. + + + + + Writes a value to the specified memory + location. + + + The object instance representing the base + memory location. + + + The integer offset from the base memory location where the + value to be written is located. + + + The value to write. + + + + + Generates a hash code value for the object. + + + The object instance used to calculate the hash code. + + + Non-zero if different object instances with the same value should + generate different hash codes, where applicable. This parameter + has no effect on the .NET Compact Framework. + + + The hash code value -OR- zero if the object is null. + + + + + This class represents a managed virtual table module implementation. + It is not sealed and must be used as the base class for any + user-defined virtual table module classes implemented in managed code. + + + + + This class implements the + interface by forwarding those method calls to the + object instance it contains. If the + contained object instance is null, all + the methods simply generate an + error. + + + + + This is the value that is always used for the "logErrors" + parameter to the various static error handling methods provided + by the class. + + + + + This is the value that is always used for the "logExceptions" + parameter to the various static error handling methods provided + by the class. + + + + + This is the error message text used when the contained + object instance is not available + for any reason. + + + + + The object instance used to provide + an implementation of the + interface. + + + + + Constructs an instance of this class. + + + The object instance used to provide + an implementation of the + interface. + + + + + Sets the table error message to one that indicates the native + module implementation is not available. + + + The native pointer to the sqlite3_vtab derived structure. + + + The value of . + + + + + Sets the table error message to one that indicates the native + module implementation is not available. + + + The native pointer to the sqlite3_vtab_cursor derived + structure. + + + The value of . + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + Disposes of this object instance. + + + + + Throws an if this object + instance has been disposed. + + + + + Disposes of this object instance. + + + Non-zero if this method is being called from the + method. Zero if this method is being + called from the finalizer. + + + + + Finalizes this object instance. + + + + + The default version of the native sqlite3_module structure in use. + + + + + This field is used to store the native sqlite3_module structure + associated with this object instance. + + + + + This field is used to store the destructor delegate to be passed to + the SQLite core library via the sqlite3_create_disposable_module() + function. + + + + + This field is used to store a pointer to the native sqlite3_module + structure returned by the sqlite3_create_disposable_module + function. + + + + + This field is used to store the virtual table instances associated + with this module. The native pointer to the sqlite3_vtab derived + structure is used to key into this collection. + + + + + This field is used to store the virtual table cursor instances + associated with this module. The native pointer to the + sqlite3_vtab_cursor derived structure is used to key into this + collection. + + + + + This field is used to store the virtual table function instances + associated with this module. The case-insensitive function name + and the number of arguments (with -1 meaning "any") are used to + construct the string that is used to key into this collection. + + + + + Constructs an instance of this class. + + + The name of the module. This parameter cannot be null. + + + + + Calls the native SQLite core library in order to create a new + disposable module containing the implementation of a virtual table. + + + The native database connection pointer to use. + + + Non-zero upon success. + + + + + This method is called by the SQLite core library when the native + module associated with this object instance is being destroyed due + to its parent connection being closed. It may also be called by + the "vtshim" module if/when the sqlite3_dispose_module() function + is called. + + + The native user-data pointer associated with this module, as it was + provided to the SQLite core library when the native module instance + was created. + + + + + Creates and returns the native sqlite_module structure using the + configured (or default) + interface implementation. + + + The native sqlite_module structure using the configured (or + default) interface + implementation. + + + + + Creates and returns the native sqlite_module structure using the + specified interface + implementation. + + + The interface implementation to + use. + + + The native sqlite_module structure using the specified + interface implementation. + + + + + Creates a copy of the specified + object instance, + using default implementations for the contained delegates when + necessary. + + + The object + instance to copy. + + + The new object + instance. + + + + + Calls one of the virtual table initialization methods. + + + Non-zero to call the + method; otherwise, the + method will be called. + + + The native database connection handle. + + + The original native pointer value that was provided to the + sqlite3_create_module(), sqlite3_create_module_v2() or + sqlite3_create_disposable_module() functions. + + + The number of arguments from the CREATE VIRTUAL TABLE statement. + + + The array of string arguments from the CREATE VIRTUAL TABLE + statement. + + + Upon success, this parameter must be modified to point to the newly + created native sqlite3_vtab derived structure. + + + Upon failure, this parameter must be modified to point to the error + message, with the underlying memory having been obtained from the + sqlite3_malloc() function. + + + A standard SQLite return code. + + + + + Calls one of the virtual table finalization methods. + + + Non-zero to call the + method; otherwise, the + method will be + called. + + + The native pointer to the sqlite3_vtab derived structure. + + + A standard SQLite return code. + + + + + Arranges for the specified error message to be placed into the + zErrMsg field of a sqlite3_vtab derived structure, freeing the + existing error message, if any. + + + The object instance to be used. + + + The native pointer to the sqlite3_vtab derived structure. + + + Non-zero if this error message should also be logged using the + class. + + + Non-zero if caught exceptions should be logged using the + class. + + + The error message. + + + Non-zero upon success. + + + + + Arranges for the specified error message to be placed into the + zErrMsg field of a sqlite3_vtab derived structure, freeing the + existing error message, if any. + + + The object instance to be used. + + + The object instance used to + lookup the native pointer to the sqlite3_vtab derived structure. + + + Non-zero if this error message should also be logged using the + class. + + + Non-zero if caught exceptions should be logged using the + class. + + + The error message. + + + Non-zero upon success. + + + + + Arranges for the specified error message to be placed into the + zErrMsg field of a sqlite3_vtab derived structure, freeing the + existing error message, if any. + + + The object instance to be used. + + + The native pointer to the sqlite3_vtab_cursor derived structure + used to get the native pointer to the sqlite3_vtab derived + structure. + + + Non-zero if this error message should also be logged using the + class. + + + Non-zero if caught exceptions should be logged using the + class. + + + The error message. + + + Non-zero upon success. + + + + + Arranges for the specified error message to be placed into the + zErrMsg field of a sqlite3_vtab derived structure, freeing the + existing error message, if any. + + + The object instance to be used. + + + The object instance used to + lookup the native pointer to the sqlite3_vtab derived structure. + + + Non-zero if this error message should also be logged using the + class. + + + Non-zero if caught exceptions should be logged using the + class. + + + The error message. + + + Non-zero upon success. + + + + + Gets and returns the interface + implementation to be used when creating the native sqlite3_module + structure. Derived classes may override this method to supply an + alternate implementation for the + interface. + + + The interface implementation to + be used when populating the native sqlite3_module structure. If + the returned value is null, the private methods provided by the + class and relating to the + interface will be used to + create the necessary delegates. + + + + + Creates and returns the + interface implementation corresponding to the current + object instance. + + + The interface implementation + corresponding to the current object + instance. + + + + + Allocates a native sqlite3_vtab derived structure and returns a + native pointer to it. + + + A native pointer to a native sqlite3_vtab derived structure. + + + + + Zeros out the fields of a native sqlite3_vtab derived structure. + + + The native pointer to the native sqlite3_vtab derived structure to + zero. + + + + + Frees a native sqlite3_vtab structure using the provided native + pointer to it. + + + A native pointer to a native sqlite3_vtab derived structure. + + + + + Allocates a native sqlite3_vtab_cursor derived structure and + returns a native pointer to it. + + + A native pointer to a native sqlite3_vtab_cursor derived structure. + + + + + Frees a native sqlite3_vtab_cursor structure using the provided + native pointer to it. + + + A native pointer to a native sqlite3_vtab_cursor derived structure. + + + + + Reads and returns the native pointer to the sqlite3_vtab derived + structure based on the native pointer to the sqlite3_vtab_cursor + derived structure. + + + The object instance to be used. + + + The native pointer to the sqlite3_vtab_cursor derived structure + from which to read the native pointer to the sqlite3_vtab derived + structure. + + + The native pointer to the sqlite3_vtab derived structure -OR- + if it cannot be determined. + + + + + Reads and returns the native pointer to the sqlite3_vtab derived + structure based on the native pointer to the sqlite3_vtab_cursor + derived structure. + + + The native pointer to the sqlite3_vtab_cursor derived structure + from which to read the native pointer to the sqlite3_vtab derived + structure. + + + The native pointer to the sqlite3_vtab derived structure -OR- + if it cannot be determined. + + + + + Looks up and returns the object + instance based on the native pointer to the sqlite3_vtab derived + structure. + + + The native pointer to the sqlite3_vtab derived structure. + + + The object instance or null if + the corresponding one cannot be found. + + + + + Allocates and returns a native pointer to a sqlite3_vtab derived + structure and creates an association between it and the specified + object instance. + + + The object instance to be used + when creating the association. + + + The native pointer to a sqlite3_vtab derived structure or + if the method fails for any reason. + + + + + Looks up and returns the + object instance based on the native pointer to the + sqlite3_vtab_cursor derived structure. + + + The native pointer to the sqlite3_vtab derived structure. + + + The native pointer to the sqlite3_vtab_cursor derived structure. + + + The object instance or null + if the corresponding one cannot be found. + + + + + Allocates and returns a native pointer to a sqlite3_vtab_cursor + derived structure and creates an association between it and the + specified object instance. + + + The object instance to be + used when creating the association. + + + The native pointer to a sqlite3_vtab_cursor derived structure or + if the method fails for any reason. + + + + + Deterimines the key that should be used to identify and store the + object instance for the virtual table + (i.e. to be returned via the + method). + + + The number of arguments to the virtual table function. + + + The name of the virtual table function. + + + The object instance associated with + this virtual table function. + + + The string that should be used to identify and store the virtual + table function instance. This method cannot return null. If null + is returned from this method, the behavior is undefined. + + + + + Attempts to declare the schema for the virtual table using the + specified database connection. + + + The object instance to use when + declaring the schema of the virtual table. This parameter may not + be null. + + + The string containing the CREATE TABLE statement that completely + describes the schema for the virtual table. This parameter may not + be null. + + + Upon failure, this parameter must be modified to contain an error + message. + + + A standard SQLite return code. + + + + + Calls the native SQLite core library in order to declare a virtual + table function in response to a call into the + + or virtual table + methods. + + + The object instance to use when + declaring the schema of the virtual table. + + + The number of arguments to the function being declared. + + + The name of the function being declared. + + + Upon success, the contents of this parameter are undefined. Upon + failure, it should contain an appropriate error message. + + + A standard SQLite return code. + + + + + Returns or sets a boolean value indicating whether virtual table + errors should be logged using the class. + + + + + Returns or sets a boolean value indicating whether exceptions + caught in the + method, + the method, + the method, + the method, + and the method should be logged using the + class. + + + + + Arranges for the specified error message to be placed into the + zErrMsg field of a sqlite3_vtab derived structure, freeing the + existing error message, if any. + + + The native pointer to the sqlite3_vtab derived structure. + + + The error message. + + + Non-zero upon success. + + + + + Arranges for the specified error message to be placed into the + zErrMsg field of a sqlite3_vtab derived structure, freeing the + existing error message, if any. + + + The object instance used to + lookup the native pointer to the sqlite3_vtab derived structure. + + + The error message. + + + Non-zero upon success. + + + + + Arranges for the specified error message to be placed into the + zErrMsg field of a sqlite3_vtab derived structure, freeing the + existing error message, if any. + + + The object instance used to + lookup the native pointer to the sqlite3_vtab derived structure. + + + The error message. + + + Non-zero upon success. + + + + + Modifies the specified object instance + to contain the specified estimated cost. + + + The object instance to modify. + + + The estimated cost value to use. Using a null value means that the + default value provided by the SQLite core library should be used. + + + Non-zero upon success. + + + + + Modifies the specified object instance + to contain the default estimated cost. + + + The object instance to modify. + + + Non-zero upon success. + + + + + Modifies the specified object instance + to contain the specified estimated rows. + + + The object instance to modify. + + + The estimated rows value to use. Using a null value means that the + default value provided by the SQLite core library should be used. + + + Non-zero upon success. + + + + + Modifies the specified object instance + to contain the default estimated rows. + + + The object instance to modify. + + + Non-zero upon success. + + + + + Modifies the specified object instance + to contain the specified flags. + + + The object instance to modify. + + + The index flags value to use. Using a null value means that the + default value provided by the SQLite core library should be used. + + + Non-zero upon success. + + + + + Modifies the specified object instance + to contain the default index flags. + + + The object instance to modify. + + + Non-zero upon success. + + + + + Returns or sets a boolean value indicating whether virtual table + errors should be logged using the class. + + + + + Returns or sets a boolean value indicating whether exceptions + caught in the + method, + method, and the + method should be logged using the + class. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + Returns non-zero if the schema for the virtual table has been + declared. + + + + + Returns the name of the module as it was registered with the SQLite + core library. + + + + + This method is called in response to the + method. + + + The object instance associated with + the virtual table. + + + The native user-data pointer associated with this module, as it was + provided to the SQLite core library when the native module instance + was created. + + + The module name, database name, virtual table name, and all other + arguments passed to the CREATE VIRTUAL TABLE statement. + + + Upon success, this parameter must be modified to contain the + object instance associated with + the virtual table. + + + Upon failure, this parameter must be modified to contain an error + message. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated with + the virtual table. + + + The native user-data pointer associated with this module, as it was + provided to the SQLite core library when the native module instance + was created. + + + The module name, database name, virtual table name, and all other + arguments passed to the CREATE VIRTUAL TABLE statement. + + + Upon success, this parameter must be modified to contain the + object instance associated with + the virtual table. + + + Upon failure, this parameter must be modified to contain an error + message. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + The object instance containing all the + data for the inputs and outputs relating to index selection. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + Upon success, this parameter must be modified to contain the + object instance associated + with the newly opened virtual table cursor. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance + associated with the previously opened virtual table cursor to be + used. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance + associated with the previously opened virtual table cursor to be + used. + + + Number used to help identify the selected index. + + + String used to help identify the selected index. + + + The values corresponding to each column in the selected index. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance + associated with the previously opened virtual table cursor to be + used. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance + associated with the previously opened virtual table cursor to be + used. + + + Non-zero if no more rows are available; zero otherwise. + + + + + This method is called in response to the + method. + + + The object instance + associated with the previously opened virtual table cursor to be + used. + + + The object instance to be used for + returning the specified column value to the SQLite core library. + + + The zero-based index corresponding to the column containing the + value to be returned. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance + associated with the previously opened virtual table cursor to be + used. + + + Upon success, this parameter must be modified to contain the unique + integer row identifier for the current row for the specified cursor. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + The array of object instances containing + the new or modified column values, if any. + + + Upon success, this parameter must be modified to contain the unique + integer row identifier for the row that was inserted, if any. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + The number of arguments to the function being sought. + + + The name of the function being sought. + + + Upon success, this parameter must be modified to contain the + object instance responsible for + implementing the specified function. + + + Upon success, this parameter must be modified to contain the + native user-data pointer associated with + . + + + Non-zero if the specified function was found; zero otherwise. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + The new name for the virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + This is an integer identifier under which the the current state of + the virtual table should be saved. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + This is an integer used to indicate that any saved states with an + identifier greater than or equal to this should be deleted by the + virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + This is an integer identifier used to specify a specific saved + state for the virtual table for it to restore itself back to, which + should also have the effect of deleting all saved states with an + integer identifier greater than this one. + + + A standard SQLite return code. + + + + + Disposes of this object instance. + + + + + Throws an if this object + instance has been disposed. + + + + + Disposes of this object instance. + + + Non-zero if this method is being called from the + method. Zero if this method is being + called from the finalizer. + + + + + Finalizes this object instance. + + + + + This class contains some virtual methods that may be useful for other + virtual table classes. It specifically does NOT implement any of the + interface methods. + + + + + The CREATE TABLE statement used to declare the schema for the + virtual table. + + + + + Non-zero if different object instances with the same value should + generate different row identifiers, where applicable. This has no + effect on the .NET Compact Framework. + + + + + Constructs an instance of this class. + + + The name of the module. This parameter cannot be null. + + + + + Constructs an instance of this class. + + + The name of the module. This parameter cannot be null. + + + Non-zero if different object instances with the same value should + generate different row identifiers, where applicable. This + parameter has no effect on the .NET Compact Framework. + + + + + Determines the SQL statement used to declare the virtual table. + This method should be overridden in derived classes if they require + a custom virtual table schema. + + + The SQL statement used to declare the virtual table -OR- null if it + cannot be determined. + + + + + Sets the table error message to one that indicates the virtual + table cursor is of the wrong type. + + + The object instance. + + + The that the virtual table cursor should be. + + + The value of . + + + + + Determines the string to return as the column value for the object + instance value. + + + The object instance + associated with the previously opened virtual table cursor to be + used. + + + The object instance to return a string representation for. + + + The string representation of the specified object instance or null + upon failure. + + + + + Constructs an unique row identifier from two + values. The first value + must contain the row sequence number for the current row and the + second value must contain the hash code of the key column value + for the current row. + + + The integer row sequence number for the current row. + + + The hash code of the key column value for the current row. + + + The unique row identifier or zero upon failure. + + + + + Determines the unique row identifier for the current row. + + + The object instance + associated with the previously opened virtual table cursor to be + used. + + + The object instance to return a unique row identifier for. + + + The unique row identifier or zero upon failure. + + + + + Throws an if this object + instance has been disposed. + + + + + Disposes of this object instance. + + + Non-zero if this method is being called from the + method. Zero if this method is + being called from the finalizer. + + + + + This class represents a virtual table cursor to be used with the + class. It is not sealed and may + be used as the base class for any user-defined virtual table cursor + class that wraps an object instance. + + + + + The instance provided when this cursor + was created. + + + + + This value will be non-zero if false has been returned from the + method. + + + + + Constructs an instance of this class. + + + The object instance associated + with this object instance. + + + The instance to expose as a virtual + table cursor. + + + + + Advances to the next row of the virtual table cursor using the + method of the + object instance. + + + Non-zero if the current row is valid; zero otherwise. If zero is + returned, no further rows are available. + + + + + Returns the value for the current row of the virtual table cursor + using the property of the + object instance. + + + + + Resets the virtual table cursor position, also invalidating the + current row, using the method of + the object instance. + + + + + Returns non-zero if the end of the virtual table cursor has been + seen (i.e. no more rows are available, including the current one). + + + + + Returns non-zero if the virtual table cursor is open. + + + + + Closes the virtual table cursor. This method must not throw any + exceptions. + + + + + Throws an if the virtual + table cursor has been closed. + + + + + Throws an if this object + instance has been disposed. + + + + + Disposes of this object instance. + + + Non-zero if this method is being called from the + method. Zero if this method is + being called from the finalizer. + + + + + This class implements a virtual table module that exposes an + object instance as a read-only virtual + table. It is not sealed and may be used as the base class for any + user-defined virtual table class that wraps an + object instance. The following short + example shows it being used to treat an array of strings as a table + data source: + + public static class Sample + { + public static void Main() + { + using (SQLiteConnection connection = new SQLiteConnection( + "Data Source=:memory:;")) + { + connection.Open(); + + connection.CreateModule(new SQLiteModuleEnumerable( + "sampleModule", new string[] { "one", "two", "three" })); + + using (SQLiteCommand command = connection.CreateCommand()) + { + command.CommandText = + "CREATE VIRTUAL TABLE t1 USING sampleModule;"; + + command.ExecuteNonQuery(); + } + + using (SQLiteCommand command = connection.CreateCommand()) + { + command.CommandText = "SELECT * FROM t1;"; + + using (SQLiteDataReader dataReader = command.ExecuteReader()) + { + while (dataReader.Read()) + Console.WriteLine(dataReader[0].ToString()); + } + } + + connection.Close(); + } + } + } + + + + + + The instance containing the backing data + for the virtual table. + + + + + Non-zero if different object instances with the same value should + generate different row identifiers, where applicable. This has no + effect on the .NET Compact Framework. + + + + + Constructs an instance of this class. + + + The name of the module. This parameter cannot be null. + + + The instance to expose as a virtual + table. This parameter cannot be null. + + + + + Constructs an instance of this class. + + + The name of the module. This parameter cannot be null. + + + The instance to expose as a virtual + table. This parameter cannot be null. + + + Non-zero if different object instances with the same value should + generate different row identifiers, where applicable. This + parameter has no effect on the .NET Compact Framework. + + + + + Sets the table error message to one that indicates the virtual + table cursor has no current row. + + + The object instance. + + + The value of . + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + Throws an if this object + instance has been disposed. + + + + + Disposes of this object instance. + + + Non-zero if this method is being called from the + method. Zero if this method is + being called from the finalizer. + + + + + This class represents a virtual table cursor to be used with the + class. It is not sealed and may + be used as the base class for any user-defined virtual table cursor + class that wraps an object instance. + + + + + The instance provided when this + cursor was created. + + + + + Constructs an instance of this class. + + + The object instance associated + with this object instance. + + + The instance to expose as a virtual + table cursor. + + + + + Returns the value for the current row of the virtual table cursor + using the property of the + object instance. + + + + + Closes the virtual table cursor. This method must not throw any + exceptions. + + + + + Throws an if this object + instance has been disposed. + + + + + Disposes of this object instance. + + + Non-zero if this method is being called from the + method. Zero if this method is + being called from the finalizer. + + + + + This class implements a virtual table module that exposes an + object instance as a read-only virtual + table. It is not sealed and may be used as the base class for any + user-defined virtual table class that wraps an + object instance. + + + + + The instance containing the backing + data for the virtual table. + + + + + Constructs an instance of this class. + + + The name of the module. This parameter cannot be null. + + + The instance to expose as a virtual + table. This parameter cannot be null. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + Throws an if this object + instance has been disposed. + + + + + Disposes of this object instance. + + + Non-zero if this method is being called from the + method. Zero if this method is + being called from the finalizer. + + + + + This class implements a virtual table module that does nothing by + providing "empty" implementations for all of the + interface methods. The result + codes returned by these "empty" method implementations may be + controlled on a per-method basis by using and/or overriding the + , + , + , + , and + methods from within derived classes. + + + + + This field is used to store the + values to return, on a per-method basis, for all methods that are + part of the interface. + + + + + Constructs an instance of this class. + + + The name of the module. This parameter cannot be null. + + + + + Determines the default value to be + returned by methods of the + interface that lack an overridden implementation in all classes + derived from the class. + + + The value that should be returned + by all interface methods unless + a more specific result code has been set for that interface method. + + + + + Converts a value into a boolean + return value for use with the + method. + + + The value to convert. + + + The value. + + + + + Converts a value into a boolean + return value for use with the + method. + + + The value to convert. + + + The value. + + + + + Determines the value that should be + returned by the specified + interface method if it lack an overridden implementation. If no + specific value is available (or set) + for the specified method, the value + returned by the method will be + returned instead. + + + The name of the method. Currently, this method must be part of + the interface. + + + The value that should be returned + by the interface method. + + + + + Sets the value that should be + returned by the specified + interface method if it lack an overridden implementation. + + + The name of the method. Currently, this method must be part of + the interface. + + + The value that should be returned + by the interface method. + + + Non-zero upon success. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + Throws an if this object + instance has been disposed. + + + + + Disposes of this object instance. + + + Non-zero if this method is being called from the + method. Zero if this method is + being called from the finalizer. + + + + + This enumerated type represents a type of conflict seen when apply + changes from a change set or patch set. + + + + + This value is seen when processing a DELETE or UPDATE change if a + row with the required PRIMARY KEY fields is present in the + database, but one or more other (non primary-key) fields modified + by the update do not contain the expected "before" values. + + + + + This value is seen when processing a DELETE or UPDATE change if a + row with the required PRIMARY KEY fields is not present in the + database. There is no conflicting row in this case. + + The results of invoking the + + method are undefined. + + + + + This value is seen when processing an INSERT change if the + operation would result in duplicate primary key values. + The conflicting row in this case is the database row with the + matching primary key. + + + + + If a non-foreign key constraint violation occurs while applying a + change (i.e. a UNIQUE, CHECK or NOT NULL constraint), the conflict + callback will see this value. + + There is no conflicting row in this case. The results of invoking + the + method are undefined. + + + + + If foreign key handling is enabled, and applying a changes leaves + the database in a state containing foreign key violations, this + value will be seen exactly once before the changes are committed. + If the conflict handler + , the changes, + including those that caused the foreign key constraint violation, + are committed. Or, if it returns + , the changes are + rolled back. + + No current or conflicting row information is provided. The only + method it is possible to call on the supplied + object is + . + + + + + This enumerated type represents the result of a user-defined conflict + resolution callback. + + + + + If a conflict callback returns this value no special action is + taken. The change that caused the conflict is not applied. The + application of changes continues with the next change. + + + + + This value may only be returned from a conflict callback if the + type of conflict was + or . If this is + not the case, any changes applied so far are rolled back and the + call to + + will raise a with an error code of + . + + If this value is returned for a + conflict, then the + conflicting row is either updated or deleted, depending on the type + of change. + + If this value is returned for a + conflict, then + the conflicting row is removed from the database and a second + attempt to apply the change is made. If this second attempt fails, + the original row is restored to the database before continuing. + + + + + If this value is returned, any changes applied so far are rolled + back and the call to + + will raise a with an error code of + . + + + + + This enumerated type represents possible flags that may be passed + to the appropriate overloads of various change set creation methods. + + + + + No special handling. + + + + + Invert the change set while iterating through it. + This is equivalent to inverting a change set using + before + applying it. It is an error to specify this flag + with a patch set. + + + + + This callback is invoked when a determination must be made about + whether changes to a specific table should be tracked -OR- applied. + It will not be called for tables that are already attached to a + . + + + The optional application-defined context data that was originally + passed to the or + + methods. This value may be null. + + + The name of the table. + + + Non-zero if changes to the table should be considered; otherwise, + zero. Throwing an exception from this callback will result in + undefined behavior. + + + + + This callback is invoked when there is a conflict while apply changes + to a database. + + + The optional application-defined context data that was originally + passed to the + + method. This value may be null. + + + The type of this conflict. + + + The object associated with + this conflict. This value may not be null; however, only properties + that are applicable to the conflict type will be available. Further + information on this is available within the descriptions of the + available values. + + + A value that indicates the + action to be taken in order to resolve the conflict. Throwing an + exception from this callback will result in undefined behavior. + + + + + This interface contains methods used to manipulate a set of changes for + a database. + + + + + This method "inverts" the set of changes within this instance. + Applying an inverted set of changes to a database reverses the + effects of applying the uninverted changes. Specifically: + ]]>]]> + Each DELETE change is changed to an INSERT, and + ]]>]]> + Each INSERT change is changed to a DELETE, and + ]]>]]> + For each UPDATE change, the old.* and new.* values are exchanged. + ]]>]]> + This method does not change the order in which changes appear + within the set of changes. It merely reverses the sense of each + individual change. + + + The new instance that represents + the resulting set of changes -OR- null if it is not available. + + + + + This method combines the specified set of changes with the ones + contained in this instance. + + + The changes to be combined with those in this instance. + + + The new instance that represents + the resulting set of changes -OR- null if it is not available. + + + + + Attempts to apply the set of changes in this instance to the + associated database. + + + The delegate that will need + to handle any conflicting changes that may arise. + + + The optional application-defined context data. This value may be + null. + + + + + Attempts to apply the set of changes in this instance to the + associated database. + + + The delegate that will need + to handle any conflicting changes that may arise. + + + The optional delegate + that can be used to filter the list of tables impacted by the set + of changes. + + + The optional application-defined context data. This value may be + null. + + + + + This interface contains methods used to manipulate multiple sets of + changes for a database. + + + + + Attempts to add a change set (or patch set) to this change group + instance. The underlying data must be contained entirely within + the byte array. + + + The raw byte data for the specified change set (or patch set). + + + + + Attempts to add a change set (or patch set) to this change group + instance. The underlying data will be read from the specified + . + + + The instance containing the raw change set + (or patch set) data to read. + + + + + Attempts to create and return, via , the + combined set of changes represented by this change group instance. + + + Upon success, this will contain the raw byte data for all the + changes in this change group instance. + + + + + Attempts to create and write, via , the + combined set of changes represented by this change group instance. + + + Upon success, the raw byte data for all the changes in this change + group instance will be written to this . + + + + + This interface contains properties and methods used to fetch metadata + about one change within a set of changes for a database. + + + + + The name of the table the change was made to. + + + + + The number of columns impacted by this change. This value can be + used to determine the highest valid column index that may be used + with the , , + and methods of this interface. It + will be this value minus one. + + + + + This will contain the value + , + , or + , corresponding to + the overall type of change this item represents. + + + + + Non-zero if this change is considered to be indirect (i.e. as + though they were made via a trigger or foreign key action). + + + + + This array contains a for each column in + the table associated with this change. The element will be zero + if the column is not part of the primary key; otherwise, it will + be non-zero. + + + + + This method may only be called from within a + delegate when the conflict + type is . It + returns the total number of known foreign key violations in the + destination database. + + + + + Queries and returns the original value of a given column for this + change. This method may only be called when the + has a value of + or + . + + + The index for the column. This value must be between zero and one + less than the total number of columns for this table. + + + The original value of a given column for this change. + + + + + Queries and returns the updated value of a given column for this + change. This method may only be called when the + has a value of + or + . + + + The index for the column. This value must be between zero and one + less than the total number of columns for this table. + + + The updated value of a given column for this change. + + + + + Queries and returns the conflicting value of a given column for + this change. This method may only be called from within a + delegate when the conflict + type is or + . + + + The index for the column. This value must be between zero and one + less than the total number of columns for this table. + + + The conflicting value of a given column for this change. + + + + + This interface contains methods to query and manipulate the state of a + change tracking session for a database. + + + + + Determines if this session is currently tracking changes to its + associated database. + + + Non-zero if changes to the associated database are being trakced; + otherwise, zero. + + + + + Enables tracking of changes to the associated database. + + + + + Disables tracking of changes to the associated database. + + + + + Determines if this session is currently set to mark changes as + indirect (i.e. as though they were made via a trigger or foreign + key action). + + + Non-zero if changes to the associated database are being marked as + indirect; otherwise, zero. + + + + + Sets the indirect flag for this session. Subsequent changes will + be marked as indirect until this flag is changed again. + + + + + Clears the indirect flag for this session. Subsequent changes will + be marked as direct until this flag is changed again. + + + + + Determines if there are any tracked changes currently within the + data for this session. + + + Non-zero if there are no changes within the data for this session; + otherwise, zero. + + + + + Upon success, causes changes to the specified table(s) to start + being tracked. Any tables impacted by calls to this method will + not cause the callback + to be invoked. + + + The name of the table to be tracked -OR- null to track all + applicable tables within this database. + + + + + This method is used to set the table filter for this instance. + + + The table filter callback -OR- null to clear any existing table + filter callback. + + + The optional application-defined context data. This value may be + null. + + + + + Attempts to create and return, via , the + combined set of changes represented by this session instance. + + + Upon success, this will contain the raw byte data for all the + changes in this session instance. + + + + + Attempts to create and write, via , the + combined set of changes represented by this session instance. + + + Upon success, the raw byte data for all the changes in this session + instance will be written to this . + + + + + Attempts to create and return, via , the + combined set of changes represented by this session instance as a + patch set. + + + Upon success, this will contain the raw byte data for all the + changes in this session instance. + + + + + Attempts to create and write, via , the + combined set of changes represented by this session instance as a + patch set. + + + Upon success, the raw byte data for all the changes in this session + instance will be written to this . + + + + + This method loads the differences between two tables [with the same + name, set of columns, and primary key definition] into this session + instance. + + + The name of the database containing the table with the original + data (i.e. it will need updating in order to be identical to the + one within the database associated with this session instance). + + + The name of the table. + + + + + This class contains some static helper methods for use within this + subsystem. + + + + + This method checks the byte array specified by the caller to make + sure it will be usable. + + + A byte array provided by the caller into one of the public methods + for the classes that belong to this subsystem. This value cannot + be null or represent an empty array; otherwise, an appropriate + exception will be thrown. + + + + + This class is used to hold the native connection handle associated with + a open until this subsystem is totally + done with it. This class is for internal use by this subsystem only. + + + + + The SQL statement used when creating the native statement handle. + There are no special requirements for this other than counting as + an "open statement handle". + + + + + The format of the error message used when reporting, during object + disposal, that the statement handle is still open (i.e. because + this situation is considered a fairly serious programming error). + + + + + The wrapped native connection handle associated with this lock. + + + + + The flags associated with the connection represented by the + value. + + + + + The native statement handle for this lock. The garbage collector + cannot cause this statement to be finalized; therefore, it will + serve to hold the associated native connection open until it is + freed manually using the method. + + + + + Constructs a new instance of this class using the specified wrapped + native connection handle and associated flags. + + + The wrapped native connection handle to be associated with this + lock. + + + The flags associated with the connection represented by the + value. + + + Non-zero if the method should be called prior + to returning from this constructor. + + + + + Queries and returns the wrapped native connection handle for this + instance. + + + The wrapped native connection handle for this instance -OR- null + if it is unavailable. + + + + + Queries and returns the flags associated with the connection for + this instance. + + + The value. There is no return + value reserved to indicate an error. + + + + + Queries and returns the native connection handle for this instance. + + + The native connection handle for this instance. If this value is + unavailable or invalid an exception will be thrown. + + + + + This method attempts to "lock" the associated native connection + handle by preparing a SQL statement that will not be finalized + until the method is called (i.e. and which + cannot be done by the garbage collector). If the statement is + already prepared, nothing is done. If the statement cannot be + prepared for any reason, an exception will be thrown. + + + + + This method attempts to "unlock" the associated native connection + handle by finalizing the previously prepared statement. If the + statement is already finalized, nothing is done. If the statement + cannot be finalized for any reason, an exception will be thrown. + + + + + Disposes of this object instance. + + + + + Non-zero if this object instance has been disposed. + + + + + Throws an exception if this object instance has been disposed. + + + + + Disposes or finalizes this object instance. + + + Non-zero if this object is being disposed; otherwise, this object + is being finalized. + + + + + Finalizes this object instance. + + + + + This class manages the native change set iterator. It is used as the + base class for the and + classes. It knows how to + advance the native iterator handle as well as finalize it. + + + + + The native change set (a.k.a. iterator) handle. + + + + + Non-zero if this instance owns the native iterator handle in the + field. In that case, this instance will + finalize the native iterator handle upon being disposed or + finalized. + + + + + Constructs a new instance of this class using the specified native + iterator handle. + + + The native iterator handle to use. + + + Non-zero if this instance is to take ownership of the native + iterator handle specified by . + + + + + Throws an exception if the native iterator handle is invalid. + + + + + Used to query the native iterator handle. This method is only used + by the class. + + + The native iterator handle -OR- if it + is not available. + + + + + Attempts to advance the native iterator handle to its next item. + + + Non-zero if the native iterator handle was advanced and contains + more data; otherwise, zero. If the underlying native API returns + an unexpected value then an exception will be thrown. + + + + + Attempts to create an instance of this class that is associated + with the specified native iterator handle. Ownership of the + native iterator handle is NOT transferred to the new instance of + this class. + + + The native iterator handle to use. + + + The new instance of this class. No return value is reserved to + indicate an error; however, if the native iterator handle is not + valid, any subsequent attempt to make use of it via the returned + instance of this class may throw exceptions. + + + + + Disposes of this object instance. + + + + + Non-zero if this object instance has been disposed. + + + + + Throws an exception if this object instance has been disposed. + + + + + Disposes or finalizes this object instance. + + + Non-zero if this object is being disposed; otherwise, this object + is being finalized. + + + + + Finalizes this object instance. + + + + + This class manages the native change set iterator for a set of changes + contained entirely in memory. + + + + + The native memory buffer allocated to contain the set of changes + associated with this instance. This will always be freed when this + instance is disposed or finalized. + + + + + Constructs an instance of this class using the specified native + memory buffer and native iterator handle. + + + The native memory buffer to use. + + + The native iterator handle to use. + + + Non-zero if this instance is to take ownership of the native + iterator handle specified by . + + + + + Attempts to create an instance of this class using the specified + raw byte data. + + + The raw byte data containing the set of changes for this native + iterator. + + + The new instance of this class -OR- null if it cannot be created. + + + + + Attempts to create an instance of this class using the specified + raw byte data. + + + The raw byte data containing the set of changes for this native + iterator. + + + The flags used to create the change set iterator. + + + The new instance of this class -OR- null if it cannot be created. + + + + + Non-zero if this object instance has been disposed. + + + + + Throws an exception if this object instance has been disposed. + + + + + Disposes or finalizes this object instance. + + + Non-zero if this object is being disposed; otherwise, this object + is being finalized. + + + + + This class manages the native change set iterator for a set of changes + backed by a instance. + + + + + The instance that is managing + the underlying used as the backing store for + the set of changes associated with this native change set iterator. + + + + + Constructs an instance of this class using the specified native + iterator handle and . + + + The instance to use. + + + The native iterator handle to use. + + + Non-zero if this instance is to take ownership of the native + iterator handle specified by . + + + + + Attempts to create an instance of this class using the specified + . + + + The where the raw byte data for the set of + changes may be read. + + + The flags associated with the parent connection. + + + The new instance of this class -OR- null if it cannot be created. + + + + + Attempts to create an instance of this class using the specified + . + + + The where the raw byte data for the set of + changes may be read. + + + The flags associated with the parent connection. + + + The flags used to create the change set iterator. + + + The new instance of this class -OR- null if it cannot be created. + + + + + Non-zero if this object instance has been disposed. + + + + + Throws an exception if this object instance has been disposed. + + + + + Disposes or finalizes this object instance. + + + Non-zero if this object is being disposed; otherwise, this object + is being finalized. + + + + + This class is used to act as a bridge between a + instance and the delegates used with the native streaming API. + + + + + The managed stream instance used to in order to service the native + delegates for both input and output. + + + + + The flags associated with the connection. + + + + + The delegate used to provide input to the native streaming API. + It will be null -OR- point to the method. + + + + + The delegate used to provide output to the native streaming API. + It will be null -OR- point to the method. + + + + + Constructs a new instance of this class using the specified managed + stream and connection flags. + + + The managed stream instance to be used in order to service the + native delegates for both input and output. + + + The flags associated with the parent connection. + + + + + Queries and returns the flags associated with the connection for + this instance. + + + The value. There is no return + value reserved to indicate an error. + + + + + Returns a delegate that wraps the method, + creating it first if necessary. + + + A delegate that refers to the method. + + + + + Returns a delegate that wraps the method, + creating it first if necessary. + + + A delegate that refers to the method. + + + + + This method attempts to read bytes from + the managed stream, writing them to the + buffer. + + + Optional extra context information. Currently, this will always + have a value of . + + + A preallocated native buffer to receive the requested input bytes. + It must be at least bytes in size. + + + Upon entry, the number of bytes to read. Upon exit, the number of + bytes actually read. This value may be zero upon exit. + + + The value upon success -OR- an + appropriate error code upon failure. + + + + + This method attempts to write bytes to + the managed stream, reading them from the + buffer. + + + Optional extra context information. Currently, this will always + have a value of . + + + A preallocated native buffer containing the requested output + bytes. It must be at least bytes in + size. + + + The number of bytes to write. + + + The value upon success -OR- an + appropriate error code upon failure. + + + + + Disposes of this object instance. + + + + + Non-zero if this object instance has been disposed. + + + + + Throws an exception if this object instance has been disposed. + + + + + Disposes or finalizes this object instance. + + + Non-zero if this object is being disposed; otherwise, this object + is being finalized. + + + + + Finalizes this object instance. + + + + + This class manages a collection of + instances. When used, it takes responsibility for creating, returning, + and disposing of its instances. + + + + + The managed collection of + instances, keyed by their associated + instance. + + + + + The flags associated with the connection. + + + + + Constructs a new instance of this class using the specified + connection flags. + + + The flags associated with the parent connection. + + + + + Makes sure the collection of + is created. + + + + + Makes sure the collection of + is disposed. + + + + + Attempts to return a instance + suitable for the specified . + + + The instance. If this value is null, a null + value will be returned. + + + A instance. Typically, these + are always freshly created; however, this method is designed to + return the existing instance + associated with the specified stream, should one exist. + + + + + Disposes of this object instance. + + + + + Non-zero if this object instance has been disposed. + + + + + Throws an exception if this object instance has been disposed. + + + + + Disposes or finalizes this object instance. + + + Non-zero if this object is being disposed; otherwise, this object + is being finalized. + + + + + Finalizes this object instance. + + + + + This class represents a group of change sets (or patch sets). + + + + + The instance associated + with this change group. + + + + + The flags associated with the connection. + + + + + The native handle for this change group. This will be deleted when + this instance is disposed or finalized. + + + + + Constructs a new instance of this class using the specified + connection flags. + + + The flags associated with the parent connection. + + + + + Throws an exception if the native change group handle is invalid. + + + + + Makes sure the native change group handle is valid, creating it if + necessary. + + + + + Makes sure the instance + is available, creating it if necessary. + + + + + Attempts to return a instance + suitable for the specified . + + + The instance. If this value is null, a null + value will be returned. + + + A instance. Typically, these + are always freshly created; however, this method is designed to + return the existing instance + associated with the specified stream, should one exist. + + + + + Attempts to add a change set (or patch set) to this change group + instance. The underlying data must be contained entirely within + the byte array. + + + The raw byte data for the specified change set (or patch set). + + + + + Attempts to add a change set (or patch set) to this change group + instance. The underlying data will be read from the specified + . + + + The instance containing the raw change set + (or patch set) data to read. + + + + + Attempts to create and return, via , the + combined set of changes represented by this change group instance. + + + Upon success, this will contain the raw byte data for all the + changes in this change group instance. + + + + + Attempts to create and write, via , the + combined set of changes represented by this change group instance. + + + Upon success, the raw byte data for all the changes in this change + group instance will be written to this . + + + + + Disposes of this object instance. + + + + + Non-zero if this object instance has been disposed. + + + + + Throws an exception if this object instance has been disposed. + + + + + Disposes or finalizes this object instance. + + + Non-zero if this object is being disposed; otherwise, this object + is being finalized. + + + + + Finalizes this object instance. + + + + + This class represents the change tracking session associated with a + database. + + + + + The instance associated + with this session. + + + + + The name of the database (e.g. "main") for this session. + + + + + The native handle for this session. This will be deleted when + this instance is disposed or finalized. + + + + + The delegate used to provide table filtering to the native API. + It will be null -OR- point to the method. + + + + + The managed callback used to filter tables for this session. Set + via the method. + + + + + The optional application-defined context data that was passed to + the method. This value may be null. + + + + + Constructs a new instance of this class using the specified wrapped + native connection handle and associated flags. + + + The wrapped native connection handle to be associated with this + session. + + + The flags associated with the connection represented by the + value. + + + The name of the database (e.g. "main") for this session. + + + + + Throws an exception if the native session handle is invalid. + + + + + Makes sure the native session handle is valid, creating it if + necessary. + + + + + This method sets up the internal table filtering associated state + of this instance. + + + The table filter callback -OR- null to clear any existing table + filter callback. + + + The optional application-defined context data. This value may be + null. + + + The native + delegate -OR- null to clear any existing table filter. + + + + + Makes sure the instance + is available, creating it if necessary. + + + + + Attempts to return a instance + suitable for the specified . + + + The instance. If this value is null, a null + value will be returned. + + + A instance. Typically, these + are always freshly created; however, this method is designed to + return the existing instance + associated with the specified stream, should one exist. + + + + + This method is called when determining if a table needs to be + included in the tracked changes for the associated database. + + + Optional extra context information. Currently, this will always + have a value of . + + + The native pointer to the name of the table. + + + Non-zero if changes to the specified table should be considered; + otherwise, zero. + + + + + Determines if this session is currently tracking changes to its + associated database. + + + Non-zero if changes to the associated database are being trakced; + otherwise, zero. + + + + + Enables tracking of changes to the associated database. + + + + + Disables tracking of changes to the associated database. + + + + + Determines if this session is currently set to mark changes as + indirect (i.e. as though they were made via a trigger or foreign + key action). + + + Non-zero if changes to the associated database are being marked as + indirect; otherwise, zero. + + + + + Sets the indirect flag for this session. Subsequent changes will + be marked as indirect until this flag is changed again. + + + + + Clears the indirect flag for this session. Subsequent changes will + be marked as direct until this flag is changed again. + + + + + Determines if there are any tracked changes currently within the + data for this session. + + + Non-zero if there are no changes within the data for this session; + otherwise, zero. + + + + + Upon success, causes changes to the specified table(s) to start + being tracked. Any tables impacted by calls to this method will + not cause the callback + to be invoked. + + + The name of the table to be tracked -OR- null to track all + applicable tables within this database. + + + + + This method is used to set the table filter for this instance. + + + The table filter callback -OR- null to clear any existing table + filter callback. + + + The optional application-defined context data. This value may be + null. + + + + + Attempts to create and return, via , the + set of changes represented by this session instance. + + + Upon success, this will contain the raw byte data for all the + changes in this session instance. + + + + + Attempts to create and write, via , the + set of changes represented by this session instance. + + + Upon success, the raw byte data for all the changes in this session + instance will be written to this . + + + + + Attempts to create and return, via , the + set of changes represented by this session instance as a patch set. + + + Upon success, this will contain the raw byte data for all the + changes in this session instance. + + + + + Attempts to create and write, via , the + set of changes represented by this session instance as a patch set. + + + Upon success, the raw byte data for all the changes in this session + instance will be written to this . + + + + + This method loads the differences between two tables [with the same + name, set of columns, and primary key definition] into this session + instance. + + + The name of the database containing the table with the original + data (i.e. it will need updating in order to be identical to the + one within the database associated with this session instance). + + + The name of the table. + + + + + Non-zero if this object instance has been disposed. + + + + + Throws an exception if this object instance has been disposed. + + + + + Disposes or finalizes this object instance. + + + Non-zero if this object is being disposed; otherwise, this object + is being finalized. + + + + + This class represents the abstract concept of a set of changes. It + acts as the base class for the + and classes. It derives from + the class, which is used to hold + the underlying native connection handle open until the instances of + this class are disposed or finalized. It also provides the ability + to construct wrapped native delegates of the + and + types. + + + + + Constructs an instance of this class using the specified wrapped + native connection handle. + + + The wrapped native connection handle to be associated with this + change set. + + + The flags associated with the connection represented by the + value. + + + + + Creates and returns a concrete implementation of the + interface. + + + The native iterator handle to use. + + + An instance of the + interface, which can be used to fetch metadata associated with + the current item in this set of changes. + + + + + Attempts to create a + native delegate + that invokes the specified + delegate. + + + The to invoke when the + native delegate + is called. If this value is null then null is returned. + + + The optional application-defined context data. This value may be + null. + + + The created + native delegate -OR- null if it cannot be created. + + + + + Attempts to create a + native delegate + that invokes the specified + delegate. + + + The to invoke when the + native delegate + is called. If this value is null then null is returned. + + + The optional application-defined context data. This value may be + null. + + + The created + native delegate -OR- null if it cannot be created. + + + + + Non-zero if this object instance has been disposed. + + + + + Throws an exception if this object instance has been disposed. + + + + + Disposes or finalizes this object instance. + + + Non-zero if this object is being disposed; otherwise, this object + is being finalized. + + + + + This class represents a set of changes contained entirely in memory. + + + + + The raw byte data for this set of changes. Since this data must + be marshalled to a native memory buffer before being used, there + must be enough memory available to store at least two times the + amount of data contained within it. + + + + + The flags used to create the change set iterator. + + + + + Constructs an instance of this class using the specified raw byte + data and wrapped native connection handle. + + + The raw byte data for the specified change set (or patch set). + + + The wrapped native connection handle to be associated with this + set of changes. + + + The flags associated with the connection represented by the + value. + + + + + Constructs an instance of this class using the specified raw byte + data and wrapped native connection handle. + + + The raw byte data for the specified change set (or patch set). + + + The wrapped native connection handle to be associated with this + set of changes. + + + The flags associated with the connection represented by the + value. + + + The flags used to create the change set iterator. + + + + + This method "inverts" the set of changes within this instance. + Applying an inverted set of changes to a database reverses the + effects of applying the uninverted changes. Specifically: + ]]>]]> + Each DELETE change is changed to an INSERT, and + ]]>]]> + Each INSERT change is changed to a DELETE, and + ]]>]]> + For each UPDATE change, the old.* and new.* values are exchanged. + ]]>]]> + This method does not change the order in which changes appear + within the set of changes. It merely reverses the sense of each + individual change. + + + The new instance that represents + the resulting set of changes. + + + + + This method combines the specified set of changes with the ones + contained in this instance. + + + The changes to be combined with those in this instance. + + + The new instance that represents + the resulting set of changes. + + + + + Attempts to apply the set of changes in this instance to the + associated database. + + + The delegate that will need + to handle any conflicting changes that may arise. + + + The optional application-defined context data. This value may be + null. + + + + + Attempts to apply the set of changes in this instance to the + associated database. + + + The delegate that will need + to handle any conflicting changes that may arise. + + + The optional delegate + that can be used to filter the list of tables impacted by the set + of changes. + + + The optional application-defined context data. This value may be + null. + + + + + Creates an capable of iterating over the + items within this set of changes. + + + The new + instance. + + + + + Creates an capable of iterating over the + items within this set of changes. + + + The new instance. + + + + + Non-zero if this object instance has been disposed. + + + + + Throws an exception if this object instance has been disposed. + + + + + Disposes or finalizes this object instance. + + + Non-zero if this object is being disposed; otherwise, this object + is being finalized. + + + + + This class represents a set of changes that are backed by a + instance. + + + + + The instance that is managing + the underlying input used as the backing + store for the set of changes associated with this instance. + + + + + The instance that is managing + the underlying output used as the backing + store for the set of changes generated by the + or methods. + + + + + The instance used as the backing store for + the set of changes associated with this instance. + + + + + The instance used as the backing store for + the set of changes generated by the or + methods. + + + + + The flags used to create the change set iterator. + + + + + Constructs an instance of this class using the specified streams + and wrapped native connection handle. + + + The where the raw byte data for the set of + changes may be read. + + + The where the raw byte data for resulting + sets of changes may be written. + + + The wrapped native connection handle to be associated with this + set of changes. + + + The flags associated with the connection represented by the + value. + + + + + Constructs an instance of this class using the specified streams + and wrapped native connection handle. + + + The where the raw byte data for the set of + changes may be read. + + + The where the raw byte data for resulting + sets of changes may be written. + + + The wrapped native connection handle to be associated with this + set of changes. + + + The flags associated with the connection represented by the + value. + + + The flags used to create the change set iterator. + + + + + Throws an exception if the input stream or its associated stream + adapter are invalid. + + + + + Throws an exception if the output stream or its associated stream + adapter are invalid. + + + + + This method "inverts" the set of changes within this instance. + Applying an inverted set of changes to a database reverses the + effects of applying the uninverted changes. Specifically: + ]]>]]> + Each DELETE change is changed to an INSERT, and + ]]>]]> + Each INSERT change is changed to a DELETE, and + ]]>]]> + For each UPDATE change, the old.* and new.* values are exchanged. + ]]>]]> + This method does not change the order in which changes appear + within the set of changes. It merely reverses the sense of each + individual change. + + + Since the resulting set of changes is written to the output stream, + this method always returns null. + + + + + This method combines the specified set of changes with the ones + contained in this instance. + + + The changes to be combined with those in this instance. + + + Since the resulting set of changes is written to the output stream, + this method always returns null. + + + + + Attempts to apply the set of changes in this instance to the + associated database. + + + The delegate that will need + to handle any conflicting changes that may arise. + + + The optional application-defined context data. This value may be + null. + + + + + Attempts to apply the set of changes in this instance to the + associated database. + + + The delegate that will need + to handle any conflicting changes that may arise. + + + The optional delegate + that can be used to filter the list of tables impacted by the set + of changes. + + + The optional application-defined context data. This value may be + null. + + + + + Creates an capable of iterating over the + items within this set of changes. + + + The new + instance. + + + + + Creates an capable of iterating over the + items within this set of changes. + + + The new instance. + + + + + Non-zero if this object instance has been disposed. + + + + + Throws an exception if this object instance has been disposed. + + + + + Disposes or finalizes this object instance. + + + Non-zero if this object is being disposed; otherwise, this object + is being finalized. + + + + + This class represents an that is capable of + enumerating over a set of changes. It serves as the base class for the + and + classes. It manages and + owns an instance of the class. + + + + + This managed change set iterator is managed and owned by this + class. It will be disposed when this class is disposed. + + + + + Constructs an instance of this class using the specified managed + change set iterator. + + + The managed iterator instance to use. + + + + + Throws an exception if the managed iterator instance is invalid. + + + + + Sets the managed iterator instance to a new value. + + + The new managed iterator instance to use. + + + + + Disposes of the managed iterator instance and sets its value to + null. + + + + + Disposes of the existing managed iterator instance and then sets it + to a new value. + + + The new managed iterator instance to use. + + + + + Returns the current change within the set of changes, represented + by a instance. + + + + + Returns the current change within the set of changes, represented + by a instance. + + + + + Attempts to advance to the next item in the set of changes. + + + Non-zero if more items are available; otherwise, zero. + + + + + Throws because not all the + derived classes are able to support reset functionality. + + + + + Disposes of this object instance. + + + + + Non-zero if this object instance has been disposed. + + + + + Throws an exception if this object instance has been disposed. + + + + + Disposes or finalizes this object instance. + + + Non-zero if this object is being disposed; otherwise, this object + is being finalized. + + + + + Finalizes this object instance. + + + + + This class represents an that is capable of + enumerating over a set of changes contained entirely in memory. + + + + + The raw byte data for this set of changes. Since this data must + be marshalled to a native memory buffer before being used, there + must be enough memory available to store at least two times the + amount of data contained within it. + + + + + The flags used to create the change set iterator. + + + + + Constructs an instance of this class using the specified raw byte + data. + + + The raw byte data containing the set of changes for this + enumerator. + + + + + Constructs an instance of this class using the specified raw byte + data. + + + The raw byte data containing the set of changes for this + enumerator. + + + The flags used to create the change set iterator. + + + + + Resets the enumerator to its initial position. + + + + + Non-zero if this object instance has been disposed. + + + + + Throws an exception if this object instance has been disposed. + + + + + Disposes or finalizes this object instance. + + + Non-zero if this object is being disposed; otherwise, this object + is being finalized. + + + + + This class represents an that is capable of + enumerating over a set of changes backed by a + instance. + + + + + Constructs an instance of this class using the specified stream. + + + The where the raw byte data for the set of + changes may be read. + + + The flags associated with the parent connection. + + + + + Constructs an instance of this class using the specified stream. + + + The where the raw byte data for the set of + changes may be read. + + + The flags associated with the parent connection. + + + The flags used to create the change set iterator. + + + + + Non-zero if this object instance has been disposed. + + + + + Throws an exception if this object instance has been disposed. + + + + + Disposes or finalizes this object instance. + + + Non-zero if this object is being disposed; otherwise, this object + is being finalized. + + + + + This interface implements properties and methods used to fetch metadata + about one change within a set of changes for a database. + + + + + The instance to use. This + will NOT be owned by this class and will not be disposed upon this + class being disposed or finalized. + + + + + Constructs an instance of this class using the specified iterator + instance. + + + The managed iterator instance to use. + + + + + Throws an exception if the managed iterator instance is invalid. + + + + + Populates the underlying data for the , + , , and + properties, using the appropriate native + API. + + + + + Populates the underlying data for the + property using the appropriate + native API. + + + + + Populates the underlying data for the + property using the + appropriate native API. + + + + + Backing field for the property. This value + will be null if this field has not yet been populated via the + underlying native API. + + + + + The name of the table the change was made to. + + + + + Backing field for the property. This + value will be null if this field has not yet been populated via the + underlying native API. + + + + + The number of columns impacted by this change. This value can be + used to determine the highest valid column index that may be used + with the , , + and methods of this interface. It + will be this value minus one. + + + + + Backing field for the property. This + value will be null if this field has not yet been populated via the + underlying native API. + + + + + This will contain the value + , + , or + , corresponding to + the overall type of change this item represents. + + + + + Backing field for the property. This value + will be null if this field has not yet been populated via the + underlying native API. + + + + + Non-zero if this change is considered to be indirect (i.e. as + though they were made via a trigger or foreign key action). + + + + + Backing field for the property. + This value will be null if this field has not yet been populated + via the underlying native API. + + + + + This array contains a for each column in + the table associated with this change. The element will be zero + if the column is not part of the primary key; otherwise, it will + be non-zero. + + + + + Backing field for the + property. This value will be null if this field has not yet been + populated via the underlying native API. + + + + + This method may only be called from within a + delegate when the conflict + type is . It + returns the total number of known foreign key violations in the + destination database. + + + + + Queries and returns the original value of a given column for this + change. This method may only be called when the + has a value of + or + . + + + The index for the column. This value must be between zero and one + less than the total number of columns for this table. + + + The original value of a given column for this change. + + + + + Queries and returns the updated value of a given column for this + change. This method may only be called when the + has a value of + or + . + + + The index for the column. This value must be between zero and one + less than the total number of columns for this table. + + + The updated value of a given column for this change. + + + + + Queries and returns the conflicting value of a given column for + this change. This method may only be called from within a + delegate when the conflict + type is or + . + + + The index for the column. This value must be between zero and one + less than the total number of columns for this table. + + + The conflicting value of a given column for this change. + + + + + Disposes of this object instance. + + + + + Non-zero if this object instance has been disposed. + + + + + Throws an exception if this object instance has been disposed. + + + + + Disposes or finalizes this object instance. + + + Non-zero if this object is being disposed; otherwise, this object + is being finalized. + + + + + Finalizes this object instance. + + +
+
diff --git a/packages/System.Data.SQLite.Core.1.0.112.1/runtimes/linux-x64/native/netstandard2.0/SQLite.Interop.dll b/packages/System.Data.SQLite.Core.1.0.112.1/runtimes/linux-x64/native/netstandard2.0/SQLite.Interop.dll new file mode 100644 index 0000000..75fee13 Binary files /dev/null and b/packages/System.Data.SQLite.Core.1.0.112.1/runtimes/linux-x64/native/netstandard2.0/SQLite.Interop.dll differ diff --git a/packages/System.Data.SQLite.Core.1.0.112.1/runtimes/osx-x64/native/netstandard2.0/SQLite.Interop.dll b/packages/System.Data.SQLite.Core.1.0.112.1/runtimes/osx-x64/native/netstandard2.0/SQLite.Interop.dll new file mode 100644 index 0000000..e41ae45 Binary files /dev/null and b/packages/System.Data.SQLite.Core.1.0.112.1/runtimes/osx-x64/native/netstandard2.0/SQLite.Interop.dll differ diff --git a/packages/System.Data.SQLite.Core.1.0.112.1/runtimes/win-x64/native/netstandard2.0/SQLite.Interop.dll b/packages/System.Data.SQLite.Core.1.0.112.1/runtimes/win-x64/native/netstandard2.0/SQLite.Interop.dll new file mode 100644 index 0000000..60430b3 Binary files /dev/null and b/packages/System.Data.SQLite.Core.1.0.112.1/runtimes/win-x64/native/netstandard2.0/SQLite.Interop.dll differ diff --git a/packages/System.Data.SQLite.Core.1.0.112.1/runtimes/win-x86/native/netstandard2.0/SQLite.Interop.dll b/packages/System.Data.SQLite.Core.1.0.112.1/runtimes/win-x86/native/netstandard2.0/SQLite.Interop.dll new file mode 100644 index 0000000..363d2d3 Binary files /dev/null and b/packages/System.Data.SQLite.Core.1.0.112.1/runtimes/win-x86/native/netstandard2.0/SQLite.Interop.dll differ diff --git a/packages/System.Runtime.CompilerServices.Unsafe.4.5.2/.signature.p7s b/packages/System.Runtime.CompilerServices.Unsafe.4.5.2/.signature.p7s new file mode 100644 index 0000000..a7fbb73 Binary files /dev/null and b/packages/System.Runtime.CompilerServices.Unsafe.4.5.2/.signature.p7s differ diff --git a/packages/System.Runtime.CompilerServices.Unsafe.4.5.2/LICENSE.TXT b/packages/System.Runtime.CompilerServices.Unsafe.4.5.2/LICENSE.TXT new file mode 100644 index 0000000..984713a --- /dev/null +++ b/packages/System.Runtime.CompilerServices.Unsafe.4.5.2/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/packages/System.Runtime.CompilerServices.Unsafe.4.5.2/System.Runtime.CompilerServices.Unsafe.4.5.2.nupkg b/packages/System.Runtime.CompilerServices.Unsafe.4.5.2/System.Runtime.CompilerServices.Unsafe.4.5.2.nupkg new file mode 100644 index 0000000..4f464e1 Binary files /dev/null and b/packages/System.Runtime.CompilerServices.Unsafe.4.5.2/System.Runtime.CompilerServices.Unsafe.4.5.2.nupkg differ diff --git a/packages/System.Runtime.CompilerServices.Unsafe.4.5.2/THIRD-PARTY-NOTICES.TXT b/packages/System.Runtime.CompilerServices.Unsafe.4.5.2/THIRD-PARTY-NOTICES.TXT new file mode 100644 index 0000000..db542ca --- /dev/null +++ b/packages/System.Runtime.CompilerServices.Unsafe.4.5.2/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/packages/System.Runtime.CompilerServices.Unsafe.4.5.2/lib/netcoreapp2.0/System.Runtime.CompilerServices.Unsafe.dll b/packages/System.Runtime.CompilerServices.Unsafe.4.5.2/lib/netcoreapp2.0/System.Runtime.CompilerServices.Unsafe.dll new file mode 100644 index 0000000..67d56ef Binary files /dev/null and b/packages/System.Runtime.CompilerServices.Unsafe.4.5.2/lib/netcoreapp2.0/System.Runtime.CompilerServices.Unsafe.dll differ diff --git a/packages/System.Runtime.CompilerServices.Unsafe.4.5.2/lib/netcoreapp2.0/System.Runtime.CompilerServices.Unsafe.xml b/packages/System.Runtime.CompilerServices.Unsafe.4.5.2/lib/netcoreapp2.0/System.Runtime.CompilerServices.Unsafe.xml new file mode 100644 index 0000000..6a7cfcf --- /dev/null +++ b/packages/System.Runtime.CompilerServices.Unsafe.4.5.2/lib/netcoreapp2.0/System.Runtime.CompilerServices.Unsafe.xml @@ -0,0 +1,200 @@ + + + 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 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. + true if left and right point to the same location; otherwise, false. + + + 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 TTo. + The reference to reinterpret. + The type of reference to reinterpret.. + The desired type of the reference. + A reference to a value of type TTo. + + + 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 location as a reference to a value of type T. + The location of the value to reference. + The type of the interpreted location. + A reference to a value of type T. + + + 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. target - origin. + + + Copies a value of type T to the given location. + The location to copy to. + A reference to the value to copy. + The type of value to copy. + + + Copies a value of type T to the given location. + The location to copy to. + A pointer 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. + + + Reads a value of type T from the given location. + The location to read from. + The type to read. + An object of type T read from the given location. + + + Reads a value of type T 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 T read from the given location. + + + Reads a value of type T 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 T 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 T. + + + 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 subraction 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 subraction of offset from pointer. + + + Subtracts a byte offset from the given reference. + The reference to subtract the offset from. + + The type of reference. + A new reference that reflects the subraction of byte offset from pointer. + + + Writes a value of type T to the given location. + The location to write to. + The value to write. + The type of value to write. + + + Writes a value of type T 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 T 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/packages/System.Runtime.CompilerServices.Unsafe.4.5.2/lib/netstandard1.0/System.Runtime.CompilerServices.Unsafe.dll b/packages/System.Runtime.CompilerServices.Unsafe.4.5.2/lib/netstandard1.0/System.Runtime.CompilerServices.Unsafe.dll new file mode 100644 index 0000000..d99e9f9 Binary files /dev/null and b/packages/System.Runtime.CompilerServices.Unsafe.4.5.2/lib/netstandard1.0/System.Runtime.CompilerServices.Unsafe.dll differ diff --git a/packages/System.Runtime.CompilerServices.Unsafe.4.5.2/lib/netstandard1.0/System.Runtime.CompilerServices.Unsafe.xml b/packages/System.Runtime.CompilerServices.Unsafe.4.5.2/lib/netstandard1.0/System.Runtime.CompilerServices.Unsafe.xml new file mode 100644 index 0000000..6a7cfcf --- /dev/null +++ b/packages/System.Runtime.CompilerServices.Unsafe.4.5.2/lib/netstandard1.0/System.Runtime.CompilerServices.Unsafe.xml @@ -0,0 +1,200 @@ + + + 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 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. + true if left and right point to the same location; otherwise, false. + + + 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 TTo. + The reference to reinterpret. + The type of reference to reinterpret.. + The desired type of the reference. + A reference to a value of type TTo. + + + 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 location as a reference to a value of type T. + The location of the value to reference. + The type of the interpreted location. + A reference to a value of type T. + + + 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. target - origin. + + + Copies a value of type T to the given location. + The location to copy to. + A reference to the value to copy. + The type of value to copy. + + + Copies a value of type T to the given location. + The location to copy to. + A pointer 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. + + + Reads a value of type T from the given location. + The location to read from. + The type to read. + An object of type T read from the given location. + + + Reads a value of type T 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 T read from the given location. + + + Reads a value of type T 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 T 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 T. + + + 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 subraction 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 subraction of offset from pointer. + + + Subtracts a byte offset from the given reference. + The reference to subtract the offset from. + + The type of reference. + A new reference that reflects the subraction of byte offset from pointer. + + + Writes a value of type T to the given location. + The location to write to. + The value to write. + The type of value to write. + + + Writes a value of type T 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 T 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/packages/System.Runtime.CompilerServices.Unsafe.4.5.2/lib/netstandard2.0/System.Runtime.CompilerServices.Unsafe.dll b/packages/System.Runtime.CompilerServices.Unsafe.4.5.2/lib/netstandard2.0/System.Runtime.CompilerServices.Unsafe.dll new file mode 100644 index 0000000..3156239 Binary files /dev/null and b/packages/System.Runtime.CompilerServices.Unsafe.4.5.2/lib/netstandard2.0/System.Runtime.CompilerServices.Unsafe.dll differ diff --git a/packages/System.Runtime.CompilerServices.Unsafe.4.5.2/lib/netstandard2.0/System.Runtime.CompilerServices.Unsafe.xml b/packages/System.Runtime.CompilerServices.Unsafe.4.5.2/lib/netstandard2.0/System.Runtime.CompilerServices.Unsafe.xml new file mode 100644 index 0000000..6a7cfcf --- /dev/null +++ b/packages/System.Runtime.CompilerServices.Unsafe.4.5.2/lib/netstandard2.0/System.Runtime.CompilerServices.Unsafe.xml @@ -0,0 +1,200 @@ + + + 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 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. + true if left and right point to the same location; otherwise, false. + + + 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 TTo. + The reference to reinterpret. + The type of reference to reinterpret.. + The desired type of the reference. + A reference to a value of type TTo. + + + 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 location as a reference to a value of type T. + The location of the value to reference. + The type of the interpreted location. + A reference to a value of type T. + + + 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. target - origin. + + + Copies a value of type T to the given location. + The location to copy to. + A reference to the value to copy. + The type of value to copy. + + + Copies a value of type T to the given location. + The location to copy to. + A pointer 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. + + + Reads a value of type T from the given location. + The location to read from. + The type to read. + An object of type T read from the given location. + + + Reads a value of type T 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 T read from the given location. + + + Reads a value of type T 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 T 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 T. + + + 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 subraction 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 subraction of offset from pointer. + + + Subtracts a byte offset from the given reference. + The reference to subtract the offset from. + + The type of reference. + A new reference that reflects the subraction of byte offset from pointer. + + + Writes a value of type T to the given location. + The location to write to. + The value to write. + The type of value to write. + + + Writes a value of type T 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 T 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/packages/System.Runtime.CompilerServices.Unsafe.4.5.2/ref/netstandard1.0/System.Runtime.CompilerServices.Unsafe.dll b/packages/System.Runtime.CompilerServices.Unsafe.4.5.2/ref/netstandard1.0/System.Runtime.CompilerServices.Unsafe.dll new file mode 100644 index 0000000..19ec356 Binary files /dev/null and b/packages/System.Runtime.CompilerServices.Unsafe.4.5.2/ref/netstandard1.0/System.Runtime.CompilerServices.Unsafe.dll differ diff --git a/packages/System.Runtime.CompilerServices.Unsafe.4.5.2/ref/netstandard1.0/System.Runtime.CompilerServices.Unsafe.xml b/packages/System.Runtime.CompilerServices.Unsafe.4.5.2/ref/netstandard1.0/System.Runtime.CompilerServices.Unsafe.xml new file mode 100644 index 0000000..6a7cfcf --- /dev/null +++ b/packages/System.Runtime.CompilerServices.Unsafe.4.5.2/ref/netstandard1.0/System.Runtime.CompilerServices.Unsafe.xml @@ -0,0 +1,200 @@ + + + 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 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. + true if left and right point to the same location; otherwise, false. + + + 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 TTo. + The reference to reinterpret. + The type of reference to reinterpret.. + The desired type of the reference. + A reference to a value of type TTo. + + + 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 location as a reference to a value of type T. + The location of the value to reference. + The type of the interpreted location. + A reference to a value of type T. + + + 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. target - origin. + + + Copies a value of type T to the given location. + The location to copy to. + A reference to the value to copy. + The type of value to copy. + + + Copies a value of type T to the given location. + The location to copy to. + A pointer 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. + + + Reads a value of type T from the given location. + The location to read from. + The type to read. + An object of type T read from the given location. + + + Reads a value of type T 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 T read from the given location. + + + Reads a value of type T 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 T 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 T. + + + 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 subraction 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 subraction of offset from pointer. + + + Subtracts a byte offset from the given reference. + The reference to subtract the offset from. + + The type of reference. + A new reference that reflects the subraction of byte offset from pointer. + + + Writes a value of type T to the given location. + The location to write to. + The value to write. + The type of value to write. + + + Writes a value of type T 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 T 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/packages/System.Runtime.CompilerServices.Unsafe.4.5.2/ref/netstandard2.0/System.Runtime.CompilerServices.Unsafe.dll b/packages/System.Runtime.CompilerServices.Unsafe.4.5.2/ref/netstandard2.0/System.Runtime.CompilerServices.Unsafe.dll new file mode 100644 index 0000000..9d99613 Binary files /dev/null and b/packages/System.Runtime.CompilerServices.Unsafe.4.5.2/ref/netstandard2.0/System.Runtime.CompilerServices.Unsafe.dll differ diff --git a/packages/System.Runtime.CompilerServices.Unsafe.4.5.2/ref/netstandard2.0/System.Runtime.CompilerServices.Unsafe.xml b/packages/System.Runtime.CompilerServices.Unsafe.4.5.2/ref/netstandard2.0/System.Runtime.CompilerServices.Unsafe.xml new file mode 100644 index 0000000..6a7cfcf --- /dev/null +++ b/packages/System.Runtime.CompilerServices.Unsafe.4.5.2/ref/netstandard2.0/System.Runtime.CompilerServices.Unsafe.xml @@ -0,0 +1,200 @@ + + + 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 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. + true if left and right point to the same location; otherwise, false. + + + 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 TTo. + The reference to reinterpret. + The type of reference to reinterpret.. + The desired type of the reference. + A reference to a value of type TTo. + + + 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 location as a reference to a value of type T. + The location of the value to reference. + The type of the interpreted location. + A reference to a value of type T. + + + 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. target - origin. + + + Copies a value of type T to the given location. + The location to copy to. + A reference to the value to copy. + The type of value to copy. + + + Copies a value of type T to the given location. + The location to copy to. + A pointer 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. + + + Reads a value of type T from the given location. + The location to read from. + The type to read. + An object of type T read from the given location. + + + Reads a value of type T 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 T read from the given location. + + + Reads a value of type T 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 T 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 T. + + + 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 subraction 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 subraction of offset from pointer. + + + Subtracts a byte offset from the given reference. + The reference to subtract the offset from. + + The type of reference. + A new reference that reflects the subraction of byte offset from pointer. + + + Writes a value of type T to the given location. + The location to write to. + The value to write. + The type of value to write. + + + Writes a value of type T 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 T 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/packages/System.Runtime.CompilerServices.Unsafe.4.5.2/useSharedDesignerContext.txt b/packages/System.Runtime.CompilerServices.Unsafe.4.5.2/useSharedDesignerContext.txt new file mode 100644 index 0000000..e69de29 diff --git a/packages/System.Runtime.CompilerServices.Unsafe.4.5.2/version.txt b/packages/System.Runtime.CompilerServices.Unsafe.4.5.2/version.txt new file mode 100644 index 0000000..6930860 --- /dev/null +++ b/packages/System.Runtime.CompilerServices.Unsafe.4.5.2/version.txt @@ -0,0 +1 @@ +02b11eeee1fbc5f3ef43a1452fe07efd25fa1715 diff --git a/packages/System.Threading.Tasks.Extensions.4.5.2/.signature.p7s b/packages/System.Threading.Tasks.Extensions.4.5.2/.signature.p7s new file mode 100644 index 0000000..b363b10 Binary files /dev/null and b/packages/System.Threading.Tasks.Extensions.4.5.2/.signature.p7s differ diff --git a/packages/System.Threading.Tasks.Extensions.4.5.2/LICENSE.TXT b/packages/System.Threading.Tasks.Extensions.4.5.2/LICENSE.TXT new file mode 100644 index 0000000..984713a --- /dev/null +++ b/packages/System.Threading.Tasks.Extensions.4.5.2/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/packages/System.Threading.Tasks.Extensions.4.5.2/System.Threading.Tasks.Extensions.4.5.2.nupkg b/packages/System.Threading.Tasks.Extensions.4.5.2/System.Threading.Tasks.Extensions.4.5.2.nupkg new file mode 100644 index 0000000..75ae560 Binary files /dev/null and b/packages/System.Threading.Tasks.Extensions.4.5.2/System.Threading.Tasks.Extensions.4.5.2.nupkg differ diff --git a/packages/System.Threading.Tasks.Extensions.4.5.2/THIRD-PARTY-NOTICES.TXT b/packages/System.Threading.Tasks.Extensions.4.5.2/THIRD-PARTY-NOTICES.TXT new file mode 100644 index 0000000..db542ca --- /dev/null +++ b/packages/System.Threading.Tasks.Extensions.4.5.2/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/packages/System.Threading.Tasks.Extensions.4.5.2/lib/MonoAndroid10/_._ b/packages/System.Threading.Tasks.Extensions.4.5.2/lib/MonoAndroid10/_._ new file mode 100644 index 0000000..e69de29 diff --git a/packages/System.Threading.Tasks.Extensions.4.5.2/lib/MonoTouch10/_._ b/packages/System.Threading.Tasks.Extensions.4.5.2/lib/MonoTouch10/_._ new file mode 100644 index 0000000..e69de29 diff --git a/packages/System.Threading.Tasks.Extensions.4.5.2/lib/netcoreapp2.1/_._ b/packages/System.Threading.Tasks.Extensions.4.5.2/lib/netcoreapp2.1/_._ new file mode 100644 index 0000000..e69de29 diff --git a/packages/System.Threading.Tasks.Extensions.4.5.2/lib/netstandard1.0/System.Threading.Tasks.Extensions.dll b/packages/System.Threading.Tasks.Extensions.4.5.2/lib/netstandard1.0/System.Threading.Tasks.Extensions.dll new file mode 100644 index 0000000..2460649 Binary files /dev/null and b/packages/System.Threading.Tasks.Extensions.4.5.2/lib/netstandard1.0/System.Threading.Tasks.Extensions.dll differ diff --git a/packages/System.Threading.Tasks.Extensions.4.5.2/lib/netstandard1.0/System.Threading.Tasks.Extensions.xml b/packages/System.Threading.Tasks.Extensions.4.5.2/lib/netstandard1.0/System.Threading.Tasks.Extensions.xml new file mode 100644 index 0000000..5e02a99 --- /dev/null +++ b/packages/System.Threading.Tasks.Extensions.4.5.2/lib/netstandard1.0/System.Threading.Tasks.Extensions.xml @@ -0,0 +1,166 @@ + + + System.Threading.Tasks.Extensions + + + + + + + + + + + + + + + + + + + Provides a value type that wraps a and a TResult, only one of which is used. + The result. + + + Initializes a new instance of the class using the supplied task that represents the operation. + The task. + The task argument is null. + + + Initializes a new instance of the class using the supplied result of a successful operation. + The result. + + + Retrieves a object that represents this . + The object that is wrapped in this if one exists, or a new object that represents the result. + + + Configures an awaiter for this value. + true to attempt to marshal the continuation back to the captured context; otherwise, false. + The configured awaiter. + + + Creates a method builder for use with an async method. + The created builder. + + + Determines whether the specified object is equal to the current object. + The object to compare with the current object. + true if the specified object is equal to the current object; otherwise, false. + + + Determines whether the specified object is equal to the current object. + The object to compare with the current object. + true if the specified object is equal to the current object; otherwise, false. + + + Creates an awaiter for this value. + The awaiter. + + + Returns the hash code for this instance. + The hash code for the current object. + + + Gets a value that indicates whether this object represents a canceled operation. + true if this object represents a canceled operation; otherwise, false. + + + Gets a value that indicates whether this object represents a completed operation. + true if this object represents a completed operation; otherwise, false. + + + Gets a value that indicates whether this object represents a successfully completed operation. + true if this object represents a successfully completed operation; otherwise, false. + + + Gets a value that indicates whether this object represents a failed operation. + true if this object represents a failed operation; otherwise, false. + + + Compares two values for equality. + The first value to compare. + The second value to compare. + true if the two values are equal; otherwise, false. + + + Determines whether two values are unequal. + The first value to compare. + The seconed value to compare. + true if the two values are not equal; otherwise, false. + + + Gets the result. + The result. + + + Returns a string that represents the current object. + A string that represents the current object. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/packages/System.Threading.Tasks.Extensions.4.5.2/lib/netstandard2.0/System.Threading.Tasks.Extensions.dll b/packages/System.Threading.Tasks.Extensions.4.5.2/lib/netstandard2.0/System.Threading.Tasks.Extensions.dll new file mode 100644 index 0000000..a99c907 Binary files /dev/null and b/packages/System.Threading.Tasks.Extensions.4.5.2/lib/netstandard2.0/System.Threading.Tasks.Extensions.dll differ diff --git a/packages/System.Threading.Tasks.Extensions.4.5.2/lib/netstandard2.0/System.Threading.Tasks.Extensions.xml b/packages/System.Threading.Tasks.Extensions.4.5.2/lib/netstandard2.0/System.Threading.Tasks.Extensions.xml new file mode 100644 index 0000000..5e02a99 --- /dev/null +++ b/packages/System.Threading.Tasks.Extensions.4.5.2/lib/netstandard2.0/System.Threading.Tasks.Extensions.xml @@ -0,0 +1,166 @@ + + + System.Threading.Tasks.Extensions + + + + + + + + + + + + + + + + + + + Provides a value type that wraps a and a TResult, only one of which is used. + The result. + + + Initializes a new instance of the class using the supplied task that represents the operation. + The task. + The task argument is null. + + + Initializes a new instance of the class using the supplied result of a successful operation. + The result. + + + Retrieves a object that represents this . + The object that is wrapped in this if one exists, or a new object that represents the result. + + + Configures an awaiter for this value. + true to attempt to marshal the continuation back to the captured context; otherwise, false. + The configured awaiter. + + + Creates a method builder for use with an async method. + The created builder. + + + Determines whether the specified object is equal to the current object. + The object to compare with the current object. + true if the specified object is equal to the current object; otherwise, false. + + + Determines whether the specified object is equal to the current object. + The object to compare with the current object. + true if the specified object is equal to the current object; otherwise, false. + + + Creates an awaiter for this value. + The awaiter. + + + Returns the hash code for this instance. + The hash code for the current object. + + + Gets a value that indicates whether this object represents a canceled operation. + true if this object represents a canceled operation; otherwise, false. + + + Gets a value that indicates whether this object represents a completed operation. + true if this object represents a completed operation; otherwise, false. + + + Gets a value that indicates whether this object represents a successfully completed operation. + true if this object represents a successfully completed operation; otherwise, false. + + + Gets a value that indicates whether this object represents a failed operation. + true if this object represents a failed operation; otherwise, false. + + + Compares two values for equality. + The first value to compare. + The second value to compare. + true if the two values are equal; otherwise, false. + + + Determines whether two values are unequal. + The first value to compare. + The seconed value to compare. + true if the two values are not equal; otherwise, false. + + + Gets the result. + The result. + + + Returns a string that represents the current object. + A string that represents the current object. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/packages/System.Threading.Tasks.Extensions.4.5.2/lib/portable-net45+win8+wp8+wpa81/System.Threading.Tasks.Extensions.dll b/packages/System.Threading.Tasks.Extensions.4.5.2/lib/portable-net45+win8+wp8+wpa81/System.Threading.Tasks.Extensions.dll new file mode 100644 index 0000000..2460649 Binary files /dev/null and b/packages/System.Threading.Tasks.Extensions.4.5.2/lib/portable-net45+win8+wp8+wpa81/System.Threading.Tasks.Extensions.dll differ diff --git a/packages/System.Threading.Tasks.Extensions.4.5.2/lib/portable-net45+win8+wp8+wpa81/System.Threading.Tasks.Extensions.xml b/packages/System.Threading.Tasks.Extensions.4.5.2/lib/portable-net45+win8+wp8+wpa81/System.Threading.Tasks.Extensions.xml new file mode 100644 index 0000000..5e02a99 --- /dev/null +++ b/packages/System.Threading.Tasks.Extensions.4.5.2/lib/portable-net45+win8+wp8+wpa81/System.Threading.Tasks.Extensions.xml @@ -0,0 +1,166 @@ + + + System.Threading.Tasks.Extensions + + + + + + + + + + + + + + + + + + + Provides a value type that wraps a and a TResult, only one of which is used. + The result. + + + Initializes a new instance of the class using the supplied task that represents the operation. + The task. + The task argument is null. + + + Initializes a new instance of the class using the supplied result of a successful operation. + The result. + + + Retrieves a object that represents this . + The object that is wrapped in this if one exists, or a new object that represents the result. + + + Configures an awaiter for this value. + true to attempt to marshal the continuation back to the captured context; otherwise, false. + The configured awaiter. + + + Creates a method builder for use with an async method. + The created builder. + + + Determines whether the specified object is equal to the current object. + The object to compare with the current object. + true if the specified object is equal to the current object; otherwise, false. + + + Determines whether the specified object is equal to the current object. + The object to compare with the current object. + true if the specified object is equal to the current object; otherwise, false. + + + Creates an awaiter for this value. + The awaiter. + + + Returns the hash code for this instance. + The hash code for the current object. + + + Gets a value that indicates whether this object represents a canceled operation. + true if this object represents a canceled operation; otherwise, false. + + + Gets a value that indicates whether this object represents a completed operation. + true if this object represents a completed operation; otherwise, false. + + + Gets a value that indicates whether this object represents a successfully completed operation. + true if this object represents a successfully completed operation; otherwise, false. + + + Gets a value that indicates whether this object represents a failed operation. + true if this object represents a failed operation; otherwise, false. + + + Compares two values for equality. + The first value to compare. + The second value to compare. + true if the two values are equal; otherwise, false. + + + Determines whether two values are unequal. + The first value to compare. + The seconed value to compare. + true if the two values are not equal; otherwise, false. + + + Gets the result. + The result. + + + Returns a string that represents the current object. + A string that represents the current object. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/packages/System.Threading.Tasks.Extensions.4.5.2/lib/xamarinios10/_._ b/packages/System.Threading.Tasks.Extensions.4.5.2/lib/xamarinios10/_._ new file mode 100644 index 0000000..e69de29 diff --git a/packages/System.Threading.Tasks.Extensions.4.5.2/lib/xamarinmac20/_._ b/packages/System.Threading.Tasks.Extensions.4.5.2/lib/xamarinmac20/_._ new file mode 100644 index 0000000..e69de29 diff --git a/packages/System.Threading.Tasks.Extensions.4.5.2/lib/xamarintvos10/_._ b/packages/System.Threading.Tasks.Extensions.4.5.2/lib/xamarintvos10/_._ new file mode 100644 index 0000000..e69de29 diff --git a/packages/System.Threading.Tasks.Extensions.4.5.2/lib/xamarinwatchos10/_._ b/packages/System.Threading.Tasks.Extensions.4.5.2/lib/xamarinwatchos10/_._ new file mode 100644 index 0000000..e69de29 diff --git a/packages/System.Threading.Tasks.Extensions.4.5.2/ref/MonoAndroid10/_._ b/packages/System.Threading.Tasks.Extensions.4.5.2/ref/MonoAndroid10/_._ new file mode 100644 index 0000000..e69de29 diff --git a/packages/System.Threading.Tasks.Extensions.4.5.2/ref/MonoTouch10/_._ b/packages/System.Threading.Tasks.Extensions.4.5.2/ref/MonoTouch10/_._ new file mode 100644 index 0000000..e69de29 diff --git a/packages/System.Threading.Tasks.Extensions.4.5.2/ref/netcoreapp2.1/_._ b/packages/System.Threading.Tasks.Extensions.4.5.2/ref/netcoreapp2.1/_._ new file mode 100644 index 0000000..e69de29 diff --git a/packages/System.Threading.Tasks.Extensions.4.5.2/ref/xamarinios10/_._ b/packages/System.Threading.Tasks.Extensions.4.5.2/ref/xamarinios10/_._ new file mode 100644 index 0000000..e69de29 diff --git a/packages/System.Threading.Tasks.Extensions.4.5.2/ref/xamarinmac20/_._ b/packages/System.Threading.Tasks.Extensions.4.5.2/ref/xamarinmac20/_._ new file mode 100644 index 0000000..e69de29 diff --git a/packages/System.Threading.Tasks.Extensions.4.5.2/ref/xamarintvos10/_._ b/packages/System.Threading.Tasks.Extensions.4.5.2/ref/xamarintvos10/_._ new file mode 100644 index 0000000..e69de29 diff --git a/packages/System.Threading.Tasks.Extensions.4.5.2/ref/xamarinwatchos10/_._ b/packages/System.Threading.Tasks.Extensions.4.5.2/ref/xamarinwatchos10/_._ new file mode 100644 index 0000000..e69de29 diff --git a/packages/System.Threading.Tasks.Extensions.4.5.2/useSharedDesignerContext.txt b/packages/System.Threading.Tasks.Extensions.4.5.2/useSharedDesignerContext.txt new file mode 100644 index 0000000..e69de29 diff --git a/packages/System.Threading.Tasks.Extensions.4.5.2/version.txt b/packages/System.Threading.Tasks.Extensions.4.5.2/version.txt new file mode 100644 index 0000000..16d4c56 --- /dev/null +++ b/packages/System.Threading.Tasks.Extensions.4.5.2/version.txt @@ -0,0 +1 @@ +99ce22c306b07f99ddae60f443d23a983ae78f7b