From 047c531ae6a674ba73ffb018ead6b2e184aa216c Mon Sep 17 00:00:00 2001 From: Jeremiah Peschka Date: Sun, 14 Jul 2013 09:40:53 -0700 Subject: [PATCH] First commit. Everything loads. --- SODDI_Setup/SODDI_Setup.vdproj | 956 ++++++++++++++++++ UpgradeLog.htm | Bin 0 -> 69270 bytes lib/MySql.Data.dll | Bin 0 -> 327680 bytes lib/System.Data.SQLite.dll | Bin 0 -> 886272 bytes soddi.sln | 40 + soddi/App.config | 38 + soddi/Configuration/Configuration.cs | 255 +++++ soddi/Configuration/DbProviderInfo.cs | 42 + soddi/Configuration/DbProviders.cs | 102 ++ soddi/GPL.TXT | 278 +++++ soddi/Gui/FrmAbout.Designer.cs | 63 ++ soddi/Gui/FrmAbout.cs | 35 + soddi/Gui/FrmAbout.resx | 120 +++ soddi/Gui/FrmCmdLine.Designer.cs | 58 ++ soddi/Gui/FrmCmdLine.cs | 28 + soddi/Gui/FrmCmdLine.resx | 120 +++ soddi/Gui/ListViewStyle.cs | 99 ++ soddi/Gui/frmUI.Designer.cs | 440 ++++++++ soddi/Gui/frmUI.cs | 360 +++++++ soddi/Gui/frmUI.resx | 156 +++ soddi/LICENSE.TXT | 15 + soddi/Loaders/BulkCopyBase.cs | 41 + soddi/Loaders/BulkCopyEventArgs.cs | 56 + soddi/Loaders/BulkCopyTask.cs | 204 ++++ soddi/Loaders/BulkLoadJob.cs | 112 ++ soddi/Loaders/BulkLoader.cs | 136 +++ soddi/Loaders/CopyEventType.cs | 23 + soddi/Loaders/ISoBase.cs | 19 + soddi/Loaders/ImportTarget.cs | 47 + soddi/Loaders/JobList.cs | 116 +++ soddi/Loaders/LoaderAttribute.cs | 30 + soddi/Loaders/MsSql/MSSqlInserter.cs | 109 ++ soddi/Loaders/MsSql/MsSqlBulkInserter.cs | 75 ++ soddi/Loaders/MySql/MySqlBulkInserter.cs | 119 +++ soddi/Loaders/MySql/MySqlInserter.cs | 95 ++ soddi/Loaders/SQLite/SQLiteBulkInserter.cs | 136 +++ soddi/Loaders/SQLite/SQLiteInserter.cs | 183 ++++ soddi/Loaders/Scripts/mssql.sql | 261 +++++ soddi/Loaders/Scripts/mysql.sql | 191 ++++ soddi/Loaders/Scripts/sqlite-main.sql | 114 +++ soddi/Loaders/Scripts/sqlite-tmp.sql | 87 ++ soddi/Loaders/SoBase.cs | 155 +++ soddi/Loaders/TaskList.cs | 104 ++ soddi/MIT.TXT | 20 + soddi/Program.cs | 91 ++ soddi/Properties/AssemblyInfo.cs | 39 + soddi/Properties/Resources.Designer.cs | 81 ++ soddi/Properties/Resources.resx | 126 +++ soddi/Properties/Settings.Designer.cs | 98 ++ soddi/Properties/Settings.settings | 24 + soddi/README.txt | 126 +++ soddi/ReadMe.htm | 141 +++ soddi/Salient.Data/EnumerableDataReader.cs | 122 +++ soddi/Salient.Data/ObjectDataReader.cs | 551 ++++++++++ soddi/Salient.Reflection/DynamicProperties.cs | 163 +++ soddi/TableTypes/Badges.cs | 44 + soddi/TableTypes/Comments.cs | 48 + soddi/TableTypes/PostTags.cs | 39 + soddi/TableTypes/Posts.cs | 76 ++ soddi/TableTypes/Users.cs | 62 ++ soddi/TableTypes/Votes.cs | 48 + soddi/Tools/Common.cs | 256 +++++ soddi/soddi.csproj | 281 +++++ soddi/soddi_TemporaryKey.pfx | Bin 0 -> 1652 bytes 64 files changed, 8054 insertions(+) create mode 100644 SODDI_Setup/SODDI_Setup.vdproj create mode 100644 UpgradeLog.htm create mode 100644 lib/MySql.Data.dll create mode 100644 lib/System.Data.SQLite.dll create mode 100644 soddi.sln create mode 100644 soddi/App.config create mode 100644 soddi/Configuration/Configuration.cs create mode 100644 soddi/Configuration/DbProviderInfo.cs create mode 100644 soddi/Configuration/DbProviders.cs create mode 100644 soddi/GPL.TXT create mode 100644 soddi/Gui/FrmAbout.Designer.cs create mode 100644 soddi/Gui/FrmAbout.cs create mode 100644 soddi/Gui/FrmAbout.resx create mode 100644 soddi/Gui/FrmCmdLine.Designer.cs create mode 100644 soddi/Gui/FrmCmdLine.cs create mode 100644 soddi/Gui/FrmCmdLine.resx create mode 100644 soddi/Gui/ListViewStyle.cs create mode 100644 soddi/Gui/frmUI.Designer.cs create mode 100644 soddi/Gui/frmUI.cs create mode 100644 soddi/Gui/frmUI.resx create mode 100644 soddi/LICENSE.TXT create mode 100644 soddi/Loaders/BulkCopyBase.cs create mode 100644 soddi/Loaders/BulkCopyEventArgs.cs create mode 100644 soddi/Loaders/BulkCopyTask.cs create mode 100644 soddi/Loaders/BulkLoadJob.cs create mode 100644 soddi/Loaders/BulkLoader.cs create mode 100644 soddi/Loaders/CopyEventType.cs create mode 100644 soddi/Loaders/ISoBase.cs create mode 100644 soddi/Loaders/ImportTarget.cs create mode 100644 soddi/Loaders/JobList.cs create mode 100644 soddi/Loaders/LoaderAttribute.cs create mode 100644 soddi/Loaders/MsSql/MSSqlInserter.cs create mode 100644 soddi/Loaders/MsSql/MsSqlBulkInserter.cs create mode 100644 soddi/Loaders/MySql/MySqlBulkInserter.cs create mode 100644 soddi/Loaders/MySql/MySqlInserter.cs create mode 100644 soddi/Loaders/SQLite/SQLiteBulkInserter.cs create mode 100644 soddi/Loaders/SQLite/SQLiteInserter.cs create mode 100644 soddi/Loaders/Scripts/mssql.sql create mode 100644 soddi/Loaders/Scripts/mysql.sql create mode 100644 soddi/Loaders/Scripts/sqlite-main.sql create mode 100644 soddi/Loaders/Scripts/sqlite-tmp.sql create mode 100644 soddi/Loaders/SoBase.cs create mode 100644 soddi/Loaders/TaskList.cs create mode 100644 soddi/MIT.TXT create mode 100644 soddi/Program.cs create mode 100644 soddi/Properties/AssemblyInfo.cs create mode 100644 soddi/Properties/Resources.Designer.cs create mode 100644 soddi/Properties/Resources.resx create mode 100644 soddi/Properties/Settings.Designer.cs create mode 100644 soddi/Properties/Settings.settings create mode 100644 soddi/README.txt create mode 100644 soddi/ReadMe.htm create mode 100644 soddi/Salient.Data/EnumerableDataReader.cs create mode 100644 soddi/Salient.Data/ObjectDataReader.cs create mode 100644 soddi/Salient.Reflection/DynamicProperties.cs create mode 100644 soddi/TableTypes/Badges.cs create mode 100644 soddi/TableTypes/Comments.cs create mode 100644 soddi/TableTypes/PostTags.cs create mode 100644 soddi/TableTypes/Posts.cs create mode 100644 soddi/TableTypes/Users.cs create mode 100644 soddi/TableTypes/Votes.cs create mode 100644 soddi/Tools/Common.cs create mode 100644 soddi/soddi.csproj create mode 100644 soddi/soddi_TemporaryKey.pfx diff --git a/SODDI_Setup/SODDI_Setup.vdproj b/SODDI_Setup/SODDI_Setup.vdproj new file mode 100644 index 0000000..c6db4b2 --- /dev/null +++ b/SODDI_Setup/SODDI_Setup.vdproj @@ -0,0 +1,956 @@ +"DeployProject" +{ +"VSVersion" = "3:800" +"ProjectType" = "8:{978C614F-708E-4E1A-B201-565925725DBA}" +"IsWebType" = "8:FALSE" +"ProjectName" = "8:SODDI_Setup" +"LanguageId" = "3:1033" +"CodePage" = "3:1252" +"UILanguageId" = "3:1033" +"SccProjectName" = "8:" +"SccLocalPath" = "8:" +"SccAuxPath" = "8:" +"SccProvider" = "8:" + "Hierarchy" + { + "Entry" + { + "MsmKey" = "8:_7CDE342D3E540A39C89BCDACCB395E21" + "OwnerKey" = "8:_E128584B507D40A69BA89300B7920E85" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_BC1A86CD4604DECDD2E423DC77DAF1B8" + "OwnerKey" = "8:_E128584B507D40A69BA89300B7920E85" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_DA939F763A8C4902A9D571FB2698E94D" + "OwnerKey" = "8:_UNDEFINED" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_E128584B507D40A69BA89300B7920E85" + "OwnerKey" = "8:_UNDEFINED" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_UNDEFINED" + "OwnerKey" = "8:_E128584B507D40A69BA89300B7920E85" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_UNDEFINED" + "OwnerKey" = "8:_7CDE342D3E540A39C89BCDACCB395E21" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_UNDEFINED" + "OwnerKey" = "8:_BC1A86CD4604DECDD2E423DC77DAF1B8" + "MsmSig" = "8:_UNDEFINED" + } + } + "Configurations" + { + "Debug" + { + "DisplayName" = "8:Debug" + "IsDebugOnly" = "11:TRUE" + "IsReleaseOnly" = "11:FALSE" + "OutputFilename" = "8:debug\\soddi.11.msi" + "PackageFilesAs" = "3:2" + "PackageFileSize" = "3:-2147483648" + "CabType" = "3:1" + "Compression" = "3:2" + "SignOutput" = "11:FALSE" + "CertificateFile" = "8:" + "PrivateKeyFile" = "8:" + "TimeStampServer" = "8:" + "InstallerBootstrapper" = "3:2" + "BootstrapperCfg:{63ACBE69-63AA-4F98-B2B6-99F9E24495F2}" + { + "Enabled" = "11:TRUE" + "PromptEnabled" = "11:TRUE" + "PrerequisitesLocation" = "2:1" + "Url" = "8:" + "ComponentsUrl" = "8:" + "Items" + { + "{EDC2488A-8267-493A-A98E-7D9C3B36CDF3}:Microsoft.Net.Framework.3.5.SP1" + { + "Name" = "8:.NET Framework 3.5 SP1" + "ProductCode" = "8:Microsoft.Net.Framework.3.5.SP1" + } + "{EDC2488A-8267-493A-A98E-7D9C3B36CDF3}:Microsoft.Windows.Installer.3.1" + { + "Name" = "8:Windows Installer 3.1" + "ProductCode" = "8:Microsoft.Windows.Installer.3.1" + } + } + } + } + "Release" + { + "DisplayName" = "8:Release" + "IsDebugOnly" = "11:FALSE" + "IsReleaseOnly" = "11:TRUE" + "OutputFilename" = "8:release\\soddi.11.msi" + "PackageFilesAs" = "3:2" + "PackageFileSize" = "3:-2147483648" + "CabType" = "3:1" + "Compression" = "3:2" + "SignOutput" = "11:FALSE" + "CertificateFile" = "8:" + "PrivateKeyFile" = "8:" + "TimeStampServer" = "8:" + "InstallerBootstrapper" = "3:2" + "BootstrapperCfg:{63ACBE69-63AA-4F98-B2B6-99F9E24495F2}" + { + "Enabled" = "11:TRUE" + "PromptEnabled" = "11:TRUE" + "PrerequisitesLocation" = "2:1" + "Url" = "8:" + "ComponentsUrl" = "8:" + "Items" + { + "{EDC2488A-8267-493A-A98E-7D9C3B36CDF3}:Microsoft.Net.Framework.3.5.SP1" + { + "Name" = "8:.NET Framework 3.5 SP1" + "ProductCode" = "8:Microsoft.Net.Framework.3.5.SP1" + } + "{EDC2488A-8267-493A-A98E-7D9C3B36CDF3}:Microsoft.Windows.Installer.3.1" + { + "Name" = "8:Windows Installer 3.1" + "ProductCode" = "8:Microsoft.Windows.Installer.3.1" + } + } + } + } + } + "Deployable" + { + "CustomAction" + { + } + "DefaultFeature" + { + "Name" = "8:DefaultFeature" + "Title" = "8:" + "Description" = "8:" + } + "ExternalPersistence" + { + "LaunchCondition" + { + "{A06ECF26-33A3-4562-8140-9B0E340D4F24}:_B95E792856324F9F9E6614B5312FC4DF" + { + "Name" = "8:.NET Framework" + "Message" = "8:[VSDNETMSG]" + "Version" = "8:3.5.30729" + "AllowLaterVersions" = "11:FALSE" + "InstallUrl" = "8:http://go.microsoft.com/fwlink/?LinkId=76617" + } + } + } + "File" + { + "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_7CDE342D3E540A39C89BCDACCB395E21" + { + "AssemblyRegister" = "3:1" + "AssemblyIsInGAC" = "11:FALSE" + "AssemblyAsmDisplayName" = "8:System.Data.SQLite, Version=1.0.65.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=x86" + "ScatterAssemblies" + { + "_7CDE342D3E540A39C89BCDACCB395E21" + { + "Name" = "8:System.Data.SQLite.dll" + "Attributes" = "3:512" + } + } + "SourcePath" = "8:System.Data.SQLite.dll" + "TargetName" = "8:" + "Tag" = "8:" + "Folder" = "8:_ED917B8630934D53AECC1BE99182E7CF" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Vital" = "11:TRUE" + "ReadOnly" = "11:FALSE" + "Hidden" = "11:FALSE" + "System" = "11:FALSE" + "Permanent" = "11:FALSE" + "SharedLegacy" = "11:FALSE" + "PackageAs" = "3:1" + "Register" = "3:1" + "Exclude" = "11:FALSE" + "IsDependency" = "11:TRUE" + "IsolateTo" = "8:" + } + "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_BC1A86CD4604DECDD2E423DC77DAF1B8" + { + "AssemblyRegister" = "3:1" + "AssemblyIsInGAC" = "11:FALSE" + "AssemblyAsmDisplayName" = "8:MySql.Data, Version=6.2.2.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d, processorArchitecture=MSIL" + "ScatterAssemblies" + { + "_BC1A86CD4604DECDD2E423DC77DAF1B8" + { + "Name" = "8:MySql.Data.dll" + "Attributes" = "3:512" + } + } + "SourcePath" = "8:MySql.Data.dll" + "TargetName" = "8:" + "Tag" = "8:" + "Folder" = "8:_ED917B8630934D53AECC1BE99182E7CF" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Vital" = "11:TRUE" + "ReadOnly" = "11:FALSE" + "Hidden" = "11:FALSE" + "System" = "11:FALSE" + "Permanent" = "11:FALSE" + "SharedLegacy" = "11:FALSE" + "PackageAs" = "3:1" + "Register" = "3:1" + "Exclude" = "11:FALSE" + "IsDependency" = "11:TRUE" + "IsolateTo" = "8:" + } + "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_DA939F763A8C4902A9D571FB2698E94D" + { + "SourcePath" = "8:..\\soddi\\ReadMe.htm" + "TargetName" = "8:ReadMe.htm" + "Tag" = "8:" + "Folder" = "8:_F8E6D8D86CA249E78D1FD02EB0B5E40B" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Vital" = "11:TRUE" + "ReadOnly" = "11:FALSE" + "Hidden" = "11:FALSE" + "System" = "11:FALSE" + "Permanent" = "11:FALSE" + "SharedLegacy" = "11:FALSE" + "PackageAs" = "3:1" + "Register" = "3:1" + "Exclude" = "11:FALSE" + "IsDependency" = "11:FALSE" + "IsolateTo" = "8:" + } + } + "FileType" + { + } + "Folder" + { + "{1525181F-901A-416C-8A58-119130FE478E}:_5FF2D5B07D604E128503797C40086E5A" + { + "Name" = "8:#1919" + "AlwaysCreate" = "11:FALSE" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Property" = "8:ProgramMenuFolder" + "Folders" + { + "{9EF0B969-E518-4E46-987F-47570745A589}:_8DBD990791BB4B52B73919C75484F1A8" + { + "Name" = "8:Salient Solutions" + "AlwaysCreate" = "11:FALSE" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Property" = "8:_0E89D587034E42CC918C9D5A415AFD9B" + "Folders" + { + "{9EF0B969-E518-4E46-987F-47570745A589}:_F8E6D8D86CA249E78D1FD02EB0B5E40B" + { + "Name" = "8:SODDI" + "AlwaysCreate" = "11:FALSE" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Property" = "8:_7D1D9B453CC841229928270655F1A9E9" + "Folders" + { + } + } + } + } + } + } + "{1525181F-901A-416C-8A58-119130FE478E}:_7DD749232A9A4E8FBBBFB3EDF2A2D46C" + { + "Name" = "8:#1916" + "AlwaysCreate" = "11:FALSE" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Property" = "8:DesktopFolder" + "Folders" + { + } + } + "{3C67513D-01DD-4637-8A68-80971EB9504F}:_ED917B8630934D53AECC1BE99182E7CF" + { + "DefaultLocation" = "8:[ProgramFilesFolder][Manufacturer]\\[ProductName]" + "Name" = "8:#1925" + "AlwaysCreate" = "11:FALSE" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Property" = "8:TARGETDIR" + "Folders" + { + } + } + } + "LaunchCondition" + { + } + "Locator" + { + } + "MsiBootstrapper" + { + "LangId" = "3:1033" + "RequiresElevation" = "11:FALSE" + } + "Product" + { + "Name" = "8:Microsoft Visual Studio" + "ProductName" = "8:SODDI v.10" + "ProductCode" = "8:{499D2130-3E99-4594-AEC7-E27E5753F40C}" + "PackageCode" = "8:{E31288F2-0ADC-4BBD-8F2D-8B5C1F238AE0}" + "UpgradeCode" = "8:{F4F718BB-8942-424F-A45E-CEE175034977}" + "RestartWWWService" = "11:FALSE" + "RemovePreviousVersions" = "11:TRUE" + "DetectNewerInstalledVersion" = "11:TRUE" + "InstallAllUsers" = "11:FALSE" + "ProductVersion" = "8:00.10.000" + "Manufacturer" = "8:Salient Solutions" + "ARPHELPTELEPHONE" = "8:" + "ARPHELPLINK" = "8:http://skysanders.net/tools/se" + "Title" = "8:SODDI Setup" + "Subject" = "8:" + "ARPCONTACT" = "8:Sky Sanders" + "Keywords" = "8:" + "ARPCOMMENTS" = "8:StackOverflow Data Dump Import Utility" + "ARPURLINFOABOUT" = "8:http://skysanders.net/tools/se" + "ARPPRODUCTICON" = "8:" + "ARPIconIndex" = "3:0" + "SearchPath" = "8:" + "UseSystemSearchPath" = "11:TRUE" + "TargetPlatform" = "3:0" + "PreBuildEvent" = "8:" + "PostBuildEvent" = "8:" + "RunPostBuildEvent" = "3:0" + } + "Registry" + { + "HKLM" + { + "Keys" + { + "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_85C50411E9F24B6F802C0315CE5B698B" + { + "Name" = "8:Software" + "Condition" = "8:" + "AlwaysCreate" = "11:FALSE" + "DeleteAtUninstall" = "11:FALSE" + "Transitive" = "11:FALSE" + "Keys" + { + "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_6940BB7F08054A0F91EF594E750DE185" + { + "Name" = "8:[Manufacturer]" + "Condition" = "8:" + "AlwaysCreate" = "11:FALSE" + "DeleteAtUninstall" = "11:FALSE" + "Transitive" = "11:FALSE" + "Keys" + { + } + "Values" + { + } + } + } + "Values" + { + } + } + } + } + "HKCU" + { + "Keys" + { + "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_E3F1AFA80B294CE48015996AFA14A52D" + { + "Name" = "8:Software" + "Condition" = "8:" + "AlwaysCreate" = "11:FALSE" + "DeleteAtUninstall" = "11:FALSE" + "Transitive" = "11:FALSE" + "Keys" + { + "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_0618572DFC6B4B7C82D5BFB92127789E" + { + "Name" = "8:[Manufacturer]" + "Condition" = "8:" + "AlwaysCreate" = "11:FALSE" + "DeleteAtUninstall" = "11:FALSE" + "Transitive" = "11:FALSE" + "Keys" + { + } + "Values" + { + } + } + } + "Values" + { + } + } + } + } + "HKCR" + { + "Keys" + { + } + } + "HKU" + { + "Keys" + { + } + } + "HKPU" + { + "Keys" + { + } + } + } + "Sequences" + { + } + "Shortcut" + { + "{970C0BB2-C7D0-45D7-ABFA-7EC378858BC0}:_5B3A0E6684C84F26977CAB2B0B704BD3" + { + "Name" = "8:SODDI v.10" + "Arguments" = "8:" + "Description" = "8:" + "ShowCmd" = "3:1" + "IconIndex" = "3:0" + "Transitive" = "11:FALSE" + "Target" = "8:_E128584B507D40A69BA89300B7920E85" + "Folder" = "8:_F8E6D8D86CA249E78D1FD02EB0B5E40B" + "WorkingFolder" = "8:_ED917B8630934D53AECC1BE99182E7CF" + "Icon" = "8:" + "Feature" = "8:" + } + "{970C0BB2-C7D0-45D7-ABFA-7EC378858BC0}:_BB444341D55C4B60AF673545F43E6228" + { + "Name" = "8:SODDI v.10" + "Arguments" = "8:" + "Description" = "8:" + "ShowCmd" = "3:1" + "IconIndex" = "3:0" + "Transitive" = "11:FALSE" + "Target" = "8:_E128584B507D40A69BA89300B7920E85" + "Folder" = "8:_7DD749232A9A4E8FBBBFB3EDF2A2D46C" + "WorkingFolder" = "8:_ED917B8630934D53AECC1BE99182E7CF" + "Icon" = "8:" + "Feature" = "8:" + } + } + "UserInterface" + { + "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_2AD1CA84D8F14466AAF340A40F96613B" + { + "Name" = "8:#1902" + "Sequence" = "3:1" + "Attributes" = "3:3" + "Dialogs" + { + "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_E244D53B1754452F9E3031B76651501A" + { + "Sequence" = "3:100" + "DisplayName" = "8:Finished" + "UseDynamicProperties" = "11:TRUE" + "IsDependency" = "11:FALSE" + "SourcePath" = "8:\\VsdFinishedDlg.wid" + "Properties" + { + "BannerBitmap" + { + "Name" = "8:BannerBitmap" + "DisplayName" = "8:#1001" + "Description" = "8:#1101" + "Type" = "3:8" + "ContextData" = "8:Bitmap" + "Attributes" = "3:4" + "Setting" = "3:1" + "UsePlugInResources" = "11:TRUE" + } + "UpdateText" + { + "Name" = "8:UpdateText" + "DisplayName" = "8:#1058" + "Description" = "8:#1158" + "Type" = "3:15" + "ContextData" = "8:" + "Attributes" = "3:0" + "Setting" = "3:1" + "Value" = "8:#1258" + "DefaultValue" = "8:#1258" + "UsePlugInResources" = "11:TRUE" + } + } + } + } + } + "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_317F31774A784171AAAD3981E9F1694F" + { + "Name" = "8:#1902" + "Sequence" = "3:2" + "Attributes" = "3:3" + "Dialogs" + { + "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_9AC3D8402DC94C889AB45FD3D9A12DB0" + { + "Sequence" = "3:100" + "DisplayName" = "8:Finished" + "UseDynamicProperties" = "11:TRUE" + "IsDependency" = "11:FALSE" + "SourcePath" = "8:\\VsdAdminFinishedDlg.wid" + "Properties" + { + "BannerBitmap" + { + "Name" = "8:BannerBitmap" + "DisplayName" = "8:#1001" + "Description" = "8:#1101" + "Type" = "3:8" + "ContextData" = "8:Bitmap" + "Attributes" = "3:4" + "Setting" = "3:1" + "UsePlugInResources" = "11:TRUE" + } + } + } + } + } + "{2479F3F5-0309-486D-8047-8187E2CE5BA0}:_58E12D7BC4A9438A865F3682E350041F" + { + "UseDynamicProperties" = "11:FALSE" + "IsDependency" = "11:FALSE" + "SourcePath" = "8:\\VsdUserInterface.wim" + } + "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_B9B3A2F503AF44C297B644B5EA970038" + { + "Name" = "8:#1901" + "Sequence" = "3:2" + "Attributes" = "3:2" + "Dialogs" + { + "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_30821CEDB4BF45A0BD3494637C71A4B7" + { + "Sequence" = "3:100" + "DisplayName" = "8:Progress" + "UseDynamicProperties" = "11:TRUE" + "IsDependency" = "11:FALSE" + "SourcePath" = "8:\\VsdAdminProgressDlg.wid" + "Properties" + { + "BannerBitmap" + { + "Name" = "8:BannerBitmap" + "DisplayName" = "8:#1001" + "Description" = "8:#1101" + "Type" = "3:8" + "ContextData" = "8:Bitmap" + "Attributes" = "3:4" + "Setting" = "3:1" + "UsePlugInResources" = "11:TRUE" + } + "ShowProgress" + { + "Name" = "8:ShowProgress" + "DisplayName" = "8:#1009" + "Description" = "8:#1109" + "Type" = "3:5" + "ContextData" = "8:1;True=1;False=0" + "Attributes" = "3:0" + "Setting" = "3:0" + "Value" = "3:1" + "DefaultValue" = "3:1" + "UsePlugInResources" = "11:TRUE" + } + } + } + } + } + "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_CE7869884C12468B933200CB37536848" + { + "Name" = "8:#1900" + "Sequence" = "3:2" + "Attributes" = "3:1" + "Dialogs" + { + "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_46242F5511F3495292AD9D3E3A5084CC" + { + "Sequence" = "3:100" + "DisplayName" = "8:Welcome" + "UseDynamicProperties" = "11:TRUE" + "IsDependency" = "11:FALSE" + "SourcePath" = "8:\\VsdAdminWelcomeDlg.wid" + "Properties" + { + "BannerBitmap" + { + "Name" = "8:BannerBitmap" + "DisplayName" = "8:#1001" + "Description" = "8:#1101" + "Type" = "3:8" + "ContextData" = "8:Bitmap" + "Attributes" = "3:4" + "Setting" = "3:1" + "UsePlugInResources" = "11:TRUE" + } + "CopyrightWarning" + { + "Name" = "8:CopyrightWarning" + "DisplayName" = "8:#1002" + "Description" = "8:#1102" + "Type" = "3:3" + "ContextData" = "8:" + "Attributes" = "3:0" + "Setting" = "3:1" + "Value" = "8:#1202" + "DefaultValue" = "8:#1202" + "UsePlugInResources" = "11:TRUE" + } + "Welcome" + { + "Name" = "8:Welcome" + "DisplayName" = "8:#1003" + "Description" = "8:#1103" + "Type" = "3:3" + "ContextData" = "8:" + "Attributes" = "3:0" + "Setting" = "3:1" + "Value" = "8:#1203" + "DefaultValue" = "8:#1203" + "UsePlugInResources" = "11:TRUE" + } + } + } + "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_AC19C044AC94407A8AFF4331FECE0466" + { + "Sequence" = "3:300" + "DisplayName" = "8:Confirm Installation" + "UseDynamicProperties" = "11:TRUE" + "IsDependency" = "11:FALSE" + "SourcePath" = "8:\\VsdAdminConfirmDlg.wid" + "Properties" + { + "BannerBitmap" + { + "Name" = "8:BannerBitmap" + "DisplayName" = "8:#1001" + "Description" = "8:#1101" + "Type" = "3:8" + "ContextData" = "8:Bitmap" + "Attributes" = "3:4" + "Setting" = "3:1" + "UsePlugInResources" = "11:TRUE" + } + } + } + "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_E33B945DE457432AAA8A754DCEFFD662" + { + "Sequence" = "3:200" + "DisplayName" = "8:Installation Folder" + "UseDynamicProperties" = "11:TRUE" + "IsDependency" = "11:FALSE" + "SourcePath" = "8:\\VsdAdminFolderDlg.wid" + "Properties" + { + "BannerBitmap" + { + "Name" = "8:BannerBitmap" + "DisplayName" = "8:#1001" + "Description" = "8:#1101" + "Type" = "3:8" + "ContextData" = "8:Bitmap" + "Attributes" = "3:4" + "Setting" = "3:1" + "UsePlugInResources" = "11:TRUE" + } + } + } + } + } + "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_D88141DDE3BF42B29E3547E5F6DF00EA" + { + "Name" = "8:#1900" + "Sequence" = "3:1" + "Attributes" = "3:1" + "Dialogs" + { + "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_0BF28472E1B34810BC5B12764DE203B0" + { + "Sequence" = "3:100" + "DisplayName" = "8:Welcome" + "UseDynamicProperties" = "11:TRUE" + "IsDependency" = "11:FALSE" + "SourcePath" = "8:\\VsdWelcomeDlg.wid" + "Properties" + { + "BannerBitmap" + { + "Name" = "8:BannerBitmap" + "DisplayName" = "8:#1001" + "Description" = "8:#1101" + "Type" = "3:8" + "ContextData" = "8:Bitmap" + "Attributes" = "3:4" + "Setting" = "3:1" + "UsePlugInResources" = "11:TRUE" + } + "CopyrightWarning" + { + "Name" = "8:CopyrightWarning" + "DisplayName" = "8:#1002" + "Description" = "8:#1102" + "Type" = "3:3" + "ContextData" = "8:" + "Attributes" = "3:0" + "Setting" = "3:1" + "Value" = "8:#1202" + "DefaultValue" = "8:#1202" + "UsePlugInResources" = "11:TRUE" + } + "Welcome" + { + "Name" = "8:Welcome" + "DisplayName" = "8:#1003" + "Description" = "8:#1103" + "Type" = "3:3" + "ContextData" = "8:" + "Attributes" = "3:0" + "Setting" = "3:1" + "Value" = "8:#1203" + "DefaultValue" = "8:#1203" + "UsePlugInResources" = "11:TRUE" + } + } + } + "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_23F94F5870D24EED9249F00E37478E1F" + { + "Sequence" = "3:200" + "DisplayName" = "8:Installation Folder" + "UseDynamicProperties" = "11:TRUE" + "IsDependency" = "11:FALSE" + "SourcePath" = "8:\\VsdFolderDlg.wid" + "Properties" + { + "BannerBitmap" + { + "Name" = "8:BannerBitmap" + "DisplayName" = "8:#1001" + "Description" = "8:#1101" + "Type" = "3:8" + "ContextData" = "8:Bitmap" + "Attributes" = "3:4" + "Setting" = "3:1" + "UsePlugInResources" = "11:TRUE" + } + "InstallAllUsersVisible" + { + "Name" = "8:InstallAllUsersVisible" + "DisplayName" = "8:#1059" + "Description" = "8:#1159" + "Type" = "3:5" + "ContextData" = "8:1;True=1;False=0" + "Attributes" = "3:0" + "Setting" = "3:0" + "Value" = "3:1" + "DefaultValue" = "3:1" + "UsePlugInResources" = "11:TRUE" + } + } + } + "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_93294F43C4544151B544F5503F05436B" + { + "Sequence" = "3:300" + "DisplayName" = "8:Confirm Installation" + "UseDynamicProperties" = "11:TRUE" + "IsDependency" = "11:FALSE" + "SourcePath" = "8:\\VsdConfirmDlg.wid" + "Properties" + { + "BannerBitmap" + { + "Name" = "8:BannerBitmap" + "DisplayName" = "8:#1001" + "Description" = "8:#1101" + "Type" = "3:8" + "ContextData" = "8:Bitmap" + "Attributes" = "3:4" + "Setting" = "3:1" + "UsePlugInResources" = "11:TRUE" + } + } + } + } + } + "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_E1511F8F189F43F7AF9E7400F7FA4AB0" + { + "Name" = "8:#1901" + "Sequence" = "3:1" + "Attributes" = "3:2" + "Dialogs" + { + "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_0A66A92E23244963BB23862E00889281" + { + "Sequence" = "3:100" + "DisplayName" = "8:Progress" + "UseDynamicProperties" = "11:TRUE" + "IsDependency" = "11:FALSE" + "SourcePath" = "8:\\VsdProgressDlg.wid" + "Properties" + { + "BannerBitmap" + { + "Name" = "8:BannerBitmap" + "DisplayName" = "8:#1001" + "Description" = "8:#1101" + "Type" = "3:8" + "ContextData" = "8:Bitmap" + "Attributes" = "3:4" + "Setting" = "3:1" + "UsePlugInResources" = "11:TRUE" + } + "ShowProgress" + { + "Name" = "8:ShowProgress" + "DisplayName" = "8:#1009" + "Description" = "8:#1109" + "Type" = "3:5" + "ContextData" = "8:1;True=1;False=0" + "Attributes" = "3:0" + "Setting" = "3:0" + "Value" = "3:1" + "DefaultValue" = "3:1" + "UsePlugInResources" = "11:TRUE" + } + } + } + } + } + "{2479F3F5-0309-486D-8047-8187E2CE5BA0}:_E3B2351EA176431B87916DEE3A1BE63C" + { + "UseDynamicProperties" = "11:FALSE" + "IsDependency" = "11:FALSE" + "SourcePath" = "8:\\VsdBasicDialogs.wim" + } + } + "MergeModule" + { + } + "ProjectOutput" + { + "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_1E6955417B7B4E82B23F4736DFCC941B" + { + "SourcePath" = "8:" + "TargetName" = "8:" + "Tag" = "8:" + "Folder" = "8:_ED917B8630934D53AECC1BE99182E7CF" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Vital" = "11:TRUE" + "ReadOnly" = "11:FALSE" + "Hidden" = "11:FALSE" + "System" = "11:FALSE" + "Permanent" = "11:FALSE" + "SharedLegacy" = "11:FALSE" + "PackageAs" = "3:1" + "Register" = "3:1" + "Exclude" = "11:FALSE" + "IsDependency" = "11:FALSE" + "IsolateTo" = "8:" + "ProjectOutputGroupRegister" = "3:1" + "OutputConfiguration" = "8:" + "OutputGroupCanonicalName" = "8:ContentFiles" + "OutputProjectGuid" = "8:{94451A1F-9DBA-438C-956F-CD1C072310B2}" + "ShowKeyOutput" = "11:TRUE" + "ExcludeFilters" + { + } + } + "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_3C05FF121F32454388A321F6FE1196CD" + { + "SourcePath" = "8:" + "TargetName" = "8:" + "Tag" = "8:" + "Folder" = "8:_ED917B8630934D53AECC1BE99182E7CF" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Vital" = "11:TRUE" + "ReadOnly" = "11:FALSE" + "Hidden" = "11:FALSE" + "System" = "11:FALSE" + "Permanent" = "11:FALSE" + "SharedLegacy" = "11:FALSE" + "PackageAs" = "3:1" + "Register" = "3:1" + "Exclude" = "11:FALSE" + "IsDependency" = "11:FALSE" + "IsolateTo" = "8:" + "ProjectOutputGroupRegister" = "3:1" + "OutputConfiguration" = "8:" + "OutputGroupCanonicalName" = "8:Symbols" + "OutputProjectGuid" = "8:{94451A1F-9DBA-438C-956F-CD1C072310B2}" + "ShowKeyOutput" = "11:TRUE" + "ExcludeFilters" + { + } + } + "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_E128584B507D40A69BA89300B7920E85" + { + "SourcePath" = "8:..\\soddi\\obj\\x86\\Release\\SODDI.exe" + "TargetName" = "8:" + "Tag" = "8:" + "Folder" = "8:_ED917B8630934D53AECC1BE99182E7CF" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Vital" = "11:TRUE" + "ReadOnly" = "11:FALSE" + "Hidden" = "11:FALSE" + "System" = "11:FALSE" + "Permanent" = "11:FALSE" + "SharedLegacy" = "11:FALSE" + "PackageAs" = "3:1" + "Register" = "3:1" + "Exclude" = "11:FALSE" + "IsDependency" = "11:FALSE" + "IsolateTo" = "8:" + "ProjectOutputGroupRegister" = "3:1" + "OutputConfiguration" = "8:" + "OutputGroupCanonicalName" = "8:Built" + "OutputProjectGuid" = "8:{94451A1F-9DBA-438C-956F-CD1C072310B2}" + "ShowKeyOutput" = "11:TRUE" + "ExcludeFilters" + { + } + } + } + } +} diff --git a/UpgradeLog.htm b/UpgradeLog.htm new file mode 100644 index 0000000000000000000000000000000000000000..a7a1860cff7f6e8065f4545afbc3c6e3c328092b GIT binary patch literal 69270 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 literal 0 HcmV?d00001 diff --git a/lib/MySql.Data.dll b/lib/MySql.Data.dll new file mode 100644 index 0000000000000000000000000000000000000000..9fbc8ef28e97a8ef36540dc1de02395348a901a8 GIT binary patch literal 327680 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 z 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 =llzKjj)^ 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

`GDqxZ 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%0DF}QLDsybE^PlT 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

?0aEkB;xw?XFRuWF^ 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 + EndGlobalSection +EndGlobal diff --git a/soddi/App.config b/soddi/App.config new file mode 100644 index 0000000..9cf9933 --- /dev/null +++ b/soddi/App.config @@ -0,0 +1,38 @@ + + + + +

+ + + + + + + + + + + + + + + + + data source=c:\temp + + + False + + + False + + + False + + + System.Data.SQLite + + + + diff --git a/soddi/Configuration/Configuration.cs b/soddi/Configuration/Configuration.cs new file mode 100644 index 0000000..149baa5 --- /dev/null +++ b/soddi/Configuration/Configuration.cs @@ -0,0 +1,255 @@ +// /*! +// * Project: SODDI v.10 +// * http://skysanders.net/tools/se/ +// * +// * Copyright 2010, Sky Sanders +// * Dual licensed under the MIT or GPL Version 2 licenses. +// * http://skysanders.net/tools/se/LICENSE.TXT +// * +// * Date: April 01 2010 +// */ + +#region + +using System; +using System.Collections.Generic; +using System.Data.Common; +using System.IO; +using System.Linq; +using System.Reflection; +using System.Text.RegularExpressions; +using Salient.StackExchange.Import.Loaders; +using Salient.StackExchange.Import.TableTypes; + +#endregion + +namespace Salient.StackExchange.Import.Configuration +{ + public class Configuration + { + #region ImportOptions enum + + [Flags] + public enum ImportOptions + { + None = 0, + Indices = 1, + FullText = 2, + Split = 4, + GUI = 8, + FieldCount = 16 + } + + #endregion + + private const int DefaultBatchSize = 5000; + + + public Configuration() + { + SetDefaults(); + } + + public Configuration(string[] args) + { + SetDefaults(); + ParseArguments(args); + } + + + public int BatchSize { get; set; } + + public bool FullText + { + get { return (Options & ImportOptions.FullText) == ImportOptions.FullText; } + set + { + Options = value + ? Options | ImportOptions.FullText + : Options & (ImportOptions)(ImportOptions.FieldCount - ImportOptions.FullText); + } + } + + public bool GUI + { + get { return (Options & ImportOptions.GUI) == ImportOptions.GUI; } + set + { + Options = value + ? Options | ImportOptions.GUI + : Options & (ImportOptions)(ImportOptions.FieldCount - ImportOptions.GUI); + } + } + + public bool Indices + { + get { return (Options & ImportOptions.Indices) == ImportOptions.Indices; } + set + { + Options = value + ? Options | ImportOptions.Indices + : Options & (ImportOptions)(ImportOptions.FieldCount - ImportOptions.Indices); + } + } + + internal ImportOptions Options { get; set; } + + public DbProviderInfo Provider { get; set; } + + public string Source { get; set; } + + public bool Split + { + get { return (Options & ImportOptions.Split) == ImportOptions.Split; } + set + { + Options = value + ? Options | ImportOptions.Split + : Options & (ImportOptions)(ImportOptions.FieldCount - ImportOptions.Split); + } + } + + public string Target { get; set; } + + public List Targets { get; set; } + + + public Type[] GetAllTableTypes() + { + return + typeof(Posts).Assembly.GetTypes().Where( + t => t.Namespace == typeof(Posts).Namespace && (Split || t != typeof(PostTags))).ToArray(); + } + + public string ToString(bool commandLine) + { + if (commandLine) + { + string targets = string.Join(" ", Targets.Select(t => t.Name == t.Schema ? t.Name : t.Name + ":" + t.Schema).ToArray()); + DbConnectionStringBuilder csb = new DbConnectionStringBuilder(); + csb.ConnectionString = Provider.ConnectionString; + csb.Add("Provider", Provider.Name); + + + string batch = BatchSize != DefaultBatchSize ? " batch:" + BatchSize : ""; + string cmdLine = string.Format("{7} source:\"{0}\" target:\"{1}\"{2}{3}{4}{5} {6}", Source, + csb.ConnectionString, batch, Indices ? " indices" : "", + FullText ? " fulltext" : "", Split ? " split" : "", targets, + Path.GetFileName(Assembly.GetExecutingAssembly().Location)); + return cmdLine; + } + else + { + return + string.Format("Source : {0}\r\nTarget : {1}\r\nOptions : {2}", Source, Target, Options); + } + } + + + public static List GetAllSites(string source) + { + List sites = new List(); + Regex dirRx = new Regex(@"^(\d+) ([A-Za-z]+)$", RegexOptions.IgnoreCase); + string[] dirs = Directory.GetDirectories(source); + foreach (string dir in dirs) + { + Match match = dirRx.Match(Path.GetFileName(dir)); + if (match.Success) + { + sites.Add(match.Groups[2].Value); + } + } + return sites; + } + + public static ImportTarget GetSite(string source, string arg) + { + string[] segments = arg.Split(new[] { ':' }, StringSplitOptions.RemoveEmptyEntries); + + string siteId = segments[0]; + + string siteSchema = segments.Length > 1 ? segments[1] : siteId; + + string[] dirs = Directory.GetDirectories(source, "* " + siteId); + + return dirs.Length == 0 ? null : new ImportTarget(segments[0], dirs[0], siteSchema); + } + + public static List GetTargets(string source, IEnumerable unparsed) + { + List targets = new List(); + foreach (string arg in unparsed) + { + ImportTarget site = GetSite(source, arg); + if (site != null) + { + targets.Add(site); + } + } + return targets; + } + + private void ParseArguments(string[] args) + { + List unparsed = new List(); + + for (int i = 0; i < args.Length; i++) + { + string value = null; + string arg = args[i].Trim(); + if (arg.IndexOf(":") > -1) + { + value = arg.Substring(arg.IndexOf(":") + 1).Trim('"', '\''); + arg = arg.Substring(0, arg.IndexOf(":")); + } + switch (arg.ToLowerInvariant()) + { + case "source": + Source = value; + break; + case "target": + Target = value; + Provider = DbProviders.ParseArg(value); + break; + case "batch": + int batchSize; + if (int.TryParse(value, out batchSize)) + { + BatchSize = batchSize; + } + break; + case "indices": + Options = Options | ImportOptions.Indices; + break; + case "fulltext": + Options = Options | ImportOptions.FullText; + break; + case "split": + Options = Options | ImportOptions.Split; + break; + case "gui": + Options = Options | ImportOptions.GUI; + break; + default: + unparsed.Add(args[i].Trim()); + break; + } + } + + // unparsed args MUST be sites + // if no sites specified, get them all + if (unparsed.Count == 0 && !string.IsNullOrEmpty(Source)) + { + unparsed = GetAllSites(Source); + } + + Targets = GetTargets(Source, unparsed); + } + + private void SetDefaults() + { + Targets = new List(); + BatchSize = DefaultBatchSize; + } + } +} \ No newline at end of file diff --git a/soddi/Configuration/DbProviderInfo.cs b/soddi/Configuration/DbProviderInfo.cs new file mode 100644 index 0000000..b867417 --- /dev/null +++ b/soddi/Configuration/DbProviderInfo.cs @@ -0,0 +1,42 @@ +// /*! +// * Project: SODDI v.10 +// * http://skysanders.net/tools/se/ +// * +// * Copyright 2010, Sky Sanders +// * Dual licensed under the MIT or GPL Version 2 licenses. +// * http://skysanders.net/tools/se/LICENSE.TXT +// * +// * Date: April 01 2010 +// */ + +#region + +using System; +using System.Data; +using System.Data.Common; + +#endregion + +namespace Salient.StackExchange.Import.Configuration +{ + public class DbProviderInfo + { + public DbProviderInfo(DataRow prov) + { + Name = (string) prov["Name"]; + Description = (string) prov["Description"]; + InvariantName = (string) prov["InvariantName"]; + AssemblyQualifiedName = (string) prov["AssemblyQualifiedName"]; + + Factory = DbProviderFactories.GetFactory(prov); + } + + public string Name { get; set; } + public string Description { get; set; } + public string InvariantName { get; set; } + public string AssemblyQualifiedName { get; set; } + public Type BulkInsertType { get; set; } + public DbProviderFactory Factory { get; private set; } + public String ConnectionString { get; set; } + } +} \ No newline at end of file diff --git a/soddi/Configuration/DbProviders.cs b/soddi/Configuration/DbProviders.cs new file mode 100644 index 0000000..49369df --- /dev/null +++ b/soddi/Configuration/DbProviders.cs @@ -0,0 +1,102 @@ +// /*! +// * Project: SODDI v.10 +// * http://skysanders.net/tools/se/ +// * +// * Copyright 2010, Sky Sanders +// * Dual licensed under the MIT or GPL Version 2 licenses. +// * http://skysanders.net/tools/se/LICENSE.TXT +// * +// * Date: April 01 2010 +// */ +// 04/09/2010 - added a catch to prevent crash if provider not found + + +#region + +using System; +using System.Collections.Generic; +using System.Configuration; +using System.Data; +using System.Data.Common; +using System.Linq; +using System.Reflection; +using Salient.StackExchange.Import.Loaders; + +#endregion + +namespace Salient.StackExchange.Import.Configuration +{ + public sealed class DbProviders : List + { + private DbProviders() + { + List insertTypes = + Assembly.GetExecutingAssembly().GetTypes().Where( + t => + t.BaseType == typeof (BulkLoader) && + t.GetCustomAttributes(typeof (LoaderAttribute), true).Length > 0).ToList(); + foreach (DataRow prov in DbProviderFactories.GetFactoryClasses().Rows) + { + string invariant = (string) prov["InvariantName"]; + try + { + Type type = + insertTypes.Find( + t => + ((LoaderAttribute)t.GetCustomAttributes(typeof(LoaderAttribute), true)[0]). + ProviderInvariantName == invariant); + if (type != null) + { + Add(new DbProviderInfo(prov) { BulkInsertType = type }); + } + } + catch (Exception ex) + { + + Console.WriteLine("Error adding provider {0}:\r\n{1}",invariant,ex.Message); + } + } + } + + public static DbProviders Instance + { + get { return Nested.Instance; } + } + + public static DbProviderInfo ParseArg(string target) + { + // check to see if target is a named connection string + ConnectionStringSettings css = ConfigurationManager.ConnectionStrings[target]; + + if (css != null) + { + DbProviderInfo provider = + Instance.Find(p => string.Compare(css.ProviderName, p.InvariantName, true) == 0); + provider.ConnectionString = css.ConnectionString; + return provider; + } + + // check to see if a valid connection string + DbConnectionStringBuilder csb = new DbConnectionStringBuilder {ConnectionString = target}; + string providerName = csb["Provider"] as string; + + if (!string.IsNullOrEmpty(providerName)) + { + DbProviderInfo provider = Instance.Find(p => string.Compare(providerName, p.InvariantName, true) == 0); + csb.Remove("provider"); + provider.ConnectionString = csb.ConnectionString; + return provider; + } + return null; + } + + #region Nested type: Nested + + private class Nested + { + internal static readonly DbProviders Instance = new DbProviders(); + } + + #endregion + } +} \ No newline at end of file diff --git a/soddi/GPL.TXT b/soddi/GPL.TXT new file mode 100644 index 0000000..aa2af92 --- /dev/null +++ b/soddi/GPL.TXT @@ -0,0 +1,278 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc. + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Lesser General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. \ No newline at end of file diff --git a/soddi/Gui/FrmAbout.Designer.cs b/soddi/Gui/FrmAbout.Designer.cs new file mode 100644 index 0000000..e56be59 --- /dev/null +++ b/soddi/Gui/FrmAbout.Designer.cs @@ -0,0 +1,63 @@ +namespace Salient.StackExchange.Import.Gui +{ + partial class FrmAbout + { + /// + /// 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.richTextBox1 = new System.Windows.Forms.RichTextBox(); + this.SuspendLayout(); + // + // richTextBox1 + // + this.richTextBox1.Dock = System.Windows.Forms.DockStyle.Fill; + this.richTextBox1.Font = new System.Drawing.Font("Lucida Console", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.richTextBox1.Location = new System.Drawing.Point(0, 0); + this.richTextBox1.Name = "richTextBox1"; + this.richTextBox1.ReadOnly = true; + this.richTextBox1.Size = new System.Drawing.Size(792, 573); + this.richTextBox1.TabIndex = 0; + this.richTextBox1.Text = ""; + this.richTextBox1.WordWrap = false; + // + // FrmAbout + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(792, 573); + this.Controls.Add(this.richTextBox1); + this.Name = "FrmAbout"; + this.Text = "About SODDI"; + this.Load += new System.EventHandler(this.FrmAbout_Load); + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.RichTextBox richTextBox1; + } +} \ No newline at end of file diff --git a/soddi/Gui/FrmAbout.cs b/soddi/Gui/FrmAbout.cs new file mode 100644 index 0000000..273cb6e --- /dev/null +++ b/soddi/Gui/FrmAbout.cs @@ -0,0 +1,35 @@ +// /*! +// * Project: SODDI v.10 +// * http://skysanders.net/tools/se/ +// * +// * Copyright 2010, Sky Sanders +// * Dual licensed under the MIT or GPL Version 2 licenses. +// * http://skysanders.net/tools/se/LICENSE.TXT +// * +// * Date: April 01 2010 +// */ + +#region + +using System; +using System.Reflection; +using System.Windows.Forms; +using Salient.StackExchange.Import.Tools; + +#endregion + +namespace Salient.StackExchange.Import.Gui +{ + public partial class FrmAbout : Form + { + public FrmAbout() + { + InitializeComponent(); + } + + private void FrmAbout_Load(object sender, EventArgs e) + { + richTextBox1.Text = Common.GetTextResource(@"README.txt", Assembly.GetExecutingAssembly()); + } + } +} \ No newline at end of file diff --git a/soddi/Gui/FrmAbout.resx b/soddi/Gui/FrmAbout.resx new file mode 100644 index 0000000..19dc0dd --- /dev/null +++ b/soddi/Gui/FrmAbout.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/soddi/Gui/FrmCmdLine.Designer.cs b/soddi/Gui/FrmCmdLine.Designer.cs new file mode 100644 index 0000000..97b4729 --- /dev/null +++ b/soddi/Gui/FrmCmdLine.Designer.cs @@ -0,0 +1,58 @@ +namespace Salient.StackExchange.Import.Gui +{ + partial class FrmCmdLine + { + /// + /// 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.textBox1 = new System.Windows.Forms.TextBox(); + this.SuspendLayout(); + // + // textBox1 + // + this.textBox1.Location = new System.Drawing.Point(12, 12); + this.textBox1.Name = "textBox1"; + this.textBox1.Size = new System.Drawing.Size(492, 20); + this.textBox1.TabIndex = 0; + // + // FrmCmdLine + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(513, 48); + this.Controls.Add(this.textBox1); + this.Name = "FrmCmdLine"; + this.Text = "SODDI Command Line"; + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private System.Windows.Forms.TextBox textBox1; + } +} \ No newline at end of file diff --git a/soddi/Gui/FrmCmdLine.cs b/soddi/Gui/FrmCmdLine.cs new file mode 100644 index 0000000..6a7b612 --- /dev/null +++ b/soddi/Gui/FrmCmdLine.cs @@ -0,0 +1,28 @@ +// /*! +// * Project: SODDI v.10 +// * http://skysanders.net/tools/se/ +// * +// * Copyright 2010, Sky Sanders +// * Dual licensed under the MIT or GPL Version 2 licenses. +// * http://skysanders.net/tools/se/LICENSE.TXT +// * +// * Date: April 01 2010 +// */ + +#region + +using System.Windows.Forms; + +#endregion + +namespace Salient.StackExchange.Import.Gui +{ + public partial class FrmCmdLine : Form + { + public FrmCmdLine(Configuration.Configuration config) + { + InitializeComponent(); + textBox1.Text = config.ToString(true); + } + } +} \ No newline at end of file diff --git a/soddi/Gui/FrmCmdLine.resx b/soddi/Gui/FrmCmdLine.resx new file mode 100644 index 0000000..19dc0dd --- /dev/null +++ b/soddi/Gui/FrmCmdLine.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/soddi/Gui/ListViewStyle.cs b/soddi/Gui/ListViewStyle.cs new file mode 100644 index 0000000..b5f9599 --- /dev/null +++ b/soddi/Gui/ListViewStyle.cs @@ -0,0 +1,99 @@ +// /*! +// * Project: SODDI v.10 +// * http://skysanders.net/tools/se/ +// * +// * Copyright 2010, Sky Sanders +// * Dual licensed under the MIT or GPL Version 2 licenses. +// * http://skysanders.net/tools/se/LICENSE.TXT +// * +// * Date: April 01 2010 +// */ + +#region + +using System; +using System.Runtime.InteropServices; +using System.Windows.Forms; + +#endregion + +namespace Salient.StackExchange.Import.Gui +{ + /// + /// Exposes styles hidden by .net managed wrapper + /// + /// Adapted from http://www.codeproject.com/KB/list/listviewxp.aspx + public static class ListViewStyle + { +#if !MONO + + #region LVM enum + + public enum LVM + { + LVMFirst = 0x1000, + LVMSetextendedlistviewstyle = (LVMFirst + 54), + LVMGetextendedlistviewstyle = (LVMFirst + 55), + } + + #endregion + + #region LvsEx enum + + [Flags] + public enum LvsEx + { + LvsExGridlines = 0x00000001, + LvsExSubitemimages = 0x00000002, + LvsExCheckboxes = 0x00000004, + LvsExTrackselect = 0x00000008, + LvsExHeaderdragdrop = 0x00000010, + LvsExFullrowselect = 0x00000020, + LvsExOneclickactivate = 0x00000040, + LvsExTwoclickactivate = 0x00000080, + LvsExFlatsb = 0x00000100, + LvsExRegional = 0x00000200, + LvsExInfotip = 0x00000400, + LvsExUnderlinehot = 0x00000800, + LvsExUnderlinecold = 0x00001000, + LvsExMultiworkareas = 0x00002000, + LvsExLabeltip = 0x00004000, + LvsExBorderselect = 0x00008000, + LvsExDoublebuffer = 0x00010000, + LvsExHidelabels = 0x00020000, + LvsExSinglerow = 0x00040000, + LvsExSnaptogrid = 0x00080000, + LvsExSimpleselect = 0x00100000 + } + + #endregion + + [DllImport("user32.dll", CharSet = CharSet.Auto)] + public static extern int SendMessage(IntPtr handle, int messg, int wparam, int lparam); + + /// + /// Sets Double_Buffering and BorderSelect style + /// + /// + public static void SetExStyles(this ListView lv) + { + LvsEx styles = (LvsEx) SendMessage(lv.Handle, (int) LVM.LVMGetextendedlistviewstyle, 0, 0); + styles |= LvsEx.LvsExDoublebuffer | LvsEx.LvsExBorderselect; + SendMessage(lv.Handle, (int) LVM.LVMSetextendedlistviewstyle, 0, (int) styles); + } + + /// + /// Sets ListViewExtended Styles + /// + /// + /// The Styles you wish to set. + public static void SetExStyles(this ListView lv, LvsEx exStyle) + { + LvsEx styles = (LvsEx) SendMessage(lv.Handle, (int) LVM.LVMGetextendedlistviewstyle, 0, 0); + styles |= exStyle; + SendMessage(lv.Handle, (int) LVM.LVMSetextendedlistviewstyle, 0, (int) styles); + } +#endif + } + +} \ No newline at end of file diff --git a/soddi/Gui/frmUI.Designer.cs b/soddi/Gui/frmUI.Designer.cs new file mode 100644 index 0000000..7909d78 --- /dev/null +++ b/soddi/Gui/frmUI.Designer.cs @@ -0,0 +1,440 @@ +using Salient.StackExchange.Import.Configuration; + +namespace Salient.StackExchange.Import.Gui +{ + partial class FrmUI + { + /// + /// 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 bulkInsertBatchSizeLabel; + System.Windows.Forms.Label sourceLabel; + System.Windows.Forms.Label targetLabel; + System.Windows.Forms.Label label1; + System.Windows.Forms.Label label2; + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FrmUI)); + this.BatchSizeNumericUpDown = new System.Windows.Forms.NumericUpDown(); + this.fullTextCheckBox = new System.Windows.Forms.CheckBox(); + this.indicesCheckBox = new System.Windows.Forms.CheckBox(); + this.sourceTextBox = new System.Windows.Forms.TextBox(); + this.splitCheckBox = new System.Windows.Forms.CheckBox(); + this.targetTextBox = new System.Windows.Forms.TextBox(); + this.ImportButton = new System.Windows.Forms.Button(); + this.dbProvidersComboBox = new System.Windows.Forms.ComboBox(); + this.dbProvidersBindingSource = new System.Windows.Forms.BindingSource(this.components); + this.TasksListView = new System.Windows.Forms.ListView(); + this.SiteColumnHeader = new System.Windows.Forms.ColumnHeader(); + this.TableColumnHeader = new System.Windows.Forms.ColumnHeader(); + this.CountColumnHeader = new System.Windows.Forms.ColumnHeader(); + this.StateColumnHeader = new System.Windows.Forms.ColumnHeader(); + this.MessageColumnHeader = new System.Windows.Forms.ColumnHeader(); + this.statusStrip1 = new System.Windows.Forms.StatusStrip(); + this.StatusLabel = new System.Windows.Forms.ToolStripStatusLabel(); + this.menuStrip1 = new System.Windows.Forms.MenuStrip(); + this.buildCommandLineToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); + this.listView1 = new System.Windows.Forms.ListView(); + this.SchemaColumnHeader = new System.Windows.Forms.ColumnHeader(); + this.SiteNameColumnHeader = new System.Windows.Forms.ColumnHeader(); + this.errorProvider1 = new System.Windows.Forms.ErrorProvider(this.components); + this.toolTip1 = new System.Windows.Forms.ToolTip(this.components); + this.panel1 = new System.Windows.Forms.Panel(); + this.BrowseSourceButton = new System.Windows.Forms.Button(); + bulkInsertBatchSizeLabel = new System.Windows.Forms.Label(); + sourceLabel = new System.Windows.Forms.Label(); + targetLabel = new System.Windows.Forms.Label(); + label1 = new System.Windows.Forms.Label(); + label2 = new System.Windows.Forms.Label(); + ((System.ComponentModel.ISupportInitialize)(this.BatchSizeNumericUpDown)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.dbProvidersBindingSource)).BeginInit(); + this.statusStrip1.SuspendLayout(); + this.menuStrip1.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.errorProvider1)).BeginInit(); + this.panel1.SuspendLayout(); + this.SuspendLayout(); + // + // bulkInsertBatchSizeLabel + // + bulkInsertBatchSizeLabel.AutoSize = true; + bulkInsertBatchSizeLabel.Location = new System.Drawing.Point(294, 75); + bulkInsertBatchSizeLabel.Name = "bulkInsertBatchSizeLabel"; + bulkInsertBatchSizeLabel.Size = new System.Drawing.Size(61, 13); + bulkInsertBatchSizeLabel.TabIndex = 1; + bulkInsertBatchSizeLabel.Text = "Batch Size:"; + // + // sourceLabel + // + sourceLabel.AutoSize = true; + sourceLabel.Location = new System.Drawing.Point(3, 0); + sourceLabel.Name = "sourceLabel"; + sourceLabel.Size = new System.Drawing.Size(44, 13); + sourceLabel.TabIndex = 9; + sourceLabel.Text = "Source:"; + // + // targetLabel + // + targetLabel.AutoSize = true; + targetLabel.Location = new System.Drawing.Point(3, 36); + targetLabel.Name = "targetLabel"; + targetLabel.Size = new System.Drawing.Size(41, 13); + targetLabel.TabIndex = 13; + targetLabel.Text = "Target:"; + // + // label1 + // + label1.AutoSize = true; + label1.Location = new System.Drawing.Point(0, 75); + label1.Name = "label1"; + label1.Size = new System.Drawing.Size(49, 13); + label1.TabIndex = 20; + label1.Text = "Provider:"; + // + // label2 + // + label2.AutoSize = true; + label2.Location = new System.Drawing.Point(397, 0); + label2.Name = "label2"; + label2.Size = new System.Drawing.Size(33, 13); + label2.TabIndex = 22; + label2.Text = "Sites:"; + this.toolTip1.SetToolTip(label2, "Checked sites will be imported.\r\nEdit Schema label to change target.\r\n"); + // + // BatchSizeNumericUpDown + // + this.BatchSizeNumericUpDown.Location = new System.Drawing.Point(297, 92); + this.BatchSizeNumericUpDown.Maximum = new decimal(new int[] { + 2000000000, + 0, + 0, + 0}); + this.BatchSizeNumericUpDown.Minimum = new decimal(new int[] { + 1, + 0, + 0, + 0}); + this.BatchSizeNumericUpDown.Name = "BatchSizeNumericUpDown"; + this.BatchSizeNumericUpDown.Size = new System.Drawing.Size(86, 20); + this.BatchSizeNumericUpDown.TabIndex = 5; + this.toolTip1.SetToolTip(this.BatchSizeNumericUpDown, "Number of rows per transaction."); + this.BatchSizeNumericUpDown.Value = new decimal(new int[] { + 1, + 0, + 0, + 0}); + // + // fullTextCheckBox + // + this.fullTextCheckBox.Checked = global::Salient.StackExchange.Import.Properties.Settings.Default.FullTextChecked; + this.fullTextCheckBox.DataBindings.Add(new System.Windows.Forms.Binding("Checked", global::Salient.StackExchange.Import.Properties.Settings.Default, "FullTextChecked", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged)); + this.fullTextCheckBox.Location = new System.Drawing.Point(129, 120); + this.fullTextCheckBox.Name = "fullTextCheckBox"; + this.fullTextCheckBox.Size = new System.Drawing.Size(72, 24); + this.fullTextCheckBox.TabIndex = 8; + this.fullTextCheckBox.Text = "Full Text"; + this.toolTip1.SetToolTip(this.fullTextCheckBox, "Sql Server only - Install full text index on Posts.Body and Posts.Title"); + this.fullTextCheckBox.UseVisualStyleBackColor = true; + // + // indicesCheckBox + // + this.indicesCheckBox.Checked = global::Salient.StackExchange.Import.Properties.Settings.Default.IndicesChecked; + this.indicesCheckBox.DataBindings.Add(new System.Windows.Forms.Binding("Checked", global::Salient.StackExchange.Import.Properties.Settings.Default, "IndicesChecked", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged)); + this.indicesCheckBox.Location = new System.Drawing.Point(61, 120); + this.indicesCheckBox.Name = "indicesCheckBox"; + this.indicesCheckBox.Size = new System.Drawing.Size(68, 24); + this.indicesCheckBox.TabIndex = 7; + this.indicesCheckBox.Text = "Indices"; + this.toolTip1.SetToolTip(this.indicesCheckBox, "Define useful indexes to improve database performance"); + this.indicesCheckBox.UseVisualStyleBackColor = true; + // + // sourceTextBox + // + this.sourceTextBox.DataBindings.Add(new System.Windows.Forms.Binding("Text", global::Salient.StackExchange.Import.Properties.Settings.Default, "SourceValue", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged)); + this.sourceTextBox.Location = new System.Drawing.Point(3, 13); + this.sourceTextBox.Name = "sourceTextBox"; + this.sourceTextBox.Size = new System.Drawing.Size(352, 20); + this.sourceTextBox.TabIndex = 1; + this.sourceTextBox.Text = global::Salient.StackExchange.Import.Properties.Settings.Default.SourceValue; + this.toolTip1.SetToolTip(this.sourceTextBox, "The path of the decompressed data dump."); + this.sourceTextBox.TextChanged += new System.EventHandler(this.SourceTextChanged); + // + // splitCheckBox + // + this.splitCheckBox.Checked = global::Salient.StackExchange.Import.Properties.Settings.Default.SplitChecked; + this.splitCheckBox.DataBindings.Add(new System.Windows.Forms.Binding("Checked", global::Salient.StackExchange.Import.Properties.Settings.Default, "SplitChecked", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged)); + this.splitCheckBox.Location = new System.Drawing.Point(3, 120); + this.splitCheckBox.Name = "splitCheckBox"; + this.splitCheckBox.Size = new System.Drawing.Size(58, 24); + this.splitCheckBox.TabIndex = 6; + this.splitCheckBox.Text = "Split"; + this.toolTip1.SetToolTip(this.splitCheckBox, "Split tags into a separate table"); + this.splitCheckBox.UseVisualStyleBackColor = true; + // + // targetTextBox + // + this.targetTextBox.DataBindings.Add(new System.Windows.Forms.Binding("Text", global::Salient.StackExchange.Import.Properties.Settings.Default, "TargetText", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged)); + this.targetTextBox.Location = new System.Drawing.Point(3, 52); + this.targetTextBox.Name = "targetTextBox"; + this.targetTextBox.Size = new System.Drawing.Size(383, 20); + this.targetTextBox.TabIndex = 3; + this.targetTextBox.Text = global::Salient.StackExchange.Import.Properties.Settings.Default.TargetText; + this.toolTip1.SetToolTip(this.targetTextBox, resources.GetString("targetTextBox.ToolTip")); + // + // ImportButton + // + this.ImportButton.Location = new System.Drawing.Point(9, 178); + this.ImportButton.Name = "ImportButton"; + this.ImportButton.Size = new System.Drawing.Size(383, 36); + this.ImportButton.TabIndex = 10; + this.ImportButton.Text = "Import"; + this.ImportButton.UseVisualStyleBackColor = true; + this.ImportButton.Click += new System.EventHandler(this.ImportClick); + // + // dbProvidersComboBox + // + this.dbProvidersComboBox.DataSource = this.dbProvidersBindingSource; + this.dbProvidersComboBox.DisplayMember = "Name"; + this.dbProvidersComboBox.FormattingEnabled = true; + this.dbProvidersComboBox.Location = new System.Drawing.Point(0, 91); + this.dbProvidersComboBox.Name = "dbProvidersComboBox"; + this.dbProvidersComboBox.Size = new System.Drawing.Size(273, 21); + this.dbProvidersComboBox.TabIndex = 4; + this.dbProvidersComboBox.ValueMember = "Name"; + this.dbProvidersComboBox.SelectedIndexChanged += new System.EventHandler(this.ProvidersSelectedIndexChanged); + // + // dbProvidersBindingSource + // + this.dbProvidersBindingSource.DataSource = typeof(Salient.StackExchange.Import.Configuration.DbProviderInfo); + // + // TasksListView + // + this.TasksListView.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.TasksListView.CausesValidation = false; + this.TasksListView.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] { + this.SiteColumnHeader, + this.TableColumnHeader, + this.CountColumnHeader, + this.StateColumnHeader, + this.MessageColumnHeader}); + this.TasksListView.Location = new System.Drawing.Point(9, 220); + this.TasksListView.Name = "TasksListView"; + this.TasksListView.Size = new System.Drawing.Size(574, 205); + this.TasksListView.Sorting = System.Windows.Forms.SortOrder.Ascending; + this.TasksListView.TabIndex = 21; + this.TasksListView.TabStop = false; + this.TasksListView.UseCompatibleStateImageBehavior = false; + this.TasksListView.View = System.Windows.Forms.View.Details; + // + // SiteColumnHeader + // + this.SiteColumnHeader.Text = ""; + this.SiteColumnHeader.Width = 0; + // + // TableColumnHeader + // + this.TableColumnHeader.Text = "Table"; + this.TableColumnHeader.Width = 80; + // + // CountColumnHeader + // + this.CountColumnHeader.Text = "Count"; + this.CountColumnHeader.Width = 80; + // + // StateColumnHeader + // + this.StateColumnHeader.Text = "State"; + this.StateColumnHeader.Width = 70; + // + // MessageColumnHeader + // + this.MessageColumnHeader.Text = ""; + this.MessageColumnHeader.Width = 320; + // + // statusStrip1 + // + this.statusStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.StatusLabel}); + this.statusStrip1.Location = new System.Drawing.Point(0, 434); + this.statusStrip1.Name = "statusStrip1"; + this.statusStrip1.Size = new System.Drawing.Size(592, 22); + this.statusStrip1.TabIndex = 23; + this.statusStrip1.Text = "statusStrip1"; + // + // StatusLabel + // + this.StatusLabel.Name = "StatusLabel"; + this.StatusLabel.Size = new System.Drawing.Size(0, 17); + // + // menuStrip1 + // + this.menuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.buildCommandLineToolStripMenuItem, + this.toolStripMenuItem1}); + this.menuStrip1.Location = new System.Drawing.Point(0, 0); + this.menuStrip1.Name = "menuStrip1"; + this.menuStrip1.Size = new System.Drawing.Size(592, 24); + this.menuStrip1.TabIndex = 24; + this.menuStrip1.Text = "menuStrip1"; + // + // buildCommandLineToolStripMenuItem + // + this.buildCommandLineToolStripMenuItem.Name = "buildCommandLineToolStripMenuItem"; + this.buildCommandLineToolStripMenuItem.Size = new System.Drawing.Size(113, 20); + this.buildCommandLineToolStripMenuItem.Text = "Build Command Line"; + this.buildCommandLineToolStripMenuItem.Click += new System.EventHandler(this.buildCommandLineToolStripMenuItem_Click); + // + // toolStripMenuItem1 + // + this.toolStripMenuItem1.Name = "toolStripMenuItem1"; + this.toolStripMenuItem1.Size = new System.Drawing.Size(73, 20); + this.toolStripMenuItem1.Text = "Help/About"; + this.toolStripMenuItem1.Click += new System.EventHandler(this.toolStripMenuItem1_Click); + // + // listView1 + // + this.listView1.CheckBoxes = true; + this.listView1.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] { + this.SchemaColumnHeader, + this.SiteNameColumnHeader}); + this.listView1.LabelEdit = true; + this.listView1.Location = new System.Drawing.Point(400, 13); + this.listView1.Name = "listView1"; + this.listView1.Size = new System.Drawing.Size(163, 117); + this.listView1.TabIndex = 9; + this.toolTip1.SetToolTip(this.listView1, "Checked sites will be imported.\r\nEdit Schema label to change target.\r\n"); + this.listView1.UseCompatibleStateImageBehavior = false; + this.listView1.View = System.Windows.Forms.View.Details; + this.listView1.AfterLabelEdit += new System.Windows.Forms.LabelEditEventHandler(this.listView1_AfterLabelEdit); + // + // SchemaColumnHeader + // + this.SchemaColumnHeader.Text = "Schema"; + this.SchemaColumnHeader.Width = 70; + // + // SiteNameColumnHeader + // + this.SiteNameColumnHeader.Text = "Site"; + this.SiteNameColumnHeader.Width = 50; + // + // errorProvider1 + // + this.errorProvider1.ContainerControl = this; + // + // panel1 + // + this.panel1.Controls.Add(this.listView1); + this.panel1.Controls.Add(this.BrowseSourceButton); + this.panel1.Controls.Add(this.dbProvidersComboBox); + this.panel1.Controls.Add(this.BatchSizeNumericUpDown); + this.panel1.Controls.Add(this.sourceTextBox); + this.panel1.Controls.Add(this.targetTextBox); + this.panel1.Controls.Add(sourceLabel); + this.panel1.Controls.Add(targetLabel); + this.panel1.Controls.Add(this.splitCheckBox); + this.panel1.Controls.Add(this.indicesCheckBox); + this.panel1.Controls.Add(this.fullTextCheckBox); + this.panel1.Controls.Add(bulkInsertBatchSizeLabel); + this.panel1.Controls.Add(label1); + this.panel1.Controls.Add(label2); + this.panel1.Location = new System.Drawing.Point(9, 27); + this.panel1.Name = "panel1"; + this.panel1.Size = new System.Drawing.Size(580, 145); + this.panel1.TabIndex = 26; + // + // BrowseSourceButton + // + this.BrowseSourceButton.Location = new System.Drawing.Point(361, 12); + this.BrowseSourceButton.Name = "BrowseSourceButton"; + this.BrowseSourceButton.Size = new System.Drawing.Size(25, 23); + this.BrowseSourceButton.TabIndex = 2; + this.BrowseSourceButton.Text = "..."; + this.BrowseSourceButton.UseVisualStyleBackColor = true; + this.BrowseSourceButton.Click += new System.EventHandler(this.BrowseSourceButton_Click); + // + // FrmUI + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.AutoScroll = true; + this.ClientSize = new System.Drawing.Size(592, 456); + this.Controls.Add(this.menuStrip1); + this.Controls.Add(this.panel1); + this.Controls.Add(this.statusStrip1); + this.Controls.Add(this.ImportButton); + this.Controls.Add(this.TasksListView); + this.MaximizeBox = false; + this.MaximumSize = new System.Drawing.Size(600, 1024); + this.MinimumSize = new System.Drawing.Size(600, 400); + this.Name = "FrmUI"; + this.Text = "SODDI v.10"; + this.Load += new System.EventHandler(this.FormLoad); + ((System.ComponentModel.ISupportInitialize)(this.BatchSizeNumericUpDown)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.dbProvidersBindingSource)).EndInit(); + this.statusStrip1.ResumeLayout(false); + this.statusStrip1.PerformLayout(); + this.menuStrip1.ResumeLayout(false); + this.menuStrip1.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.errorProvider1)).EndInit(); + this.panel1.ResumeLayout(false); + this.panel1.PerformLayout(); + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private System.Windows.Forms.NumericUpDown BatchSizeNumericUpDown; + private System.Windows.Forms.CheckBox fullTextCheckBox; + private System.Windows.Forms.CheckBox indicesCheckBox; + private System.Windows.Forms.TextBox sourceTextBox; + private System.Windows.Forms.CheckBox splitCheckBox; + private System.Windows.Forms.TextBox targetTextBox; + private System.Windows.Forms.Button ImportButton; + private System.Windows.Forms.ComboBox dbProvidersComboBox; + private System.Windows.Forms.ListView TasksListView; + private System.Windows.Forms.ColumnHeader SiteColumnHeader; + private System.Windows.Forms.ColumnHeader CountColumnHeader; + private System.Windows.Forms.ColumnHeader TableColumnHeader; + private System.Windows.Forms.ColumnHeader StateColumnHeader; + private System.Windows.Forms.ColumnHeader MessageColumnHeader; + private System.Windows.Forms.StatusStrip statusStrip1; + private System.Windows.Forms.MenuStrip menuStrip1; + private System.Windows.Forms.ToolStripMenuItem toolStripMenuItem1; + private System.Windows.Forms.ToolStripStatusLabel StatusLabel; + private System.Windows.Forms.ToolStripMenuItem buildCommandLineToolStripMenuItem; + private System.Windows.Forms.BindingSource dbProvidersBindingSource; + private System.Windows.Forms.ListView listView1; + private System.Windows.Forms.ColumnHeader SiteNameColumnHeader; + private System.Windows.Forms.ColumnHeader SchemaColumnHeader; + private System.Windows.Forms.ErrorProvider errorProvider1; + private System.Windows.Forms.ToolTip toolTip1; + private System.Windows.Forms.Panel panel1; + private System.Windows.Forms.Button BrowseSourceButton; + } +} \ No newline at end of file diff --git a/soddi/Gui/frmUI.cs b/soddi/Gui/frmUI.cs new file mode 100644 index 0000000..cb3a2fe --- /dev/null +++ b/soddi/Gui/frmUI.cs @@ -0,0 +1,360 @@ +// /*! +// * Project: SODDI v.10 +// * http://skysanders.net/tools/se/ +// * +// * Copyright 2010, Sky Sanders +// * Dual licensed under the MIT or GPL Version 2 licenses. +// * http://skysanders.net/tools/se/LICENSE.TXT +// * +// * Date: April 01 2010 +// */ + +#region + +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data.Common; +using System.Diagnostics; +using System.Drawing; +using System.IO; +using System.Linq; +using System.Threading; +using System.Windows.Forms; +using Salient.StackExchange.Import.Configuration; +using Salient.StackExchange.Import.Loaders; +using Salient.StackExchange.Import.Properties; +using Salient.StackExchange.Import.Tools; + +#endregion + +namespace Salient.StackExchange.Import.Gui +{ + public partial class FrmUI : Form + { + private readonly Stopwatch _timer = new Stopwatch(); + private bool _abort; + private List _importTargets; + + public FrmUI(Configuration.Configuration configuration) + { + InitializeComponent(); + InitializeUiFromConfig(configuration); + } + + private void FormLoad(object sender, EventArgs e) + { +#if !MONO + TasksListView.SetExStyles(); +#endif + SourceTextChanged(null, EventArgs.Empty); + sourceTextBox.Focus(); + } + + private void ImportClick(object sender, EventArgs e) + { + if (ImportButton.Text == "Abort") + { + ImportButton.Text = "Aborting"; + ImportButton.Enabled = false; + _abort = true; + } + else + { + if (!ValidateForm()) + { + return; + } + + //_importTargets + + try + { + Configuration.Configuration config = BuildConfigurationFromUi(); + + StartImport(config); + panel1.Enabled = false; + _abort = false; + StatusLabel.Text = "Importing..."; + } + catch (Exception ex) + { + + StatusLabel.Text = ex.Message; + } + } + } + + + private Configuration.Configuration BuildConfigurationFromUi() + { + _importTargets = + listView1.CheckedItems.Cast().Select(i => i.Tag).Cast().ToList(); + Configuration.Configuration tconfig = new Configuration.Configuration + { + Provider = (DbProviderInfo)dbProvidersComboBox.SelectedItem, + Source = sourceTextBox.Text, + Targets = _importTargets, + //Targets = TargetListBox.CheckedItems.Cast().ToList(), + BatchSize = (int)BatchSizeNumericUpDown.Value, + Split = splitCheckBox.Checked, + Indices = indicesCheckBox.Checked, + FullText = fullTextCheckBox.Checked + }; + tconfig.Provider.ConnectionString = targetTextBox.Text; + return tconfig; + } + + + private void InitializeUiFromConfig(Configuration.Configuration configuration) + { + _importTargets = configuration.Targets; + + dbProvidersBindingSource.DataSource = DbProviders.Instance; + + indicesCheckBox.Checked = configuration.Indices; + splitCheckBox.Checked = configuration.Split; + fullTextCheckBox.Checked = configuration.FullText; + BatchSizeNumericUpDown.Value = configuration.BatchSize; + + if (configuration.Provider != null) + { + dbProvidersComboBox.SelectedValue = configuration.Provider.Name; + } + else + { + dbProvidersComboBox.SelectedValue = Settings.Default.ProviderName; + } + OnProviderChange(); + + sourceTextBox.Text = configuration.Source; + + DbProviderInfo provider = configuration.Provider; + + if (provider != null) + { + targetTextBox.Text = provider.ConnectionString; + } + } + + + private void StartImport(Configuration.Configuration config) + { + // clean the plate + TasksListView.Items.Clear(); + TasksListView.Groups.Clear(); + + // build the configuration object and then the loader + + BulkLoader loader = BulkLoader.Create(config); + + + // since we want to track progress of tasks, lets + // get an aggregated list of tasks from the loader's jobs + List tasks = new List(); + loader.Jobs.ForEach(j => j.Tasks.ForEach(tasks.Add)); + + // add a list group for each site being loaded. + // TODO: relocate targets to the loader + config.Targets.ForEach(t => TasksListView.Groups.Add(new ListViewGroup(t.Name, t.Name))); + + // create the list items and event handler + tasks.ForEach(t => + { + ListViewItem item = new ListViewItem(); + + item.SubItems.Add(t.Table); + item.SubItems.Add(""); + item.SubItems.Add(""); + item.SubItems.Add(""); + + TasksListView.Items.Add(item); + item.Group = TasksListView.Groups[t.Site]; + + t.RowsInserted += (ss, eee) => TasksListView.Invoke(() => UpdateTaskItem(t, item, eee)); + }); + + + // set up the import completion handler + loader.Jobs.Complete += (ss, ee) => ImportButton.Invoke(() => + { + ImportButton.Text = "Import"; + ImportButton.Enabled = true; + panel1.Enabled = true; + _timer.Stop(); + long count = loader.Jobs.Select(j => j.Tasks.Sum(t => t.Count)).Sum(); + + + StatusLabel.Text = + string.Format((_abort ? Resources.Rs_ImpAbort : Resources.Rs_ImpComplete) + "\r\n", + count.ToString("#,##0"), + _timer.ElapsedMilliseconds / 1000f / 60f); + }); + + + // start the job + + _timer.Reset(); + _timer.Start(); + ImportButton.Text = "Abort"; + new Thread(() => loader.ProcessJobs(config)).Start(); + } + + private void UpdateTaskItem(BulkCopyTask task, ListViewItem listViewItem, BulkCopyEventArgs args) + { + args.Abort = _abort; + + listViewItem.SubItems[2].Text = task.Count.ToString(); + listViewItem.SubItems[3].Text = task.State.ToString(); + listViewItem.SubItems[4].Text = args.Message; + + switch (args.Type) + { + case CopyEventType.Active: + listViewItem.BackColor = Color.GhostWhite; + listViewItem.ForeColor = Color.DarkGreen; + break; + case CopyEventType.Processing: + listViewItem.BackColor = Color.LightCyan; + listViewItem.ForeColor = Color.DarkBlue; + break; + case CopyEventType.Complete: + + if (_abort) + { + listViewItem.BackColor = Color.Pink; + listViewItem.ForeColor = Color.DarkRed; + listViewItem.SubItems[4].Text = "Aborted"; + } + else + { + listViewItem.BackColor = Color.LightGreen; + listViewItem.ForeColor = Color.DarkGreen; + } + break; + case CopyEventType.Error: + listViewItem.BackColor = Color.Pink; + listViewItem.ForeColor = Color.DarkRed; + break; + default: + listViewItem.BackColor = Color.Transparent; + listViewItem.ForeColor = Color.Black; + break; + } + } + + + private void ProvidersSelectedIndexChanged(object sender, EventArgs e) + { + OnProviderChange(); + } + + + private void OnProviderChange() + { + DbProviderInfo dbProvider = dbProvidersComboBox.SelectedItem as DbProviderInfo; + if (dbProvider != null) + { + fullTextCheckBox.Enabled = dbProvider.InvariantName == "System.Data.SqlClient"; + if (dbProvider.InvariantName != "System.Data.SqlClient") + { + fullTextCheckBox.Checked = false; + } + Settings.Default.ProviderName = dbProvider.Name; + } + } + + private void SourceTextChanged(object sender, EventArgs e) + { + UpdateSites(sourceTextBox.Text, _importTargets); + } + + private void UpdateSites(string source, List selected) + { + listView1.Items.Clear(); + + List targets = null; + if (Directory.Exists(source)) + { + targets = Configuration.Configuration.GetTargets(source, Configuration.Configuration.GetAllSites(source)); + } + + if (targets != null) + { + foreach (ImportTarget target in targets) + { + listView1.Items.Add(new ListViewItem(new[] { target.Name, target.Schema }) + { + Tag = target, + Checked = selected.Find(t => string.Compare(t.Path, target.Path, true) == 0) != null + }); + } + } + } + + protected override void OnClosing(CancelEventArgs e) + { + Settings.Default.Save(); + base.OnClosing(e); + } + + private void buildCommandLineToolStripMenuItem_Click(object sender, EventArgs e) + { + FrmCmdLine frm = new FrmCmdLine(BuildConfigurationFromUi()); + frm.ShowDialog(); + } + + + private void listView1_AfterLabelEdit(object sender, LabelEditEventArgs e) + { + ImportTarget target = (ImportTarget)listView1.Items[e.Item].Tag; + target.Schema = e.Label; + } + + private bool ValidateForm() + { + bool valid = true; + errorProvider1.Clear(); + if (listView1.Items.Count == 0) + { + valid = false; + errorProvider1.SetError(sourceTextBox, "Invalid source path."); + } + if (listView1.CheckedItems.Count == 0) + { + valid = false; + errorProvider1.SetError(listView1, "No sites selected."); + } + + try + { + DbProviderInfo info = (DbProviderInfo)dbProvidersComboBox.SelectedItem; + DbConnectionStringBuilder csb = info.Factory.CreateConnectionStringBuilder(); + csb.ConnectionString = targetTextBox.Text; + targetTextBox.Text = csb.ConnectionString; + } + catch (Exception ex) + { + valid = false; + errorProvider1.SetError(targetTextBox, ex.Message); + } + + return valid; + } + + private void toolStripMenuItem1_Click(object sender, EventArgs e) + { + FrmAbout frm = new FrmAbout(); + frm.Show(); + } + + private void BrowseSourceButton_Click(object sender, EventArgs e) + { + var bfd = new FolderBrowserDialog(); + if (bfd.ShowDialog() == DialogResult.OK) + { + sourceTextBox.Text = bfd.SelectedPath; + } + } + } +} \ No newline at end of file diff --git a/soddi/Gui/frmUI.resx b/soddi/Gui/frmUI.resx new file mode 100644 index 0000000..64b53a1 --- /dev/null +++ b/soddi/Gui/frmUI.resx @@ -0,0 +1,156 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + False + + + False + + + False + + + False + + + False + + + 716, 17 + + + A valid connection string. +MS Sql: Database must exist. +MySql: Omit Database, database(s) will be created for each site. +SQLite: Data Source should be the target directory. Data files will be created for each site. + + + 193, 17 + + + 374, 17 + + + 484, 17 + + + 593, 17 + + \ No newline at end of file diff --git a/soddi/LICENSE.TXT b/soddi/LICENSE.TXT new file mode 100644 index 0000000..1b12a37 --- /dev/null +++ b/soddi/LICENSE.TXT @@ -0,0 +1,15 @@ +You may use this code under the terms of either the MIT License or +the GNU General Public License (GPL) Version 2. + +The MIT License is recommended for most projects. It is simple and +easy to understand and it places almost no restrictions on what you +can do with this code. + +If the GPL suits your project better you are also free to use this +code project under that license. + +You don’t have to do anything special to choose one license or the +other and you don’t have to notify anyone which license you are using. + +You are free to use this code in commercial projects as long as the +copyright header is left intact. \ No newline at end of file diff --git a/soddi/Loaders/BulkCopyBase.cs b/soddi/Loaders/BulkCopyBase.cs new file mode 100644 index 0000000..e705ae5 --- /dev/null +++ b/soddi/Loaders/BulkCopyBase.cs @@ -0,0 +1,41 @@ +// /*! +// * Project: SODDI v.10 +// * http://skysanders.net/tools/se/ +// * +// * Copyright 2010, Sky Sanders +// * Dual licensed under the MIT or GPL Version 2 licenses. +// * http://skysanders.net/tools/se/LICENSE.TXT +// * +// * Date: April 01 2010 +// */ + +#region + +using System; +using System.Data; + +#endregion + +namespace Salient.StackExchange.Import.Loaders +{ + public abstract class BulkCopyBase + { + public virtual int BatchSize { get; set; } + public virtual int BulkCopyTimeout { get; set; } + public virtual string DestinationTableName { get; set; } + public virtual int NotifyAfter { get; set; } + public event EventHandler RowsInserted; + + protected virtual void OnRowsInserted(BulkCopyEventArgs ea) + { + if (RowsInserted != null) + RowsInserted(this, ea); + } + + public abstract void AddColumnMappings(string source, string target, DbType type); + + public virtual void WriteToServer(IDataReader reader) + { + } + } +} \ No newline at end of file diff --git a/soddi/Loaders/BulkCopyEventArgs.cs b/soddi/Loaders/BulkCopyEventArgs.cs new file mode 100644 index 0000000..261230f --- /dev/null +++ b/soddi/Loaders/BulkCopyEventArgs.cs @@ -0,0 +1,56 @@ +// /*! +// * Project: SODDI v.10 +// * http://skysanders.net/tools/se/ +// * +// * Copyright 2010, Sky Sanders +// * Dual licensed under the MIT or GPL Version 2 licenses. +// * http://skysanders.net/tools/se/LICENSE.TXT +// * +// * Date: April 01 2010 +// */ + +#region + +using System; + +#endregion + +namespace Salient.StackExchange.Import.Loaders +{ + public class BulkCopyEventArgs : EventArgs + { + #region Fields + + #endregion + + #region Constructors + + public BulkCopyEventArgs() + { + } + + public BulkCopyEventArgs(CopyEventType type, Guid id, string message, long count) + { + Count = count; + Type = type; + Message = message; + Id = id; + } + + #endregion + + #region Properties + + public bool Abort { get; set; } + + public long Count { get; set; } + + public Guid Id { get; set; } + + public string Message { get; set; } + + public CopyEventType Type { get; set; } + + #endregion + } +} \ No newline at end of file diff --git a/soddi/Loaders/BulkCopyTask.cs b/soddi/Loaders/BulkCopyTask.cs new file mode 100644 index 0000000..4120ce1 --- /dev/null +++ b/soddi/Loaders/BulkCopyTask.cs @@ -0,0 +1,204 @@ +// /*! +// * Project: SODDI v.10 +// * http://skysanders.net/tools/se/ +// * +// * Copyright 2010, Sky Sanders +// * Dual licensed under the MIT or GPL Version 2 licenses. +// * http://skysanders.net/tools/se/LICENSE.TXT +// * +// * Date: April 01 2010 +// */ + +#region + +using System; +using System.Data; +using Salient.Data; +using Salient.StackExchange.Import.Tools; + +#endregion + +namespace Salient.StackExchange.Import.Loaders +{ + /// + /// Streams an EnumerableDataReader into the destination table via SqlBulkCopy + /// + public class BulkCopyTask + { + private const int NotifyCount = 5000; + public event EventHandler Complete; + public event EventHandler PostProcess; + + public virtual void OnPostProcess() + { + OnRowsInserted(CopyEventType.Processing); + if (PostProcess != null) + PostProcess(this, EventArgs.Empty); + } + + public virtual void OnComplete() + { + OnRowsInserted(CopyEventType.Complete); + if (Complete != null) + Complete(this, EventArgs.Empty); + } + + #region Fields + + private readonly int _batchSize; + + private readonly BulkCopyBase _bc; + + private readonly Guid _id; + + private readonly EnumerableDataReader _readerIn; + + private readonly string _schema; + + private readonly string _site; + + private readonly string _table; + private long _count; + private CopyEventType _state; + + #endregion + + #region Events + + public event EventHandler RowsInserted; + + #endregion + + #region Constructors + + internal BulkCopyTask(BulkCopyBase bc, string table, EnumerableDataReader readerIn, string site, int batchSize, + string schema) + { + _id = Guid.NewGuid(); + _bc = bc; + _site = site; + _table = table; + _schema = schema; + _batchSize = batchSize; + _readerIn = readerIn; + } + + #endregion + + #region Properties + + public long Count + { + get { return _count; } + } + + public Guid Id + { + get { return _id; } + } + + public string Schema + { + get { return _schema; } + } + + public string Site + { + get { return _site; } + } + + public CopyEventType State + { + get { return _state; } + } + + public string Table + { + get { return _table; } + } + + public string Tag { get; set; } + + #endregion + + #region Public Methods + + public void Process() + { + _count = 0; + bool aborted = false; + try + { + OnRowsInserted(CopyEventType.Begin, "Initializing"); + + _bc.NotifyAfter = NotifyCount; + + _bc.RowsInserted += (s, e) => + { + _count += _bc.NotifyAfter; + e.Abort = OnRowsInserted(CopyEventType.Active); + if (e.Abort) + { + OnRowsInserted(CopyEventType.Error, "Aborted"); + aborted = true; + } + }; + _bc.BulkCopyTimeout = 35000; + if (_batchSize > 0) + { + _bc.BatchSize = _batchSize; + } + + _bc.DestinationTableName = string.IsNullOrEmpty(Schema) + ? Table + : string.Format("[{0}].{1}", Schema, Table); + + DataTable st = _readerIn.GetSchemaTable(); + + using (EnumerableDataReader reader = _readerIn) + { + for (int i = 0; i < reader.FieldCount; i++) + { + string fieldName = reader.GetName(i); + + _bc.AddColumnMappings(fieldName, fieldName, TypeConverter.ToDbType(st.Columns[i].DataType)); + } + + _bc.WriteToServer(reader); + + reader.Close(); + + if (!aborted) + { + OnPostProcess(); + } + OnComplete(); + } + } + catch (Exception ex) + { + OnRowsInserted(CopyEventType.Error, ex.Message); + } + } + + #endregion + + #region Protected Methods + + public virtual bool OnRowsInserted(CopyEventType type, string message) + { + _state = type; + BulkCopyEventArgs ea = new BulkCopyEventArgs(type, Id, message, _count); + if (RowsInserted != null) + RowsInserted(null, ea); + return ea.Abort; + } + + protected virtual bool OnRowsInserted(CopyEventType type) + { + return OnRowsInserted(type, string.Empty); + } + + #endregion + } +} \ No newline at end of file diff --git a/soddi/Loaders/BulkLoadJob.cs b/soddi/Loaders/BulkLoadJob.cs new file mode 100644 index 0000000..14fbd43 --- /dev/null +++ b/soddi/Loaders/BulkLoadJob.cs @@ -0,0 +1,112 @@ +// /*! +// * Project: SODDI v.10 +// * http://skysanders.net/tools/se/ +// * +// * Copyright 2010, Sky Sanders +// * Dual licensed under the MIT or GPL Version 2 licenses. +// * http://skysanders.net/tools/se/LICENSE.TXT +// * +// * Date: April 01 2010 +// */ + +#region + +using System; +using System.Collections.Generic; +using System.Threading; + +#endregion + +namespace Salient.StackExchange.Import.Loaders +{ + /// + /// Manages a group of related BulkInsertTasks that are to + /// be run sequentially. In this case, we are cuing all updates + /// to a particular table into one BulkInsertJob to prevent deadlocks. + /// + public class BulkLoadJob + { + #region Fields + + private readonly TaskList _tasks; + + #endregion + + #region Events + + public event EventHandler Complete; + + public event EventHandler RowsInserted; + + #endregion + + #region Constructors + + public BulkLoadJob() + { + _tasks = new TaskList(); + _tasks.Complete += (s, e) => OnComplete(); + _tasks.RowsInserted += (s, e) => OnRowsInserted(e); + } + + #endregion + + #region Properties + + public string Tag { get; set; } + + public TaskList Tasks + { + get { return _tasks; } + } + + #endregion + + #region Public Methods + + public BulkCopyTask Find(string site) + { + return _tasks.Find(t => t.Site == site); + } + + public virtual void OnComplete() + { + if (Complete != null) + Complete(this, EventArgs.Empty); + } + + public void Process() + { + List threads = new List(); + foreach (BulkCopyTask task in _tasks) + { +#if NOTHREAD + task.Process(); +#else + Thread t = new Thread(task.Process); + threads.Add(t); + t.Start(); +#endif + } + threads.ForEach(t => t.Join()); + } + + #endregion + + #region Protected Methods + + protected virtual bool OnRowsInserted(object sender, BulkCopyEventArgs e) + { + return OnRowsInserted(e); + } + + protected virtual bool OnRowsInserted(BulkCopyEventArgs e) + { + if (RowsInserted != null) + RowsInserted(null, e); + return e.Abort; + } + + #endregion + } +} \ No newline at end of file diff --git a/soddi/Loaders/BulkLoader.cs b/soddi/Loaders/BulkLoader.cs new file mode 100644 index 0000000..8c3bd3d --- /dev/null +++ b/soddi/Loaders/BulkLoader.cs @@ -0,0 +1,136 @@ +// /*! +// * Project: SODDI v.10 +// * http://skysanders.net/tools/se/ +// * +// * Copyright 2010, Sky Sanders +// * Dual licensed under the MIT or GPL Version 2 licenses. +// * http://skysanders.net/tools/se/LICENSE.TXT +// * +// * Date: April 01 2010 +// */ + +#region + +using System; +using System.Collections; +using System.Collections.Generic; +using System.Reflection; +using System.Threading; +using Salient.Data; + +#endregion + +namespace Salient.StackExchange.Import.Loaders +{ + public abstract class BulkLoader + { + #region Fields + + private readonly JobList _jobs; + + protected Configuration.Configuration Config; + + #endregion + + #region Events + + public event EventHandler RowsInserted; + + #endregion + + #region Constructors + + protected BulkLoader(Configuration.Configuration config) + { + _jobs = new JobList(); + _jobs.RowsInserted += (s, e) => OnRowsInserted(e); + Config = config; + } + + #endregion + + #region Properties + + public JobList Jobs + { + get { return _jobs; } + } + + #endregion + + #region Public Methods + + public virtual void Configure() + { + foreach (ImportTarget target in Config.Targets) + { + foreach (Type type in Config.GetAllTableTypes()) + { + MethodInfo methodInfo = typeof (SoBase<>).MakeGenericType(type).GetMethod("FromXmlDocument"); + IEnumerable sequence = + (IEnumerable) methodInfo.Invoke(null, new object[] {target.Path, target.Name}); + EnumerableDataReader reader = new EnumerableDataReader(sequence); + + CreateBulkInsertTask(type.Name, reader, target); + } + + PrepareDatabase(target.Schema); + } + } + + public abstract void CreateBulkInsertTask(string table, EnumerableDataReader reader, ImportTarget target); + + public static BulkLoader Create(Configuration.Configuration config) + { + Type providerType = config.Provider.BulkInsertType; + BulkLoader result = (BulkLoader) Activator.CreateInstance(providerType, new object[] {config}); + result.Configure(); + return result; + } + + + public virtual void PrepareDatabase(string schema) + { + /*noop*/ + } + + public virtual void ProcessJobs(Configuration.Configuration config) + { + List threads = new List(); + + foreach (BulkLoadJob job in Jobs) + { +#if NOTHREAD + job.Process(); +#else + Thread t = new Thread(job.Process); + threads.Add(t); + t.Start(); +#endif + } + + foreach (Thread t in threads) + { + t.Join(); + } + } + + #endregion + + #region Protected Methods + + protected virtual bool OnRowsInserted(object sender, BulkCopyEventArgs e) + { + return OnRowsInserted(e); + } + + protected virtual bool OnRowsInserted(BulkCopyEventArgs e) + { + if (RowsInserted != null) + RowsInserted(this, e); + return e.Abort; + } + + #endregion + } +} \ No newline at end of file diff --git a/soddi/Loaders/CopyEventType.cs b/soddi/Loaders/CopyEventType.cs new file mode 100644 index 0000000..da51639 --- /dev/null +++ b/soddi/Loaders/CopyEventType.cs @@ -0,0 +1,23 @@ +// /*! +// * Project: SODDI v.10 +// * http://skysanders.net/tools/se/ +// * +// * Copyright 2010, Sky Sanders +// * Dual licensed under the MIT or GPL Version 2 licenses. +// * http://skysanders.net/tools/se/LICENSE.TXT +// * +// * Date: April 01 2010 +// */ +namespace Salient.StackExchange.Import.Loaders +{ + public enum CopyEventType + { + None, + Pending, + Begin, + Active, + Processing, + Complete, + Error + } +} \ No newline at end of file diff --git a/soddi/Loaders/ISoBase.cs b/soddi/Loaders/ISoBase.cs new file mode 100644 index 0000000..d31f6c2 --- /dev/null +++ b/soddi/Loaders/ISoBase.cs @@ -0,0 +1,19 @@ +// /*! +// * Project: SODDI v.10 +// * http://skysanders.net/tools/se/ +// * +// * Copyright 2010, Sky Sanders +// * Dual licensed under the MIT or GPL Version 2 licenses. +// * http://skysanders.net/tools/se/LICENSE.TXT +// * +// * Date: April 01 2010 +// */ +namespace Salient.StackExchange.Import.Loaders +{ + /// + /// Marker Interface + /// + public interface ISoBase + { + } +} \ No newline at end of file diff --git a/soddi/Loaders/ImportTarget.cs b/soddi/Loaders/ImportTarget.cs new file mode 100644 index 0000000..c1e1e67 --- /dev/null +++ b/soddi/Loaders/ImportTarget.cs @@ -0,0 +1,47 @@ +// /*! +// * Project: SODDI v.10 +// * http://skysanders.net/tools/se/ +// * +// * Copyright 2010, Sky Sanders +// * Dual licensed under the MIT or GPL Version 2 licenses. +// * http://skysanders.net/tools/se/LICENSE.TXT +// * +// * Date: April 01 2010 +// */ + +#region + +using System; + +#endregion + +namespace Salient.StackExchange.Import.Loaders +{ + public class ImportTarget + { + #region Fields + + public String Name; + public string Path; + + public string Schema; + + #endregion + + #region Constructors + + public ImportTarget(string site, string path, string schema) + { + Name = site; + Path = path; + Schema = schema; + } + + public override string ToString() + { + return Name; + } + + #endregion + } +} \ No newline at end of file diff --git a/soddi/Loaders/JobList.cs b/soddi/Loaders/JobList.cs new file mode 100644 index 0000000..e773428 --- /dev/null +++ b/soddi/Loaders/JobList.cs @@ -0,0 +1,116 @@ +// /*! +// * Project: SODDI v.10 +// * http://skysanders.net/tools/se/ +// * +// * Copyright 2010, Sky Sanders +// * Dual licensed under the MIT or GPL Version 2 licenses. +// * http://skysanders.net/tools/se/LICENSE.TXT +// * +// * Date: April 01 2010 +// */ + +#region + +using System; +using System.Collections.Generic; +using Salient.StackExchange.Import.Loaders; + +#endregion + +namespace Salient.StackExchange.Import +{ + public class JobList : List + { + #region Fields + + private CopyEventType _state; + + #endregion + + #region Events + + public event EventHandler Complete; + + public event EventHandler RowsInserted; + + #endregion + + #region Properties + + public CopyEventType State + { + get { return _state; } + } + + #endregion + + #region Public Methods + + public new void Add(BulkLoadJob job) + { + job.RowsInserted += (s, e) => OnRowsInserted(e); + base.Add(job); + } + + public BulkCopyTask FindTask(Guid id) + { + BulkCopyTask task = null; + foreach (BulkLoadJob job in this) + { + task = job.Tasks.Find(t => t.Id == id); + if (task != null) + { + break; + } + } + return task; + } + + #endregion + + #region Protected Methods + + protected virtual void OnComplete() + { + if (Complete != null) + Complete(this, EventArgs.Empty); + } + + protected virtual bool OnRowsInserted(BulkCopyEventArgs e) + { + bool hasErrors = false; + bool isComplete = true; + foreach (BulkLoadJob job in this) + { + if (job.Tasks.State == CopyEventType.Error) + { + hasErrors = true; + } + if (!(job.Tasks.State == CopyEventType.Error || job.Tasks.State == CopyEventType.Complete)) + { + isComplete = false; + } + } + + _state = isComplete ? hasErrors ? CopyEventType.Error : CopyEventType.Complete : CopyEventType.Active; + + if (RowsInserted != null) + RowsInserted(null, e); + + + if (_state == CopyEventType.Complete || _state == CopyEventType.Error) + { + OnComplete(); + } + + return e.Abort; + } + + protected virtual bool OnRowsInserted(object sender, BulkCopyEventArgs e) + { + return OnRowsInserted(e); + } + + #endregion + } +} \ No newline at end of file diff --git a/soddi/Loaders/LoaderAttribute.cs b/soddi/Loaders/LoaderAttribute.cs new file mode 100644 index 0000000..861c097 --- /dev/null +++ b/soddi/Loaders/LoaderAttribute.cs @@ -0,0 +1,30 @@ +// /*! +// * Project: SODDI v.10 +// * http://skysanders.net/tools/se/ +// * +// * Copyright 2010, Sky Sanders +// * Dual licensed under the MIT or GPL Version 2 licenses. +// * http://skysanders.net/tools/se/LICENSE.TXT +// * +// * Date: April 01 2010 +// */ + +#region + +using System; + +#endregion + +namespace Salient.StackExchange.Import.Loaders +{ + [AttributeUsage(AttributeTargets.Class)] + public class LoaderAttribute : Attribute + { + public LoaderAttribute(string providerInvariantName) + { + ProviderInvariantName = providerInvariantName; + } + + public string ProviderInvariantName { get; set; } + } +} \ No newline at end of file diff --git a/soddi/Loaders/MsSql/MSSqlInserter.cs b/soddi/Loaders/MsSql/MSSqlInserter.cs new file mode 100644 index 0000000..9f6e7ce --- /dev/null +++ b/soddi/Loaders/MsSql/MSSqlInserter.cs @@ -0,0 +1,109 @@ +// /*! +// * Project: SODDI v.10 +// * http://skysanders.net/tools/se/ +// * +// * Copyright 2010, Sky Sanders +// * Dual licensed under the MIT or GPL Version 2 licenses. +// * http://skysanders.net/tools/se/LICENSE.TXT +// * +// * Date: April 01 2010 +// */ + +#region + +using System; +using System.Data.SqlClient; +using System.Reflection; +using Salient.Data; +using Salient.StackExchange.Import.Tools; + +#endregion + +namespace Salient.StackExchange.Import.Loaders.MsSql +{ + [Loader("System.Data.SqlClient")] + public class MSSqlInserter : BulkLoader + { + public MSSqlInserter(Configuration.Configuration config) + : base(config) + { + } + + public override void Configure() + { + Type[] allTableTypes = Config.GetAllTableTypes(); + foreach (Type item in allTableTypes) + { + Jobs.Add(new BulkLoadJob {Tag = item.Name}); + } + + base.Configure(); + } + + public override void CreateBulkInsertTask(string table, EnumerableDataReader reader, ImportTarget target) + { + BulkCopyTask task = + new BulkCopyTask(new MsSqlBulkCopy(Config.Provider.ConnectionString, SqlBulkCopyOptions.TableLock), + table, reader, target.Name, Config.BatchSize, target.Schema); + + Jobs.Find(j => j.Tag == table).Tasks.Add(task); + } + + public override void PrepareDatabase(string schema) + { + using (SqlConnection conn = new SqlConnection(Config.Provider.ConnectionString)) + { + conn.Open(); + + + using (SqlCommand cmd = conn.CreateCommand()) + { + cmd.CommandTimeout = 300; + cmd.CommandText = string.Format("CREATE SCHEMA {0} AUTHORIZATION [dbo]", schema); + + try + { + // have to wrap it up or delete it first. would rather fail on exists + cmd.ExecuteNonQuery(); + } + catch + { + } + + + string script = Common.GetTextResource("Loaders\\Scripts\\mssql.sql", + Assembly.GetExecutingAssembly()); + script = script.Replace("PostFullText", + string.Format("{0}PostFullText", schema.Replace(" ", "").Trim('[', ']'))); + script = script.Replace("DUMMY", schema); + + + if ((Config.Options & Configuration.Configuration.ImportOptions.Split) == + Configuration.Configuration.ImportOptions.Split) + { + script = script.Replace("IF 0 = 1--SPLIT", ""); + } + if ((Config.Options & Configuration.Configuration.ImportOptions.FullText) == + Configuration.Configuration.ImportOptions.FullText) + { + script = script.Replace("IF 0 = 1--FULLTEXT", ""); + } + if ((Config.Options & Configuration.Configuration.ImportOptions.Indices) == + Configuration.Configuration.ImportOptions.Indices) + { + script = script.Replace("IF 0 = 1-- INDICES", ""); + } + + if ((Config.Options & Configuration.Configuration.ImportOptions.Indices) == + Configuration.Configuration.ImportOptions.Indices) + { + script = script.Replace("-- INDICES", ""); + } + cmd.CommandText = script; + + cmd.ExecuteNonQuery(); + } + } + } + } +} \ No newline at end of file diff --git a/soddi/Loaders/MsSql/MsSqlBulkInserter.cs b/soddi/Loaders/MsSql/MsSqlBulkInserter.cs new file mode 100644 index 0000000..d0cb75c --- /dev/null +++ b/soddi/Loaders/MsSql/MsSqlBulkInserter.cs @@ -0,0 +1,75 @@ +// /*! +// * Project: SODDI v.10 +// * http://skysanders.net/tools/se/ +// * +// * Copyright 2010, Sky Sanders +// * Dual licensed under the MIT or GPL Version 2 licenses. +// * http://skysanders.net/tools/se/LICENSE.TXT +// * +// * Date: April 01 2010 +// */ + +#region + +using System.Data; +using System.Data.SqlClient; + +#endregion + +namespace Salient.StackExchange.Import.Loaders.MsSql +{ + public class MsSqlBulkCopy : BulkCopyBase + { + private readonly SqlBulkCopy _inner; + + + public MsSqlBulkCopy(string connectionString, SqlBulkCopyOptions options) + { + _inner = new SqlBulkCopy(connectionString, options); + _inner.SqlRowsCopied += (s, e) => + { + BulkCopyEventArgs args = new BulkCopyEventArgs {Count = e.RowsCopied, Type = CopyEventType.Active}; + OnRowsInserted(args); + + e.Abort = args.Abort; + }; + } + + + public override int BatchSize + { + get { return _inner.BatchSize; } + set { _inner.BatchSize = value; } + } + + public override int BulkCopyTimeout + { + get { return _inner.BulkCopyTimeout; } + set { _inner.BulkCopyTimeout = value; } + } + + public override string DestinationTableName + { + get { return _inner.DestinationTableName; } + set { _inner.DestinationTableName = value; } + } + + public override int NotifyAfter + { + get { return _inner.NotifyAfter; } + set { _inner.NotifyAfter = value; } + } + + + public override void AddColumnMappings(string source, string target, DbType ignored) + { + _inner.ColumnMappings.Add(source, target); + } + + + public override void WriteToServer(IDataReader reader) + { + _inner.WriteToServer(reader); + } + } +} \ No newline at end of file diff --git a/soddi/Loaders/MySql/MySqlBulkInserter.cs b/soddi/Loaders/MySql/MySqlBulkInserter.cs new file mode 100644 index 0000000..c43d4f2 --- /dev/null +++ b/soddi/Loaders/MySql/MySqlBulkInserter.cs @@ -0,0 +1,119 @@ +// /*! +// * Project: SODDI v.10 +// * http://skysanders.net/tools/se/ +// * +// * Copyright 2010, Sky Sanders +// * Dual licensed under the MIT or GPL Version 2 licenses. +// * http://skysanders.net/tools/se/LICENSE.TXT +// * +// * Date: April 01 2010 +// */ + +#region + +using System; +using System.Data; +using System.Diagnostics; +using System.Linq; +using MySql.Data.MySqlClient; + +#endregion + +namespace Salient.StackExchange.Import.Loaders.MySql +{ + public class MySqlBulkInserter : BulkCopyBase + { + private readonly MySqlCommand _command; + + private readonly string _schema; + + private readonly string _source; + + private readonly string _table; + + + public MySqlBulkInserter(string source, string table, string schema) + { + _schema = schema; + _table = table; + + _command = new MySqlCommand(); + _source = source; + } + + + public override void AddColumnMappings(string source, string target, DbType type) + { + _command.Parameters.Add(new MySqlParameter(target, null) {SourceColumn = source}); + } + + public override void WriteToServer(IDataReader reader) + { + const string insertFormat = "insert into `{3}`.`{0}` ({1}) values ({2});"; + + string names = string.Join(",", + _command.Parameters.Cast().Select(p => p.ParameterName).ToArray()); + string vals = string.Join(",", + _command.Parameters.Cast().Select(p => "?" + p.ParameterName). + ToArray()); + + _command.CommandText = string.Format(insertFormat, _table, names, vals, _schema); + + int reportCounter = 0; + int totalRecords = 0; + bool finished = false; + + using (MySqlConnection connection = new MySqlConnection(_source)) + { + connection.Open(); + _command.Connection = connection; + _command.Prepare(); + + while (!finished) + { + using (MySqlTransaction dbTrans = connection.BeginTransaction(IsolationLevel.ReadUncommitted)) + { + for (int i = 0; i < BatchSize; i++) + { + if (!reader.Read()) + { + finished = true; + break; + } + + try + { + for (int p = 0; p < _command.Parameters.Count; p++) + { + _command.Parameters[p].Value = reader.GetValue(p); + } + _command.ExecuteNonQuery(); + } + catch (Exception ex) + { + Trace.WriteLine(ex.Message); + throw; + } + reportCounter++; + totalRecords++; + + if (reportCounter >= NotifyAfter) + { + reportCounter = 0; + BulkCopyEventArgs args = new BulkCopyEventArgs + {Count = totalRecords, Type = CopyEventType.Active}; + OnRowsInserted(args); + if (args.Abort) + { + finished = true; + break; + } + } + } + dbTrans.Commit(); + } + } + } + } + } +} \ No newline at end of file diff --git a/soddi/Loaders/MySql/MySqlInserter.cs b/soddi/Loaders/MySql/MySqlInserter.cs new file mode 100644 index 0000000..782714e --- /dev/null +++ b/soddi/Loaders/MySql/MySqlInserter.cs @@ -0,0 +1,95 @@ +// /*! +// * Project: SODDI v.10 +// * http://skysanders.net/tools/se/ +// * +// * Copyright 2010, Sky Sanders +// * Dual licensed under the MIT or GPL Version 2 licenses. +// * http://skysanders.net/tools/se/LICENSE.TXT +// * +// * Date: April 01 2010 +// */ + +#region + +using System; +using System.Reflection; +using MySql.Data.MySqlClient; +using Salient.Data; +using Salient.StackExchange.Import.Tools; + +#endregion + +namespace Salient.StackExchange.Import.Loaders.MySql +{ + [Loader("MySql.Data.MySqlClient")] + public class MySqlInserter : BulkLoader + { + public MySqlInserter(Configuration.Configuration config) + : base(config) + { + } + + public override void Configure() + { + Type[] allTableTypes = Config.GetAllTableTypes(); + foreach (Type item in allTableTypes) + { + Jobs.Add(new BulkLoadJob {Tag = item.Name}); + } + + base.Configure(); + } + + public override void CreateBulkInsertTask(string table, EnumerableDataReader reader, ImportTarget target) + { + BulkCopyTask task = + new BulkCopyTask(new MySqlBulkInserter(Config.Provider.ConnectionString, table, target.Schema), table, + reader, target.Name, Config.BatchSize, target.Schema); + + Jobs.Find(j => j.Tag == table).Tasks.Add(task); + } + + + public override void PrepareDatabase(string schema) + { + using (MySqlConnection conn = new MySqlConnection(Config.Provider.ConnectionString)) + { + conn.Open(); + + using (MySqlCommand cmd = conn.CreateCommand()) + { + cmd.CommandTimeout = 300; + + string script = Common.GetTextResource("Loaders\\Scripts\\mysql.sql", + Assembly.GetExecutingAssembly()); + + script = script.Replace("DUMMY", "`" + schema + "`"); + + if ((Config.Options & Configuration.Configuration.ImportOptions.Split) == + Configuration.Configuration.ImportOptions.Split) + { + script = script.Replace("IF 0 = 1--SPLIT", ""); + } + if ((Config.Options & Configuration.Configuration.ImportOptions.FullText) == + Configuration.Configuration.ImportOptions.FullText) + { + script = script.Replace("IF 0 = 1--FULLTEXT", ""); + } + if ((Config.Options & Configuration.Configuration.ImportOptions.Indices) == + Configuration.Configuration.ImportOptions.Indices) + { + script = script.Replace("IF 0 = 1-- INDICES", ""); + } + if ((Config.Options & Configuration.Configuration.ImportOptions.Indices) == + Configuration.Configuration.ImportOptions.Indices) + { + script = script.Replace("-- INDICES", ""); + } + cmd.CommandText = script; + + cmd.ExecuteNonQuery(); + } + } + } + } +} \ No newline at end of file diff --git a/soddi/Loaders/SQLite/SQLiteBulkInserter.cs b/soddi/Loaders/SQLite/SQLiteBulkInserter.cs new file mode 100644 index 0000000..ef64060 --- /dev/null +++ b/soddi/Loaders/SQLite/SQLiteBulkInserter.cs @@ -0,0 +1,136 @@ +// /*! +// * Project: SODDI v.10 +// * http://skysanders.net/tools/se/ +// * +// * Copyright 2010, Sky Sanders +// * Dual licensed under the MIT or GPL Version 2 licenses. +// * http://skysanders.net/tools/se/LICENSE.TXT +// * +// * Date: April 01 2010 +// */ + +#region + +using System; +using System.Data; +using System.Data.Common; +using System.Data.SQLite; +using System.Diagnostics; +using System.IO; +using System.Linq; +using System.Reflection; +using Salient.StackExchange.Import.Tools; + +#endregion + +namespace Salient.StackExchange.Import.Loaders.SQLite +{ + public class SQLiteBulkInserter : BulkCopyBase + { + private readonly SQLiteCommand _command; + + private readonly string _schema; + + private readonly string _source; + + private readonly string _table; + + + public SQLiteBulkInserter(string source, string schema, string table) + { + _table = table; + + _command = new SQLiteCommand(); + _schema = schema; + _source = source; + } + + + public override void AddColumnMappings(string source, string target, DbType type) + { + _command.Parameters.Add(new SQLiteParameter(target, type, source)); + } + + public override void WriteToServer(IDataReader reader) + { + const string insertFormat = "insert into {0}_tmp ({1}) values ({2});"; + + string path = Path.Combine(_source, _schema + "." + _table + ".db3"); + if (File.Exists(path)) + { + File.Delete(path); + } + string connectionString = string.Format("Data Source={0};Version=3;New=True;", path); + + + int reportCounter = 0; + int totalRecords = 0; + bool finished = false; + using (SQLiteConnection connection = new SQLiteConnection(connectionString)) + { + connection.Open(); + + _command.Connection = connection; + _command.CommandText = "pragma journal_mode = off;pragma foreign_keys=off;"; + _command.ExecuteNonQuery(); + _command.CommandText = + Common.GetTextResource("Loaders\\Scripts\\sqlite-tmp.sql", Assembly.GetExecutingAssembly()); + _command.ExecuteNonQuery(); + + string names = string.Join(",", + _command.Parameters.Cast().Select(p => p.ParameterName). + ToArray()); + string vals = string.Join(",", _command.Parameters.Cast().Select(p => "?").ToArray()); + _command.CommandText = string.Format(insertFormat, _table, names, vals); + + + _command.Connection = connection; + + while (!finished) + { + using (DbTransaction dbTrans = connection.BeginTransaction()) + { + for (int i = 0; i < BatchSize; i++) + { + if (!reader.Read()) + { + finished = true; + break; + } + + try + { + for (int p = 0; p < _command.Parameters.Count; p++) + { + _command.Parameters[p].Value = reader.GetValue(p); + } + _command.ExecuteNonQuery(); + } + catch (Exception ex) + { + Trace.WriteLine(ex.Message); + throw; + } + reportCounter++; + totalRecords++; + + if (reportCounter >= NotifyAfter) + { + reportCounter = 0; + BulkCopyEventArgs args = new BulkCopyEventArgs + {Count = totalRecords, Type = CopyEventType.Active}; + OnRowsInserted(args); + if (args.Abort) + { + finished = true; + break; + } + } + } + dbTrans.Commit(); + } + } + } + } + } +} \ No newline at end of file diff --git a/soddi/Loaders/SQLite/SQLiteInserter.cs b/soddi/Loaders/SQLite/SQLiteInserter.cs new file mode 100644 index 0000000..772443f --- /dev/null +++ b/soddi/Loaders/SQLite/SQLiteInserter.cs @@ -0,0 +1,183 @@ +// /*! +// * Project: SODDI v.10 +// * http://skysanders.net/tools/se/ +// * +// * Copyright 2010, Sky Sanders +// * Dual licensed under the MIT or GPL Version 2 licenses. +// * http://skysanders.net/tools/se/LICENSE.TXT +// * +// * Date: April 01 2010 +// */ + +#region + +using System; +using System.Collections; +using System.Data; +using System.Data.SQLite; +using System.IO; +using System.Linq; +using System.Reflection; +using System.Threading; +using Salient.Data; +using Salient.StackExchange.Import.Tools; + +#endregion + +namespace Salient.StackExchange.Import.Loaders.SQLite +{ + [Loader("System.Data.SQLite")] + public class SQLiteInserter : BulkLoader + { + /// + /// An overly aggressive attempt at maximizing performance + /// + private const string Pragma = + "PRAGMA synchronous=OFF;PRAGMA count_changes = FALSE;PRAGMA journal_mode = OFF;PRAGMA locking_mode = NORMAL;PRAGMA page_size = 32768;PRAGMA temp_store = MEMORY;PRAGMA foreign_keys=OFF"; + + /// + /// One lock for each site's db3 file. For use in controlling merge + /// + private readonly Hashtable _locks = new Hashtable(); + + private string _targetPath; + + public SQLiteInserter(Configuration.Configuration config) + : base(config) + { + } + + + public override void Configure() + { + SQLiteConnectionStringBuilder csb = new SQLiteConnectionStringBuilder(Config.Provider.ConnectionString); + _targetPath = csb.DataSource; + + + foreach (ImportTarget target in Config.Targets) + { + PrepareOutputDataFile(_targetPath, target.Schema); + _locks[target.Name] = new object(); + Jobs.Add(new BulkLoadJob {Tag = target.Schema}); + } + + base.Configure(); + } + + + public override void CreateBulkInsertTask(string table, EnumerableDataReader reader, ImportTarget target) + { + BulkCopyTask task = new BulkCopyTask(new SQLiteBulkInserter(_targetPath, target.Schema, table), table, + reader, target.Name, Config.BatchSize, target.Schema); + task.PostProcess += PostProcess; // when the task is complete, merge into main file + _locks[task.Schema] = new object(); + Jobs.Find(j => j.Tag == target.Schema).Tasks.Add(task); + } + + + private void CreateMainDbFile(string connectionString) + { + using (SQLiteConnection conn = new SQLiteConnection(connectionString)) + { + conn.Open(); + using (SQLiteCommand cmd = conn.CreateCommand()) + { + cmd.CommandText = Pragma; + cmd.ExecuteNonQuery(); + + string script = Common.GetTextResource("Loaders\\Scripts\\sqlite-main.sql", + Assembly.GetExecutingAssembly()); + if (Config.Indices) + { + script = script.Replace("-- INDICES", ""); + } + cmd.CommandText = script; + cmd.ExecuteNonQuery(); + } + } + } + + private static string GetConnectionString(string targetPath, string schema) + { + return string.Format(@"Data Source={0};Version=3;New=True;", GetOutputPath(targetPath, schema)); + } + + private static string GetOutputPath(string targetPath, string schema) + { + return Path.Combine(targetPath, string.Format("{0}.db3", schema)); + } + + private static void PrepareOutputDatabaseFile(string targetPath, string schema) + { + Directory.CreateDirectory(targetPath); + string path = GetOutputPath(targetPath, schema); + if (File.Exists(path)) + { + File.Delete(path); + } + + } + + private void PrepareOutputDataFile(string targetPath, string schema) + { + PrepareOutputDatabaseFile(targetPath, schema); + CreateMainDbFile(GetConnectionString(targetPath, schema)); + } + + private void PostProcess(object sender, EventArgs e) + { + const string transferFormat = "INSERT INTO main.{0} ({1} ) SELECT {1} from tmp{0}.{0}_tmp;"; + BulkCopyTask task = (BulkCopyTask) sender; + if (task.State != CopyEventType.Processing) + { + // dont want to merge suspect results + return; + } + + task.OnRowsInserted(CopyEventType.Processing, "Waiting to merge..."); + + string table = task.Table; + + string sourcePath = Path.Combine(_targetPath, string.Format("{0}.{1}.db3", task.Schema, table)); + lock (_locks[task.Schema]) + { + task.OnRowsInserted(CopyEventType.Processing, "Merging..."); + + using (SQLiteConnection conn = new SQLiteConnection(GetConnectionString(_targetPath, task.Schema))) + { + conn.Open(); + SQLiteCommand cmd = conn.CreateCommand(); + cmd.CommandText = Pragma; + cmd.ExecuteNonQuery(); + try + { + cmd.CommandText = string.Format("ATTACH DATABASE \"{1}\" as [tmp{0}]", table, sourcePath); + cmd.ExecuteNonQuery(); + using (SQLiteTransaction tx = conn.BeginTransaction()) + { + DataTable tableInfo = conn.GetSchema("Columns", new[] {"tmp" + table, null, table + "_tmp"}); + string columnList = string.Join(",", + tableInfo.Select().Select(r => r["COLUMN_NAME"]).Cast + (). + ToArray()); + cmd.CommandText = string.Format(transferFormat, table, columnList); + cmd.ExecuteNonQuery(); + tx.Commit(); + } + + cmd.CommandText = string.Format("DETACH DATABASE [tmp{0}]", table); + cmd.ExecuteNonQuery(); + } + catch (Exception ex) + { + task.OnRowsInserted(CopyEventType.Error, ex.Message); + return; + } + + Thread.Sleep(100); + File.Delete(sourcePath); + } + } + } + } +} \ No newline at end of file diff --git a/soddi/Loaders/Scripts/mssql.sql b/soddi/Loaders/Scripts/mssql.sql new file mode 100644 index 0000000..955deb1 --- /dev/null +++ b/soddi/Loaders/Scripts/mssql.sql @@ -0,0 +1,261 @@ +-- NOTE: DUMMY is replaced by the name of the site + +IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'DUMMY.[Badges]') AND type in (N'U')) +DROP TABLE DUMMY.[Badges] +IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'DUMMY.[Comments]') AND type in (N'U')) +DROP TABLE DUMMY.[Comments] +IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'DUMMY.[Posts]') AND type in (N'U')) +DROP TABLE DUMMY.[Posts] +IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'DUMMY.[PostTags]') AND type in (N'U')) +DROP TABLE DUMMY.[PostTags] +IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'DUMMY.[PostTypes]') AND type in (N'U')) +DROP TABLE DUMMY.[PostTypes] +IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'DUMMY.[Users]') AND type in (N'U')) +DROP TABLE DUMMY.[Users] +IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'DUMMY.[Votes]') AND type in (N'U')) +DROP TABLE DUMMY.[Votes] +IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'DUMMY.[VoteTypes]') AND type in (N'U')) +DROP TABLE DUMMY.[VoteTypes] + +SET ansi_nulls ON +SET quoted_identifier ON +SET ansi_padding ON + +CREATE TABLE DUMMY.[VoteTypes] ( + [Id] [INT] NOT NULL, + [Name] [VARCHAR](40) NOT NULL + , CONSTRAINT [PK__VoteType__3214EC073864608B] PRIMARY KEY CLUSTERED ( [Id] ASC ) ON [PRIMARY] + )ON [PRIMARY] + +SET ansi_nulls ON +SET quoted_identifier ON + +CREATE TABLE DUMMY.[PostTypes] ( + [Id] [INT] NOT NULL, + [Type] [NVARCHAR](10) NOT NULL + , CONSTRAINT [PK_PostTypes] PRIMARY KEY CLUSTERED ( [Id] ASC ) ON [PRIMARY] + ) ON [PRIMARY] + +IF 0 = 1--SPLIT + BEGIN + SET ansi_nulls ON + SET quoted_identifier ON + + CREATE TABLE DUMMY.[PostTags] ( + [PostId] [INT] NOT NULL, + [Tag] [NVARCHAR](50) NOT NULL + , CONSTRAINT [PK_PostTags_1] PRIMARY KEY CLUSTERED ( [PostId] ASC,[Tag] ASC ) ON [PRIMARY] + ) ON [PRIMARY] + + END +INSERT DUMMY.[VoteTypes] ([Id], [Name]) VALUES(1, N'AcceptedByOriginator') +INSERT DUMMY.[VoteTypes] ([Id], [Name]) VALUES(2, N'UpMod') +INSERT DUMMY.[VoteTypes] ([Id], [Name]) VALUES(3, N'DownMod') +INSERT DUMMY.[VoteTypes] ([Id], [Name]) VALUES(4, N'Offensive') +INSERT DUMMY.[VoteTypes] ([Id], [Name]) VALUES(5, N'Favorite') +INSERT DUMMY.[VoteTypes] ([Id], [Name]) VALUES(6, N'Close') +INSERT DUMMY.[VoteTypes] ([Id], [Name]) VALUES(7, N'Reopen') +INSERT DUMMY.[VoteTypes] ([Id], [Name]) VALUES(8, N'BountyStart') +INSERT DUMMY.[VoteTypes] ([Id], [Name]) VALUES(9, N'BountyClose') +INSERT DUMMY.[VoteTypes] ([Id], [Name]) VALUES(10,N'Deletion') +INSERT DUMMY.[VoteTypes] ([Id], [Name]) VALUES(11,N'Undeletion') +INSERT DUMMY.[VoteTypes] ([Id], [Name]) VALUES(12,N'Spam') +INSERT DUMMY.[VoteTypes] ([Id], [Name]) VALUES(13,N'InformModerator') +INSERT DUMMY.[PostTypes] ([Id], [Type]) VALUES(1, N'Question') +INSERT DUMMY.[PostTypes] ([Id], [Type]) VALUES(2, N'Answer') + +IF 0 = 1--FULLTEXT + BEGIN + IF EXISTS (SELECT * FROM sys.fulltext_indexes fti WHERE fti.object_id = OBJECT_ID(N'DUMMY.[Posts]')) + ALTER FULLTEXT INDEX ON DUMMY.[Posts] DISABLE + IF EXISTS (SELECT * FROM sys.fulltext_indexes fti WHERE fti.object_id = OBJECT_ID(N'DUMMY.[Posts]')) + DROP FULLTEXT INDEX ON DUMMY.[Posts] + IF EXISTS (SELECT * FROM sysfulltextcatalogs ftc WHERE ftc.name = N'PostFullText') + DROP FULLTEXT CATALOG [PostFullText] + CREATE FULLTEXT CATALOG [PostFullText]WITH ACCENT_SENSITIVITY = ON + AUTHORIZATION dbo + END + + + +SET ansi_padding OFF +SET ansi_nulls ON +SET quoted_identifier ON + +CREATE TABLE DUMMY.[Votes] ( + [Id] [INT] NOT NULL, + [PostId] [INT] NOT NULL, + [UserId] [INT] NULL, + [BountyAmount] [INT] NULL, + [VoteTypeId] [INT] NOT NULL, + [CreationDate] [DATETIME] NOT NULL + , CONSTRAINT [PK_Votes] PRIMARY KEY CLUSTERED ( [Id] ASC ) ON [PRIMARY] + ) ON [PRIMARY] + +IF 0 = 1-- INDICES + BEGIN + CREATE NONCLUSTERED INDEX [IX_Votes_Id_PostId] ON DUMMY.[Votes] ( + [Id] ASC, + [PostId] ASC) + ON [PRIMARY] + + CREATE NONCLUSTERED INDEX [IX_Votes_VoteTypeId] ON DUMMY.[Votes] ( + [VoteTypeId] ASC) + ON [PRIMARY] + END + +SET ansi_nulls ON +SET quoted_identifier ON + +CREATE TABLE DUMMY.[Users] ( + [Id] [INT] NOT NULL, + [AboutMe] [NVARCHAR](MAX) NULL, + [Age] [INT] NULL, + [CreationDate] [DATETIME] NOT NULL, + [DisplayName] [NVARCHAR](40) NOT NULL, + [DownVotes] [INT] NOT NULL, + [EmailHash] [NVARCHAR](40) NULL, + [LastAccessDate] [DATETIME] NOT NULL, + [Location] [NVARCHAR](100) NULL, + [Reputation] [INT] NOT NULL, + [UpVotes] [INT] NOT NULL, + [Views] [INT] NOT NULL, + [WebsiteUrl] [NVARCHAR](200) NULL + , CONSTRAINT [PK_Users] PRIMARY KEY CLUSTERED ( [Id] ASC ) ON [PRIMARY] + ) ON [PRIMARY] + +IF 0 = 1-- INDICES + BEGIN + CREATE NONCLUSTERED INDEX [IX_Users_DisplayName] ON DUMMY.[Users] ( + [DisplayName] ASC) + ON [PRIMARY] + END + + +SET ansi_nulls ON +SET quoted_identifier ON + +CREATE TABLE DUMMY.[Posts] ( + [Id] [INT] NOT NULL, + [AcceptedAnswerId] [INT] NULL, + [AnswerCount] [INT] NULL, + [Body] [NTEXT] NOT NULL, + [ClosedDate] [DATETIME] NULL, + [CommentCount] [INT] NULL, + [CommunityOwnedDate] [DATETIME] NULL, + [CreationDate] [DATETIME] NOT NULL, + [FavoriteCount] [INT] NULL, + [LastActivityDate] [DATETIME] NOT NULL, + [LastEditDate] [DATETIME] NULL, + [LastEditorDisplayName] [NVARCHAR](40) NULL, + [LastEditorUserId] [INT] NULL, + [OwnerUserId] [INT] NULL, + [ParentId] [INT] NULL, + [PostTypeId] [INT] NOT NULL, + [Score] [INT] NOT NULL, + [Tags] [NVARCHAR](150) NULL, + [Title] [NVARCHAR](250) NULL, + [ViewCount] [INT] NOT NULL + , CONSTRAINT [PK_Posts] PRIMARY KEY CLUSTERED ( [Id] ASC ) ON [PRIMARY] + -- INDICES ,CONSTRAINT [IX_Posts_Id_AcceptedAnswerId] UNIQUE NONCLUSTERED ([Id] ASC,[AcceptedAnswerId] ASC ) ON [PRIMARY], + -- INDICES CONSTRAINT [IX_Posts_Id_OwnerUserId] UNIQUE NONCLUSTERED ([Id] ASC,[OwnerUserId] ASC ) ON [PRIMARY], + -- INDICES CONSTRAINT [IX_Posts_Id_ParentId] UNIQUE NONCLUSTERED ([Id] ASC,[ParentId] ASC ) ON [PRIMARY] + )ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] + +IF 0 = 1-- INDICES + BEGIN + CREATE NONCLUSTERED INDEX [IX_Posts_Id_PostTypeId] ON DUMMY.[Posts] ( + [Id] ASC, + [PostTypeId] ASC) + ON [PRIMARY] + + CREATE NONCLUSTERED INDEX [IX_Posts_PostType] ON DUMMY.[Posts] ( + [PostTypeId] ASC) + ON [PRIMARY] + END + +IF 0 = 1--FULLTEXT + BEGIN + EXEC dbo.Sp_fulltext_table + @tabname = N'DUMMY.[Posts]' , + @action = N'create' , + @keyname = N'PK_Posts' , + @ftcat = N'PostFullText' + + DECLARE @lcid INT + + SELECT @lcid = lcid + FROM MASTER.dbo.syslanguages + WHERE alias = N'English' + + EXEC dbo.Sp_fulltext_column + @tabname = N'DUMMY.[Posts]' , + @colname = N'Body' , + @action = N'add' , + @language = @lcid + + SELECT @lcid = lcid + FROM MASTER.dbo.syslanguages + WHERE alias = N'English' + + EXEC dbo.Sp_fulltext_column + @tabname = N'DUMMY.[Posts]' , + @colname = N'Title' , + @action = N'add' , + @language = @lcid + + EXEC dbo.Sp_fulltext_table + @tabname = N'DUMMY.[Posts]' , + @action = N'start_change_tracking' + + EXEC dbo.Sp_fulltext_table + @tabname = N'DUMMY.[Posts]' , + @action = N'start_background_updateindex' + + END + +SET ansi_nulls ON +SET quoted_identifier ON + +CREATE TABLE DUMMY.[Comments] ( + [Id] [INT] NOT NULL, + [CreationDate] [DATETIME] NOT NULL, + [PostId] [INT] NOT NULL, + [Score] [INT] NULL, + [Text] [NVARCHAR](700) NOT NULL, + [UserId] [INT] NULL + , CONSTRAINT [PK_Comments] PRIMARY KEY CLUSTERED ( [Id] ASC ) ON [PRIMARY] + ) ON [PRIMARY] + +IF 0 = 1-- INDICES + BEGIN + CREATE NONCLUSTERED INDEX [IX_Comments_Id_PostId] ON DUMMY.[Comments] ( + [Id] ASC, + [PostId] ASC) + ON [PRIMARY] + + CREATE NONCLUSTERED INDEX [IX_Comments_Id_UserId] ON DUMMY.[Comments] ( + [Id] ASC, + [UserId] ASC) + ON [PRIMARY] + END + +SET ansi_nulls ON +SET quoted_identifier ON + +CREATE TABLE DUMMY.[Badges] ( + [Id] [INT] NOT NULL, + [Name] [NVARCHAR](40) NOT NULL, + [UserId] [INT] NOT NULL, + [Date] [DATETIME] NOT NULL + , CONSTRAINT [PK_Badges] PRIMARY KEY CLUSTERED ( [Id] ASC ) ON [PRIMARY] + ) ON [PRIMARY] + +IF 0 = 1-- INDICES + BEGIN + CREATE NONCLUSTERED INDEX [IX_Badges_Id_UserId] ON DUMMY.[Badges] ( + [Id] ASC, + [UserId] ASC) + ON [PRIMARY] + END + \ No newline at end of file diff --git a/soddi/Loaders/Scripts/mysql.sql b/soddi/Loaders/Scripts/mysql.sql new file mode 100644 index 0000000..90bea2a --- /dev/null +++ b/soddi/Loaders/Scripts/mysql.sql @@ -0,0 +1,191 @@ +-- NOTE: DUMMY is replaced by the site name, e.g. 'so' or 'meta' + +DROP SCHEMA IF EXISTS DUMMY ; +CREATE SCHEMA IF NOT EXISTS DUMMY DEFAULT CHARACTER SET latin1 ; +USE DUMMY; + +-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- - +-- Table DUMMY.`votetypes` +-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- - +DROP TABLE IF EXISTS DUMMY.`votetypes` ; + +CREATE TABLE IF NOT EXISTS DUMMY.`votetypes` ( + `Id` INT(11) NOT NULL , + `Name` VARCHAR(40) CHARACTER SET 'utf8' NOT NULL + , PRIMARY KEY (`Id`) + ) +ENGINE = MyISAM +DEFAULT CHARACTER SET = latin1; + + +-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- - +-- Table DUMMY.`posttags` +-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- - +DROP TABLE IF EXISTS DUMMY.`posttags` ; + +CREATE TABLE IF NOT EXISTS DUMMY.`posttags` ( + `PostId` INT(11) NOT NULL , + `Tag` VARCHAR(50) CHARACTER SET 'utf8' NOT NULL + , PRIMARY KEY (`PostId`, `Tag`) + ) +ENGINE = MyISAM +DEFAULT CHARACTER SET = latin1; + + +-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- - +-- Table DUMMY.`posttypes` +-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- - +DROP TABLE IF EXISTS DUMMY.`posttypes` ; + +CREATE TABLE IF NOT EXISTS DUMMY.`posttypes` ( + `Id` INT(11) NOT NULL , + `Type` VARCHAR(10) CHARACTER SET 'utf8' NOT NULL + , PRIMARY KEY (`Id`) + ) +ENGINE = MyISAM +DEFAULT CHARACTER SET = latin1; + + + +INSERT DUMMY.`VoteTypes` (`Id`, `Name`) VALUES(1, 'AcceptedByOriginator'); +INSERT DUMMY.`VoteTypes` (`Id`, `Name`) VALUES(2, 'UpMod'); +INSERT DUMMY.`VoteTypes` (`Id`, `Name`) VALUES(3, 'DownMod'); +INSERT DUMMY.`VoteTypes` (`Id`, `Name`) VALUES(4, 'Offensive'); +INSERT DUMMY.`VoteTypes` (`Id`, `Name`) VALUES(5, 'Favorite'); +INSERT DUMMY.`VoteTypes` (`Id`, `Name`) VALUES(6, 'Close'); +INSERT DUMMY.`VoteTypes` (`Id`, `Name`) VALUES(7, 'Reopen'); +INSERT DUMMY.`VoteTypes` (`Id`, `Name`) VALUES(8, 'BountyStart'); +INSERT DUMMY.`VoteTypes` (`Id`, `Name`) VALUES(9, 'BountyClose'); +INSERT DUMMY.`VoteTypes` (`Id`, `Name`) VALUES(10,'Deletion'); +INSERT DUMMY.`VoteTypes` (`Id`, `Name`) VALUES(11,'Undeletion'); +INSERT DUMMY.`VoteTypes` (`Id`, `Name`) VALUES(12,'Spam'); +INSERT DUMMY.`VoteTypes` (`Id`, `Name`) VALUES(13,'InformModerator'); +INSERT DUMMY.`PostTypes` (`Id`, `Type`) VALUES(1, 'Question') ; +INSERT DUMMY.`PostTypes` (`Id`, `Type`) VALUES(2, 'Answer') ; + +-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- - +-- Table DUMMY.`badges` +-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- - +DROP TABLE IF EXISTS DUMMY.`badges` ; + +CREATE TABLE IF NOT EXISTS DUMMY.`badges` ( + `Id` INT(11) NOT NULL , + `Name` VARCHAR(40) CHARACTER SET 'utf8' NOT NULL , + `UserId` INT(11) NOT NULL , + `Date` DATETIME NOT NULL + , PRIMARY KEY (`Id`) + ) +ENGINE = MyISAM +DEFAULT CHARACTER SET = latin1; + +-- INDICES CREATE INDEX `IX_Badges_Id_UserId` ON DUMMY.`badges` (`Id` ASC, `UserId` ASC) ; + + +-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- - +-- Table DUMMY.`comments` +-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- - +DROP TABLE IF EXISTS DUMMY.`comments` ; + +CREATE TABLE IF NOT EXISTS DUMMY.`comments` ( + `Id` INT(11) NOT NULL , + `CreationDate` DATETIME NOT NULL , + `PostId` INT(11) NOT NULL , + `Score` INT(11) NULL DEFAULT NULL , + `Text` TEXT CHARACTER SET 'utf8' NOT NULL , + `UserId` INT(11) NULL DEFAULT NULL + , PRIMARY KEY (`Id`) + ) +ENGINE = MyISAM +DEFAULT CHARACTER SET = latin1; + +-- INDICES CREATE INDEX `IX_Comments_Id_PostId` ON DUMMY.`comments` (`Id` ASC, `PostId` ASC) ; +-- INDICES CREATE INDEX `IX_Comments_Id_UserId` ON DUMMY.`comments` (`Id` ASC, `UserId` ASC) ; + + +-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- - +-- Table DUMMY.`posts` +-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- - +DROP TABLE IF EXISTS DUMMY.`posts` ; + +CREATE TABLE IF NOT EXISTS DUMMY.`posts` ( + `Id` INT(11) NOT NULL , + `AcceptedAnswerId` INT(11) NULL DEFAULT NULL , + `AnswerCount` INT(11) NULL DEFAULT NULL , + `Body` LONGTEXT CHARACTER SET 'utf8' NOT NULL , + `ClosedDate` DATETIME NULL DEFAULT NULL , + `CommentCount` INT(11) NULL DEFAULT NULL , + `CommunityOwnedDate` DATETIME NULL DEFAULT NULL , + `CreationDate` DATETIME NOT NULL , + `FavoriteCount` INT(11) NULL DEFAULT NULL , + `LastActivityDate` DATETIME NOT NULL , + `LastEditDate` DATETIME NULL DEFAULT NULL , + `LastEditorDisplayName` VARCHAR(40) CHARACTER SET 'utf8' NULL DEFAULT NULL , + `LastEditorUserId` INT(11) NULL DEFAULT NULL , + `OwnerUserId` INT(11) NULL DEFAULT NULL , + `ParentId` INT(11) NULL DEFAULT NULL , + `PostTypeId` INT(11) NOT NULL , + `Score` INT(11) NOT NULL , + `Tags` VARCHAR(150) CHARACTER SET 'utf8' NULL DEFAULT NULL , + `Title` VARCHAR(250) CHARACTER SET 'utf8' NULL DEFAULT NULL , + `ViewCount` INT(11) NOT NULL + , PRIMARY KEY (`Id`) + ) +ENGINE = MyISAM +DEFAULT CHARACTER SET = latin1; + +-- INDICES CREATE UNIQUE INDEX `IX_Posts_Id_AcceptedAnswerId` ON DUMMY.`posts` (`Id` ASC, `AcceptedAnswerId` ASC) ; +-- INDICES CREATE UNIQUE INDEX `IX_Posts_Id_OwnerUserId` ON DUMMY.`posts` (`Id` ASC, `OwnerUserId` ASC) ; +-- INDICES CREATE UNIQUE INDEX `IX_Posts_Id_ParentId` ON DUMMY.`posts` (`Id` ASC, `ParentId` ASC) ; +-- INDICES CREATE INDEX `IX_Posts_Id_PostTypeId` ON DUMMY.`posts` (`Id` ASC, `PostTypeId` ASC) ; +-- INDICES CREATE INDEX `IX_Posts_PostType` ON DUMMY.`posts` (`PostTypeId` ASC) ; + + +-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- - +-- Table DUMMY.`users` +-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- - +DROP TABLE IF EXISTS DUMMY.`users` ; + +CREATE TABLE IF NOT EXISTS DUMMY.`users` ( + `Id` INT(11) NOT NULL , + `AboutMe` TEXT CHARACTER SET 'utf8' NULL DEFAULT NULL , + `Age` INT(11) NULL DEFAULT NULL , + `CreationDate` DATETIME NOT NULL , + `DisplayName` VARCHAR(40) CHARACTER SET 'utf8' NOT NULL , + `DownVotes` INT(11) NOT NULL , + `EmailHash` VARCHAR(40) CHARACTER SET 'utf8' NULL DEFAULT NULL , + `LastAccessDate` DATETIME NOT NULL , + `Location` VARCHAR(100) CHARACTER SET 'utf8' NULL DEFAULT NULL , + `Reputation` INT(11) NOT NULL , + `UpVotes` INT(11) NOT NULL , + `Views` INT(11) NOT NULL , + `WebsiteUrl` VARCHAR(200) CHARACTER SET 'utf8' NULL DEFAULT NULL + , PRIMARY KEY (`Id`) + ) +ENGINE = MyISAM +DEFAULT CHARACTER SET = latin1; + +-- INDICES CREATE INDEX `IX_Users_DisplayName` ON DUMMY.`users` (`DisplayName` ASC) ; + + +-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- - +-- Table DUMMY.`votes` +-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- - +DROP TABLE IF EXISTS DUMMY.`votes` ; + +CREATE TABLE IF NOT EXISTS DUMMY.`votes` ( + `Id` INT(11) NOT NULL , + `PostId` INT(11) NOT NULL , + `UserId` INT(11) NULL DEFAULT NULL , + `BountyAmount` INT(11) NULL DEFAULT NULL , + `VoteTypeId` INT(11) NOT NULL , + `CreationDate` DATETIME NOT NULL + , PRIMARY KEY (`Id`) + ) +ENGINE = MyISAM +DEFAULT CHARACTER SET = latin1; + +-- INDICES CREATE INDEX `IX_Votes_Id_PostId` ON DUMMY.`votes` (`Id` ASC, `PostId` ASC) ; +-- INDICES CREATE INDEX `IX_Votes_VoteTypeId` ON DUMMY.`votes` (`VoteTypeId` ASC) ; + + + diff --git a/soddi/Loaders/Scripts/sqlite-main.sql b/soddi/Loaders/Scripts/sqlite-main.sql new file mode 100644 index 0000000..88250be --- /dev/null +++ b/soddi/Loaders/Scripts/sqlite-main.sql @@ -0,0 +1,114 @@ +-- this script is used to create the final files + +PRAGMA synchronous=OFF; +PRAGMA count_changes = FALSE; +PRAGMA journal_mode = OFF; +PRAGMA locking_mode = NORMAL; +PRAGMA page_size = 32768; +PRAGMA temp_store = MEMORY; +PRAGMA foreign_keys=OFF; +BEGIN TRANSACTION; +CREATE TABLE [PostTypes] ( + [Id] int PRIMARY KEY NOT NULL, + [Type] nvarchar(10) NOT NULL +); +CREATE TABLE [VoteTypes] ( + [Id] int PRIMARY KEY NOT NULL, + [Name] varchar(40) NOT NULL +); +CREATE TABLE [PostTags] ( + [PostId] int NOT NULL, + [Tag] nvarchar(50) NOT NULL + ,CONSTRAINT [PK_PostTags] PRIMARY KEY ([PostId], [Tag] + ) +); + + +INSERT INTO VoteTypes (Id, Name) VALUES(1, 'AcceptedByOriginator'); +INSERT INTO VoteTypes (Id, Name) VALUES(2, 'UpMod'); +INSERT INTO VoteTypes (Id, Name) VALUES(3, 'DownMod'); +INSERT INTO VoteTypes (Id, Name) VALUES(4, 'Offensive'); +INSERT INTO VoteTypes (Id, Name) VALUES(5, 'Favorite'); +INSERT INTO VoteTypes (Id, Name) VALUES(6, 'Close'); +INSERT INTO VoteTypes (Id, Name) VALUES(7, 'Reopen'); +INSERT INTO VoteTypes (Id, Name) VALUES(8, 'BountyStart'); +INSERT INTO VoteTypes (Id, Name) VALUES(9, 'BountyClose'); +INSERT INTO VoteTypes (Id, Name) VALUES(10,'Deletion'); +INSERT INTO VoteTypes (Id, Name) VALUES(11,'Undeletion'); +INSERT INTO VoteTypes (Id, Name) VALUES(12,'Spam'); +INSERT INTO VoteTypes (Id, Name) VALUES(13,'InformModerator'); +INSERT INTO PostTypes (Id, Type) VALUES(1, 'Question'); +INSERT INTO PostTypes (Id, Type) VALUES(2, 'Answer'); + +CREATE TABLE [Votes] ( + [Id] int PRIMARY KEY NOT NULL, + [PostId] int NOT NULL, + [UserId] int, + [BountyAmount] int, + [VoteTypeId] int NOT NULL, + [CreationDate] datetime NOT NULL +); +CREATE TABLE [Users] ( + [Id] int PRIMARY KEY NOT NULL, + [AboutMe] nvarchar(2100), + [Age] int, + [CreationDate] datetime NOT NULL, + [DisplayName] nvarchar(40) NOT NULL, + [DownVotes] int NOT NULL, + [EmailHash] nvarchar(40), + [LastAccessDate] datetime NOT NULL, + [Location] nvarchar(100), + [Reputation] int NOT NULL, + [UpVotes] int NOT NULL, + [Views] int NOT NULL, + [WebsiteUrl] nvarchar(200) +); +CREATE TABLE [Posts] ( + [Id] int PRIMARY KEY NOT NULL, + [AcceptedAnswerId] int, + [AnswerCount] int, + [Body] ntext NOT NULL, + [ClosedDate] datetime, + [CommentCount] int, + [CommunityOwnedDate] datetime, + [CreationDate] datetime NOT NULL, + [FavoriteCount] int, + [LastActivityDate] datetime NOT NULL, + [LastEditDate] datetime, + [LastEditorDisplayName] nvarchar(40), + [LastEditorUserId] int, + [OwnerUserId] int, + [ParentId] int, + [PostTypeId] int NOT NULL, + [Score] int NOT NULL, + [Tags] nvarchar(150), + [Title] nvarchar(250), + [ViewCount] int NOT NULL +); +CREATE TABLE [Comments] ( + [Id] int PRIMARY KEY NOT NULL, + [CreationDate] datetime NOT NULL, + [PostId] int NOT NULL, + [Score] int, + [Text] nvarchar(700) NOT NULL, + [UserId] int +); +CREATE TABLE [Badges] ( + [Id] int PRIMARY KEY NOT NULL, + [Name] nvarchar(40) NOT NULL, + [UserId] int NOT NULL, + [Date] datetime NOT NULL +); + +-- INDICES CREATE INDEX [IX_Votes_Id_PostId] ON [Votes] ([Id], [PostId]); +-- INDICES CREATE INDEX [IX_Votes_VoteTypeId] ON [Votes] ([VoteTypeId]); +-- INDICES CREATE INDEX [IX_Users_DisplayName] ON [Users] ([DisplayName]); +-- INDICES CREATE INDEX [IX_Posts_Id_AcceptedAnswerId] ON [Posts] ([Id], [AcceptedAnswerId]); +-- INDICES CREATE INDEX [IX_Posts_Id_OwnerUserId] ON [Posts] ([Id], [OwnerUserId]); +-- INDICES CREATE INDEX [IX_Posts_Id_ParentId] ON [Posts] ([Id], [ParentId]); +-- INDICES CREATE INDEX [IX_Posts_Id_PostTypeId] ON [Posts] ([Id], [PostTypeId]); +-- INDICES CREATE INDEX [IX_Posts_PostType] ON [Posts] ([PostTypeId]); +-- INDICES CREATE INDEX [IX_Comments_Id_PostId] ON [Comments] ([Id], [PostId]); +-- INDICES CREATE INDEX [IX_Comments_Id_UserId] ON [Comments] ([Id], [UserId]); +-- INDICES CREATE INDEX [IX_Badges_Id_UserId] ON [Badges] ([Id], [UserId]); +COMMIT; \ No newline at end of file diff --git a/soddi/Loaders/Scripts/sqlite-tmp.sql b/soddi/Loaders/Scripts/sqlite-tmp.sql new file mode 100644 index 0000000..57a3ec9 --- /dev/null +++ b/soddi/Loaders/Scripts/sqlite-tmp.sql @@ -0,0 +1,87 @@ +-- this script is used to create the staging files. No keys or indexes for speed. + +PRAGMA FOREIGN_KEYS=OFF; +PRAGMA JOURNAL_MODE = OFF; +pragma count_changes=0; pragma synchronous=0;pragma journal_mode = 0;pragma locking_mode = normal;pragma page_size = 32768;pragma temp_store = memory;pragma foreign_keys=0; +BEGIN TRANSACTION; +DROP TABLE IF EXISTS [Badges_tmp] ; +CREATE TABLE [Badges_tmp] ( + [Id] int NOT NULL, + [Name] nvarchar(40) NOT NULL, + [UserId] int NOT NULL, + [Date] datetime NOT NULL +); +DROP TABLE IF EXISTS [Comments_tmp] ; +CREATE TABLE [Comments_tmp] ( + [Id] int NOT NULL, + [CreationDate] datetime NOT NULL, + [PostId] int NOT NULL, + [Score] int, + [Text] nvarchar(700) NOT NULL, + [UserId] int +); + +DROP TABLE IF EXISTS [Posts_tmp]; +CREATE TABLE [Posts_tmp] ( + [Id] int NOT NULL, + [AcceptedAnswerId] int, + [AnswerCount] int, + [Body] ntext NOT NULL, + [ClosedDate] datetime, + [CommentCount] int, + [CommunityOwnedDate] datetime, + [CreationDate] datetime NOT NULL, + [FavoriteCount] int, + [LastActivityDate] datetime NOT NULL, + [LastEditDate] datetime, + [LastEditorDisplayName] nvarchar(40), + [LastEditorUserId] int, + [OwnerUserId] int, + [ParentId] int, + [PostTypeId] int NOT NULL, + [Score] int NOT NULL, + [Tags] nvarchar(150), + [Title] nvarchar(250), + [ViewCount] int NOT NULL +); +DROP TABLE IF EXISTS [PostTypes_tmp] ; +CREATE TABLE [PostTypes_tmp] ( + [Id] int NOT NULL, + [Type] nvarchar(10) NOT NULL +); +DROP TABLE IF EXISTS [Users_tmp] ; +CREATE TABLE [Users_tmp] ( + [Id] int NOT NULL, + [AboutMe] nvarchar(2100), + [Age] int, + [CreationDate] datetime NOT NULL, + [DisplayName] nvarchar(40) NOT NULL, + [DownVotes] int NOT NULL, + [EmailHash] nvarchar(40), + [LastAccessDate] datetime NOT NULL, + [Location] nvarchar(100), + [Reputation] int NOT NULL, + [UpVotes] int NOT NULL, + [Views] int NOT NULL, + [WebsiteUrl] nvarchar(200) +); +DROP TABLE IF EXISTS [Votes_tmp] ; +CREATE TABLE [Votes_tmp] ( + [Id] int NOT NULL, + [PostId] int NOT NULL, + [UserId] int, + [BountyAmount] int, + [VoteTypeId] int NOT NULL, + [CreationDate] datetime NOT NULL +); +DROP TABLE IF EXISTS [VoteTypes_tmp]; +CREATE TABLE [VoteTypes_tmp] ( + [Id] int NOT NULL, + [Name] varchar(40) NOT NULL +); + +DROP TABLE IF EXISTS [PostTags_tmp]; +CREATE TABLE [PostTags_tmp] ( + [PostId] int NOT NULL, + [Tag] nvarchar(50) NOT NULL); +COMMIT; \ No newline at end of file diff --git a/soddi/Loaders/SoBase.cs b/soddi/Loaders/SoBase.cs new file mode 100644 index 0000000..beda3fe --- /dev/null +++ b/soddi/Loaders/SoBase.cs @@ -0,0 +1,155 @@ +// /*! +// * Project: SODDI v.10 +// * http://skysanders.net/tools/se/ +// * +// * Copyright 2010, Sky Sanders +// * Dual licensed under the MIT or GPL Version 2 licenses. +// * http://skysanders.net/tools/se/LICENSE.TXT +// * +// * Date: April 01 2010 +// */ + +#region + +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Text.RegularExpressions; +using System.Xml; +using System.Xml.Linq; +using Salient.Reflection; +using Salient.StackExchange.Import.TableTypes; + +#endregion + +namespace Salient.StackExchange.Import.Loaders +{ + /// + /// Provides fast deserialization functionality via dynamic + /// getter/setters. + /// + /// The properties of the derived classes correspond directly + /// to both the source xml schema and the destination schema. + /// + /// Any changes to these object will not result in rainbows and + /// unicorns. You are warned. + /// + /// + /// + public abstract class SoBase where T : class, ISoBase, new() + { + #region Readonly + + private static readonly IList Props; + + #endregion + + #region Constructors + + static SoBase() + { + Props = DynamicProperties.CreatePropertyMethods(typeof (T)); + } + + #endregion + + #region Public Methods + + public static T FromXElement(XElement r) + { + T result = new T(); + foreach (DynamicProperties.Property prop in Props) + { + XAttribute attribute = r.Attribute(prop.Info.Name); + if (attribute != null) + { + prop.Setter(result, GetValueOrDefault(attribute, prop.Info.PropertyType)); + } + } + + return result; + } + + /// + /// Types and returns the value of an attribute or the default of the + /// type if the attribute is null. + /// + /// + /// + /// + private static object GetValueOrDefault(XAttribute attr, Type returnType) + { + if (attr == null) + { + return returnType.IsValueType ? Activator.CreateInstance(returnType) : null; + } + + Type baseType = returnType; + + if (returnType.IsGenericType && returnType.GetGenericTypeDefinition() == typeof (Nullable<>)) + { + baseType = returnType.GetGenericArguments()[0]; + } + + return Convert.ChangeType(attr.Value, baseType); + } + + public static string GetTableName(Type t) + { + return (string) t.GetMethod("GetFileName").Invoke(null, null); + } + + /// + /// Returns a streaming sequence of T deserialized from a stackoverflow + /// data dump xml document. + /// + /// The type of domain object to stream + /// A stackoverflow data dump directory + /// + /// + public static IEnumerable FromXmlDocument(string path, string site) + { + Regex rx = new Regex(@"\<([^>]+)\>", RegexOptions.Compiled); + + string filename = GetTableName(typeof (T)); + string filePath = Path.Combine(path, filename); + + using (XmlReader rdr = XmlReader.Create(filePath)) + { + rdr.MoveToContent(); + while (rdr.Read()) + { + if ((rdr.NodeType == XmlNodeType.Element) && (rdr.Name == "row")) + { + XElement node = (XElement) XNode.ReadFrom(rdr); + if (typeof (T) == typeof (PostTags)) + { + XAttribute tagsAtt = node.Attributes("Tags").FirstOrDefault(); + if (tagsAtt != null) + { + // ReSharper disable PossibleNullReferenceException + int postId = Convert.ToInt32(node.Attribute("Id").Value); + // ReSharper restore PossibleNullReferenceException + IEnumerable distinctTags = + rx.Matches(tagsAtt.Value).Cast().Select(m => m.Groups[1].Value).Distinct(); + foreach (string tag in distinctTags) + { + T newPostTags = new PostTags {Tag = tag, PostId = postId} as T; + yield return newPostTags; + } + } + } + else + { + yield return FromXElement(node); + } + } + } + rdr.Close(); + } + } + + #endregion + } +} \ No newline at end of file diff --git a/soddi/Loaders/TaskList.cs b/soddi/Loaders/TaskList.cs new file mode 100644 index 0000000..9ab565f --- /dev/null +++ b/soddi/Loaders/TaskList.cs @@ -0,0 +1,104 @@ +// /*! +// * Project: SODDI v.10 +// * http://skysanders.net/tools/se/ +// * +// * Copyright 2010, Sky Sanders +// * Dual licensed under the MIT or GPL Version 2 licenses. +// * http://skysanders.net/tools/se/LICENSE.TXT +// * +// * Date: April 01 2010 +// */ + +#region + +using System; +using System.Collections.Generic; + +#endregion + +namespace Salient.StackExchange.Import.Loaders +{ + public class TaskList : List + { + #region Fields + + private CopyEventType _state; + + #endregion + + #region Events + + public event EventHandler Complete; + public event EventHandler RowsInserted; + + #endregion + + #region Properties + + public CopyEventType State + { + get { return _state; } + } + + #endregion + + #region Public Methods + + public new void Add(BulkCopyTask task) + { + task.RowsInserted += (s, e) => OnRowsInserted(e); + base.Add(task); + } + + #endregion + + #region Protected Methods + + protected virtual void OnComplete() + { + if (Complete != null) + Complete(this, EventArgs.Empty); + } + + + protected virtual bool OnRowsInserted(BulkCopyEventArgs e) + { + bool hasErrors = false; + bool isComplete = true; + + foreach (BulkCopyTask task in this) + { + if (task.State == CopyEventType.Error) + { + hasErrors = true; + } + if (task.State != CopyEventType.Error && task.State != CopyEventType.Complete) + { + isComplete = false; + } + } + + _state = isComplete ? hasErrors ? CopyEventType.Error : CopyEventType.Complete : CopyEventType.Active; + + _state = isComplete ? hasErrors ? CopyEventType.Error : CopyEventType.Complete : CopyEventType.Active; + + if (RowsInserted != null) + RowsInserted(null, e); + + + if (_state == CopyEventType.Complete || _state == CopyEventType.Error) + { + OnComplete(); + } + + return e.Abort; + } + + protected virtual bool OnRowsInserted(object sender, BulkCopyEventArgs e) + { + return OnRowsInserted(e); + } + + #endregion + } +} \ No newline at end of file diff --git a/soddi/MIT.TXT b/soddi/MIT.TXT new file mode 100644 index 0000000..fae0008 --- /dev/null +++ b/soddi/MIT.TXT @@ -0,0 +1,20 @@ +Copyright (c) 2010 Sky Sanders, http://skysanders.net/ + +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. \ No newline at end of file diff --git a/soddi/Program.cs b/soddi/Program.cs new file mode 100644 index 0000000..cf8b471 --- /dev/null +++ b/soddi/Program.cs @@ -0,0 +1,91 @@ +// /*! +// * Project: SODDI v.10 +// * http://skysanders.net/tools/se/ +// * +// * Copyright 2010, Sky Sanders +// * Dual licensed under the MIT or GPL Version 2 licenses. +// * http://skysanders.net/tools/se/LICENSE.TXT +// * +// * Date: April 01 2010 +// */ + +#region + +using System; +using System.Diagnostics; +using System.Linq; +using System.Windows.Forms; +using Salient.StackExchange.Import.Gui; +using Salient.StackExchange.Import.Loaders; +using Salient.StackExchange.Import.Properties; +using Salient.StackExchange.Import.Tools; +using System.Reflection; + +#endregion + +namespace Salient.StackExchange.Import +{ + internal class Program + { + [STAThread] + public static void Main(string[] args) + { + try + { + + BulkLoader inserter; + Console.WriteLine(); + Console.Title = "StackOverflow Data Dump Import v.10"; + Console.WriteLine(Console.Title); + Console.WriteLine(); + if(args.ToList().Find(a=>a.ToLowerInvariant()=="help" || a.ToLowerInvariant()=="?")!=null) + { + RenderUsage(); + return; + } + Configuration.Configuration config = new Configuration.Configuration(args); + Console.WriteLine(config.ToString(false)); + + if (config.GUI || args.Length == 0) + { + Application.EnableVisualStyles(); + Application.Run(new FrmUI(config)); // or whatever + } + else + { + inserter = BulkLoader.Create(config); + + inserter.RowsInserted += (s, e) => + { + if (e.Type == CopyEventType.Error) + { + Console.WriteLine(e.Message); + } + }; + + Stopwatch sw = new Stopwatch(); + + sw.Start(); + inserter.ProcessJobs(config); + sw.Stop(); + + long count = inserter.Jobs.Select(j => j.Tasks.Sum(t => t.Count)).Sum(); + Console.WriteLine(Resources.Rs_ImpComplete + "\r\n", count.ToString("#,##0"), + sw.ElapsedMilliseconds / 1000f / 60f); + } + } + catch (Exception ex) + { + + Console.WriteLine("\r\n{0}\r\n",ex.Message); + RenderUsage(); + } + } + + private static void RenderUsage() + { + string usage = Common.GetTextResource(@"README.txt",Assembly.GetExecutingAssembly()); + Console.WriteLine(usage); + } + } +} \ No newline at end of file diff --git a/soddi/Properties/AssemblyInfo.cs b/soddi/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..85ef0c8 --- /dev/null +++ b/soddi/Properties/AssemblyInfo.cs @@ -0,0 +1,39 @@ +using System.Reflection; +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("SODDI .10")] +[assembly: AssemblyDescription("StackOverflow Data Dump Import - March 2010 Schema")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("Salient Solutions")] +[assembly: AssemblyProduct("SODDI")] +[assembly: AssemblyCopyright("Copyright © Sky Sanders 2010")] +[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("b17cf004-de1d-41c6-8f6e-fa2949e2529b")] + +// 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("0.1.1.0")] +[assembly: AssemblyFileVersion("0.1.1.0")] \ No newline at end of file diff --git a/soddi/Properties/Resources.Designer.cs b/soddi/Properties/Resources.Designer.cs new file mode 100644 index 0000000..300af2e --- /dev/null +++ b/soddi/Properties/Resources.Designer.cs @@ -0,0 +1,81 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.18051 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace Salient.StackExchange.Import.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", "4.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("Salient.StackExchange.Import.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 string similar to Aborted. Approximately {0} rows in {1:N} minutes.. + /// + internal static string Rs_ImpAbort { + get { + return ResourceManager.GetString("Rs_ImpAbort", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Import complete. Approximately {0} rows in {1:N} minutes.. + /// + internal static string Rs_ImpComplete { + get { + return ResourceManager.GetString("Rs_ImpComplete", resourceCulture); + } + } + } +} diff --git a/soddi/Properties/Resources.resx b/soddi/Properties/Resources.resx new file mode 100644 index 0000000..11d7861 --- /dev/null +++ b/soddi/Properties/Resources.resx @@ -0,0 +1,126 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Aborted. Approximately {0} rows in {1:N} minutes. + + + Import complete. Approximately {0} rows in {1:N} minutes. + + \ No newline at end of file diff --git a/soddi/Properties/Settings.Designer.cs b/soddi/Properties/Settings.Designer.cs new file mode 100644 index 0000000..67596d6 --- /dev/null +++ b/soddi/Properties/Settings.Designer.cs @@ -0,0 +1,98 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.18051 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace Salient.StackExchange.Import.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; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("")] + public string SourceValue { + get { + return ((string)(this["SourceValue"])); + } + set { + this["SourceValue"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("")] + public string TargetText { + get { + return ((string)(this["TargetText"])); + } + set { + this["TargetText"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("False")] + public bool SplitChecked { + get { + return ((bool)(this["SplitChecked"])); + } + set { + this["SplitChecked"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("False")] + public bool IndicesChecked { + get { + return ((bool)(this["IndicesChecked"])); + } + set { + this["IndicesChecked"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("False")] + public bool FullTextChecked { + get { + return ((bool)(this["FullTextChecked"])); + } + set { + this["FullTextChecked"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("")] + public string ProviderName { + get { + return ((string)(this["ProviderName"])); + } + set { + this["ProviderName"] = value; + } + } + } +} diff --git a/soddi/Properties/Settings.settings b/soddi/Properties/Settings.settings new file mode 100644 index 0000000..561797a --- /dev/null +++ b/soddi/Properties/Settings.settings @@ -0,0 +1,24 @@ + + + + + + + + + + + + False + + + False + + + False + + + + + + \ No newline at end of file diff --git a/soddi/README.txt b/soddi/README.txt new file mode 100644 index 0000000..69d09e7 --- /dev/null +++ b/soddi/README.txt @@ -0,0 +1,126 @@ + +StackOverflow Data Dump Import v.11 + + ClickOnce Installer: http://skysanders.net/tools/se/soddi/publish.htm + + (c) 2010 Sky Sanders + licensed under MIT/GPL - see license.txt + + info:http://skysanders.net/tools/se + msi :http://skysanders.net/files/soddi.11.msi + bin :http://skysanders.net/files/soddi.11.zip + src :http://bitbucket.org/bitpusher/soddi/ + + +SODDI is a .Net 3.5 sp1 executable written in C# that quickly and cleanly imports StackOverflow Data Dump XML files into +MS Sql Server 2000/05/08, MySql Server 5.1 and SQLite3. (MySql and SQLite drivers are included) + +SODDI can be run as a command line utility or, when invoked with no arguments or GUI argument, will +present a Windows Form interface. + +Quick Start: +The quickest route to your own copy of the StackOverflow databases is to use the ClickOnce installer, +browse to the uncompressed data dump, accept the default SQLite provider selection and click 'Import'. + + +USAGE: + +soddi.exe source:"" target:"" [batch:5000] [split] [indices] [fulltext] [[meta] [so] [su] [sf]] [gui] + + +SOURCE The directory containing the individual site directories. + NOTE: do not include trailing slash in quoted path as the arg + parser will interpret it as an escaped quote and puke. + +TARGET A valid ADO.Net connection string, including the provider invariant + name. + + Platform specific connection string details: + + Sql Server: Database must exist. Data will be loaded into tables segregated by + schema named as the site data being imported. e.g. so.Users, meta.Users. + The tables are dropped before import. + + MySql: Connection string should include server, each site's data will be loaded + into a database named as the site imported. The databases will be dropped and + recreated before import. + + SQLite: Connection string should specify a directory. The data will be imported + into seperate .db3 files, each named as the site imported. Existing data files + will be overwritten. + + The target database/datafile/schema names can be modified by explicitely specifying + sites to import and appending the desired schema as a parameter value or editing + the Sites list item schema in the GUI. + + +-- OPTIONAL ARGUMENTS + +SPLIT Normalize post tags by splitting the concatenated Posts.Tags field into individual + rows in a separate PostTags table. + +INDICES Enables useful indexes on each table. + +FULLTEXT Enables a full text index on Posts.Body and Posts.Title - SqlServer only. + +BATCH Number of rows inserted in each transaction. Default 5000. + +GUI Presents a Windows Forms interface. If SODDI is invoked with arguments and GUI, the UI + will be populated with the supplied arguments. + + The console window will remain open to recieve all debug and error output. + +META|SO|SU|SF Specifies which sites to import. If none are specified, all site directories found in + SOURCE will be imported. + + To specify a different target name simply treat the site name as a parameter. + + e.g. + + Sql Server - SO:StackOverflowData will load the data from the XXXXX SO directory + into the database specified in the connection string and the schema 'StackOverflowData' + + MySql - SO:StackOverflowData will load the data from the XXXXX SO directory + into a new database named StackOverflowData on the server specified in the connection string. + + SQLite - SO:StackOverflowData will load the data from the XXXXX SO directory into a new + db3 file named StackOverflowData.db3 in the directory specified in the connection string. + + In GUI mode you may edit the schema item in the Sites list. + +Options are not case sensitive. + +Example command lines. + +GUI Mode: + soddi + +SQLite - all sites: + soddi source:"F:\Export-030110" target:"data source=c:\temp;version=3;new=True;Provider=System.Data.SQLite" + +MySql - all sites: + soddi source:"F:\Export-030110" target:"server=localhost;user id=root;password=p@ssW0rd;Provider=MySql.Data.MySqlClient" + +MySql - Meta StackOverflow and StackOverflow data into specified databases: + soddi source:"F:\Export-030110" target:"server=localhost;user id=root;password=p@ssW0rd;Provider=MySql.Data.MySqlClient" meta:MetaDb so:SoDb + +Sql Server - all sites: + soddi source:"F:\Export-030110" target:"data source=(local);initial catalog=SOData;integrated security=true;Provider=System.Data.SqlClient" + +Sql Server - StackOverflow data only (SO): + soddi source:"F:\Export-030110" target:"data source=(local);initial catalog=SOData;integrated security=true;Provider=System.Data.SqlClient" so + +Sql Server - StackOverflow data only into schema dbo: + soddi source:"F:\Export-030110" target:"data source=(local);initial catalog=SOData;integrated security=true;Provider=System.Data.SqlClient" so:dbo + + +Sql Server - StackOverflow data only, split tags and add indices: + soddi source:"F:\Export-030110" target:"data source=(local);initial catalog=SOData;integrated security=true;Provider=System.Data.SqlClient" so split indices + + +The latest data dump can be found at +http://blog.stackoverflow.com/category/cc-wiki-dump/ + +04/01/2010 - Sky Sanders + +04/09/2010 - Explicitly set platform to x86 to allow same binaries to run on x64. \ No newline at end of file diff --git a/soddi/ReadMe.htm b/soddi/ReadMe.htm new file mode 100644 index 0000000..c0f77bb --- /dev/null +++ b/soddi/ReadMe.htm @@ -0,0 +1,141 @@ + + + + StackOverflow Data Dump Import v.09 + + + +
+
+
+StackOverflow Data Dump Import v.11
+
+  ClickOnce Installer: http://skysanders.net/tools/se/soddi/publish.htm
+
+  (c) 2010 Sky Sanders
+  licensed under MIT/GPL - see license.txt
+  
+  msi :http://skysanders.net/files/soddi.11.msi
+  info:http://skysanders.net/tools/se
+  bin :http://skysanders.net/files/soddi.11.zip
+  src :http://bitbucket.org/bitpusher/soddi/
+
+
+SODDI is a .Net 3.5 sp1 executable written in C# that quickly and cleanly imports StackOverflow Data Dump XML files into 
+MS Sql Server 2000/05/08, MySql Server 5.1 and SQLite3. (MySql and SQLite drivers are included)
+
+SODDI can be run as a command line utility or, when invoked with no arguments or GUI argument, will
+present a Windows Form interface.
+
+Quick Start:
+The quickest route to your own copy of the StackOverflow databases is to use the ClickOnce installer,
+browse to the uncompressed data dump, accept the default SQLite provider selection and click 'Import'.
+
+USAGE:
+
+soddi.exe source:"" target:"" [batch:5000] [split] [indices] [fulltext] [[meta] [so] [su] [sf]] [gui]
+
+
+SOURCE          The directory containing the individual site directories.
+                NOTE: do not include trailing slash in quoted path as the arg
+                parser will interpret it as an escaped quote and puke.
+
+TARGET          A valid ADO.Net connection string, including the provider invariant
+                name.
+                
+                Platform specific connection string details:
+                
+                Sql Server: Database must exist. Data will be loaded into tables segregated by
+                schema named as the site data being imported. e.g. so.Users, meta.Users.
+                The tables are dropped before import.
+                
+                MySql: Connection string should include server, each site's data will be loaded
+                into a database named as the site imported. The databases will be dropped and 
+                recreated before import.
+                
+                SQLite: Connection string should specify a directory. The data will be imported
+                into seperate .db3 files, each named as the site imported. Existing data files
+                will be overwritten.
+                
+                The target database/datafile/schema names can be modified by explicitely specifying
+                sites to import and appending the desired schema as a parameter value or editing
+                the Sites list item schema in the GUI.
+
+                
+-- OPTIONAL ARGUMENTS
+
+SPLIT           Normalize post tags by splitting the concatenated Posts.Tags field into individual 
+				rows in a separate PostTags table.
+
+INDICES         Enables useful indexes on each table.
+
+FULLTEXT        Enables a full text index on Posts.Body and Posts.Title - SqlServer only.
+
+BATCH           Number of rows inserted in each transaction. Default 5000.
+
+GUI             Presents a Windows Forms interface. If SODDI is invoked with arguments and GUI, the UI
+                will be populated with the supplied arguments.
+                
+                The console window will remain open to recieve all debug and error output.
+
+META|SO|SU|SF   Specifies which sites to import. If none are specified, all site directories found in 
+                SOURCE will be imported.
+                
+                To specify a different target name simply treat the site name as a parameter.
+                
+                e.g. 
+                
+                Sql Server - SO:StackOverflowData will load the data from the XXXXX SO directory 
+                into the database specified in the connection string and the schema 'StackOverflowData'
+                
+                MySql - SO:StackOverflowData will load the data from the XXXXX SO directory 
+                into a new database named StackOverflowData on the server specified in the connection string.
+                
+                SQLite - SO:StackOverflowData will load the data from the XXXXX SO directory into a new 
+                db3 file named StackOverflowData.db3 in the directory specified in the connection string.
+                
+                In GUI mode you may edit the schema item in the Sites list.
+                
+Options are not case sensitive.
+
+Example command lines.
+
+GUI Mode:
+	soddi 
+
+SQLite - all sites:
+	soddi source:"F:\Export-030110" target:"data source=c:\temp;version=3;new=True;Provider=System.Data.SQLite"
+
+MySql - all sites:
+	soddi source:"F:\Export-030110" target:"server=localhost;user id=root;password=p@ssW0rd;Provider=MySql.Data.MySqlClient"
+
+MySql - Meta StackOverflow and StackOverflow data into specified databases:
+	soddi source:"F:\Export-030110" target:"server=localhost;user id=root;password=p@ssW0rd;Provider=MySql.Data.MySqlClient" meta:MetaDb so:SoDb
+	
+Sql Server - all sites:
+	soddi source:"F:\Export-030110" target:"data source=(local);initial catalog=SOData;integrated security=true;Provider=System.Data.SqlClient"
+	
+Sql Server - StackOverflow data only (SO):
+	soddi source:"F:\Export-030110" target:"data source=(local);initial catalog=SOData;integrated security=true;Provider=System.Data.SqlClient" so
+
+Sql Server - StackOverflow data only into schema dbo:
+	soddi source:"F:\Export-030110" target:"data source=(local);initial catalog=SOData;integrated security=true;Provider=System.Data.SqlClient" so:dbo
+
+
+Sql Server - StackOverflow data only, split tags and add indices:
+	soddi source:"F:\Export-030110" target:"data source=(local);initial catalog=SOData;integrated security=true;Provider=System.Data.SqlClient" so split indices
+
+ 
+The latest data dump can be found at
+http://blog.stackoverflow.com/category/cc-wiki-dump/
+
+
+04/01/2010 - Sky Sanders
+
+04/09/2010 - Explicitly set platform to x86 to allow same binaries to run on x64.
+
+ + diff --git a/soddi/Salient.Data/EnumerableDataReader.cs b/soddi/Salient.Data/EnumerableDataReader.cs new file mode 100644 index 0000000..2681378 --- /dev/null +++ b/soddi/Salient.Data/EnumerableDataReader.cs @@ -0,0 +1,122 @@ +/*! + * Project: Salient.Data + * File : EnumerableDataReader.cs + * http://spikes.codeplex.com + * + * Copyright 2010, Sky Sanders + * Dual licensed under the MIT or GPL Version 2 licenses. + * See LICENSE.TXT + * Date: Sat Mar 28 2010 + */ + + +using System; +using System.Collections; +using System.Collections.Generic; + +namespace Salient.Data +{ + /// + /// Creates an IDataReader over an instance of IEnumerable<> or IEnumerable. + /// Anonymous type arguments are acceptable. + /// + public class EnumerableDataReader : ObjectDataReader + { + private readonly IEnumerator _enumerator; + private readonly Type _type; + private object _current; + + /// + /// Create an IDataReader over an instance of IEnumerable<>. + /// + /// Note: anonymous type arguments are acceptable. + /// + /// Use other constructor for IEnumerable. + /// + /// IEnumerable<>. For IEnumerable use other constructor and specify type. + public EnumerableDataReader(IEnumerable collection) + { + foreach (Type intface in collection.GetType().GetInterfaces()) + { + if (intface.IsGenericType && intface.GetGenericTypeDefinition() == typeof (IEnumerable<>)) + { + _type = intface.GetGenericArguments()[0]; + } + } + + if (_type ==null && collection.GetType().IsGenericType) + { + _type = collection.GetType().GetGenericArguments()[0]; + + } + + + if (_type == null ) + { + throw new ArgumentException( + "collection must be IEnumerable<>. Use other constructor for IEnumerable and specify type"); + } + + SetFields(_type); + + _enumerator = collection.GetEnumerator(); + + } + + /// + /// Create an IDataReader over an instance of IEnumerable. + /// Use other constructor for IEnumerable<> + /// + /// + /// + public EnumerableDataReader(IEnumerable collection, Type elementType) + : base(elementType) + { + _type = elementType; + _enumerator = collection.GetEnumerator(); + } + + /// + /// Helper method to create generic lists from anonymous type + /// + /// + /// + public static IList ToGenericList(Type type) + { + return (IList) Activator.CreateInstance(typeof (List<>).MakeGenericType(new[] {type})); + } + + /// + /// Return the value of the specified field. + /// + /// + /// The which will contain the field value upon return. + /// + /// The index of the field to find. + /// The index passed was outside the range of 0 through . + /// 2 + public override object GetValue(int i) + { + if (i < 0 || i >= Fields.Count) + { + throw new IndexOutOfRangeException(); + } + + return Fields[i].Getter(_current); + } + + /// + /// Advances the to the next record. + /// + /// + /// true if there are more rows; otherwise, false. + /// + /// 2 + public override bool Read() + { + bool returnValue = _enumerator.MoveNext(); + _current = returnValue ? _enumerator.Current : _type.IsValueType ? Activator.CreateInstance(_type) : null; + return returnValue; + } + } +} \ No newline at end of file diff --git a/soddi/Salient.Data/ObjectDataReader.cs b/soddi/Salient.Data/ObjectDataReader.cs new file mode 100644 index 0000000..cf0d8b8 --- /dev/null +++ b/soddi/Salient.Data/ObjectDataReader.cs @@ -0,0 +1,551 @@ +/*! + * Project: Salient.Data + * File : ObjectDataReader.cs + * http://spikes.codeplex.com + * + * Copyright 2010, Sky Sanders + * Dual licensed under the MIT or GPL Version 2 licenses. + * See LICENSE.TXT + * Date: Sat Mar 28 2010 + */ + + +using System; +using System.Collections.Generic; +using System.Data; +using Salient.Reflection; + +namespace Salient.Data +{ + public abstract class ObjectDataReader : IDataReader + { + protected bool Closed; + protected IList Fields; + + protected ObjectDataReader() + { + } + + protected ObjectDataReader(Type elementType) + { + SetFields(elementType); + Closed = false; + } + + #region IDataReader Members + + /// + /// Return the value of the specified field. + /// + /// + /// The which will contain the field value upon return. + /// + /// The index of the field to find. + /// The index passed was outside the range of 0 through . + /// 2 + public abstract object GetValue(int i); + + /// + /// Advances the to the next record. + /// + /// + /// true if there are more rows; otherwise, false. + /// + /// 2 + public abstract bool Read(); + + #endregion + + #region Implementation of IDataRecord + + /// + /// Gets the number of columns in the current row. + /// + /// + /// When not positioned in a valid recordset, 0; otherwise, the number of columns in the current record. The default is -1. + /// + /// 2 + public int FieldCount + { + get { return Fields.Count; } + } + + /// + /// Return the index of the named field. + /// + /// + /// The index of the named field. + /// + /// The name of the field to find. + /// 2 + public virtual int GetOrdinal(string name) + { + for (int i = 0; i < Fields.Count; i++) + { + if (Fields[i].Info.Name == name) + { + return i; + } + } + + throw new IndexOutOfRangeException("name"); + } + + + /// + /// Gets the column located at the specified index. + /// + /// + /// The column located at the specified index as an . + /// + /// The zero-based index of the column to get. + /// The index passed was outside the range of 0 through . + /// 2 + object IDataRecord.this[int i] + { + get { return GetValue(i); } + } + + + /// + /// Gets the value of the specified column as a Boolean. + /// + /// + /// The value of the column. + /// + /// The zero-based column ordinal. + /// The index passed was outside the range of 0 through . + /// 2 + public virtual bool GetBoolean(int i) + { + return (Boolean) GetValue(i); + } + + /// + /// Gets the 8-bit unsigned integer value of the specified column. + /// + /// + /// The 8-bit unsigned integer value of the specified column. + /// + /// The zero-based column ordinal. + /// The index passed was outside the range of 0 through . + /// 2 + public virtual byte GetByte(int i) + { + return (Byte) GetValue(i); + } + + /// + /// Gets the character value of the specified column. + /// + /// + /// The character value of the specified column. + /// + /// The zero-based column ordinal. + /// The index passed was outside the range of 0 through . + /// 2 + public virtual char GetChar(int i) + { + return (Char) GetValue(i); + } + + /// + /// Gets the date and time data value of the specified field. + /// + /// + /// The date and time data value of the specified field. + /// + /// The index of the field to find. + /// The index passed was outside the range of 0 through . + /// 2 + public virtual DateTime GetDateTime(int i) + { + return (DateTime) GetValue(i); + } + + /// + /// Gets the fixed-position numeric value of the specified field. + /// + /// + /// The fixed-position numeric value of the specified field. + /// + /// The index of the field to find. + /// The index passed was outside the range of 0 through . + /// 2 + public virtual decimal GetDecimal(int i) + { + return (Decimal) GetValue(i); + } + + /// + /// Gets the double-precision floating point number of the specified field. + /// + /// + /// The double-precision floating point number of the specified field. + /// + /// The index of the field to find. + /// The index passed was outside the range of 0 through . + /// 2 + public virtual double GetDouble(int i) + { + return (Double) GetValue(i); + } + + /// + /// Gets the information corresponding to the type of that would be returned from . + /// + /// + /// The information corresponding to the type of that would be returned from . + /// + /// The index of the field to find. + /// The index passed was outside the range of 0 through . + /// 2 + public virtual Type GetFieldType(int i) + { + return Fields[i].Info.PropertyType; + } + + /// + /// Gets the single-precision floating point number of the specified field. + /// + /// + /// The single-precision floating point number of the specified field. + /// + /// The index of the field to find. + /// The index passed was outside the range of 0 through . + /// 2 + public virtual float GetFloat(int i) + { + return (float) GetValue(i); + } + + /// + /// Returns the GUID value of the specified field. + /// + /// + /// The GUID value of the specified field. + /// + /// The index of the field to find. + /// The index passed was outside the range of 0 through . + /// 2 + public virtual Guid GetGuid(int i) + { + return (Guid) GetValue(i); + } + + /// + /// Gets the 16-bit signed integer value of the specified field. + /// + /// + /// The 16-bit signed integer value of the specified field. + /// + /// The index of the field to find. + /// The index passed was outside the range of 0 through . + /// 2 + public virtual short GetInt16(int i) + { + return (Int16) GetValue(i); + } + + /// + /// Gets the 32-bit signed integer value of the specified field. + /// + /// + /// The 32-bit signed integer value of the specified field. + /// + /// The index of the field to find. + /// The index passed was outside the range of 0 through . + /// 2 + public virtual int GetInt32(int i) + { + return (Int32) GetValue(i); + } + + /// + /// Gets the 64-bit signed integer value of the specified field. + /// + /// + /// The 64-bit signed integer value of the specified field. + /// + /// The index of the field to find. + /// The index passed was outside the range of 0 through . + /// 2 + public virtual long GetInt64(int i) + { + return (Int64) GetValue(i); + } + + /// + /// Gets the string value of the specified field. + /// + /// + /// The string value of the specified field. + /// + /// The index of the field to find. + /// The index passed was outside the range of 0 through . + /// 2 + public virtual string GetString(int i) + { + return (string) GetValue(i); + } + + /// + /// Return whether the specified field is set to null. + /// + /// + /// true if the specified field is set to null; otherwise, false. + /// + /// The index of the field to find. + /// The index passed was outside the range of 0 through . + /// 2 + public virtual bool IsDBNull(int i) + { + return GetValue(i) == null; + } + + /// + /// Gets the column with the specified name. + /// + /// + /// The column with the specified name as an . + /// + /// The name of the column to find. + /// No column with the specified name was found. + /// 2 + object IDataRecord.this[string name] + { + get { return GetValue(GetOrdinal(name)); } + } + + + /// + /// Gets the data type information for the specified field. + /// + /// + /// The data type information for the specified field. + /// + /// The index of the field to find. + /// The index passed was outside the range of 0 through . + /// 2 + public virtual string GetDataTypeName(int i) + { + return GetFieldType(i).Name; + } + + + /// + /// Gets the name for the field to find. + /// + /// + /// The name of the field or the empty string (""), if there is no value to return. + /// + /// The index of the field to find. + /// + /// The index passed was outside the range of 0 through . + /// + /// 2 + public virtual string GetName(int i) + { + if (i < 0 || i >= Fields.Count) + { + throw new IndexOutOfRangeException("name"); + } + return Fields[i].Info.Name; + } + + /// + /// Gets all the attribute fields in the collection for the current record. + /// + /// + /// The number of instances of in the array. + /// + /// An array of to copy the attribute fields into. + /// 2 + public virtual int GetValues(object[] values) + { + int i = 0; + for (; i < Fields.Count; i++) + { + if (values.Length <= i) + { + return i; + } + values[i] = GetValue(i); + } + return i; + } + + /// + /// Returns an for the specified column ordinal. + /// + /// + /// An . + /// + /// The index of the field to find. + /// The index passed was outside the range of 0 through . + /// 2 + public virtual IDataReader GetData(int i) + { + // need to think about this one + throw new NotImplementedException(); + } + + /// + /// Reads a stream of bytes from the specified column offset into the buffer as an array, starting at the given buffer offset. + /// + /// + /// The actual number of bytes read. + /// + /// 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 to start the read operation. + /// The number of bytes to read. + /// The index passed was outside the range of 0 through . + /// 2 + public virtual long GetBytes(int i, long fieldOffset, byte[] buffer, int bufferoffset, int length) + { + // need to keep track of the bytes got for each record - more work than i want to do right now + // http://msdn.microsoft.com/en-us/library/system.data.idatarecord.getbytes.aspx + throw new NotImplementedException(); + } + + /// + /// Reads a stream of characters from the specified column offset into the buffer as an array, starting at the given buffer offset. + /// + /// + /// The actual number of characters read. + /// + /// 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 to start the read operation. + /// The number of bytes to read. + /// The index passed was outside the range of 0 through . + /// 2 + public virtual long GetChars(int i, long fieldoffset, char[] buffer, int bufferoffset, int length) + { + // need to keep track of the bytes got for each record - more work than i want to do right now + // http://msdn.microsoft.com/en-us/library/system.data.idatarecord.getchars.aspx + throw new NotImplementedException(); + } + + #endregion + + #region Implementation of IDataReader + + /// + /// Closes the Object. + /// + /// 2 + public virtual void Close() + { + Closed = true; + } + + /// + /// Returns a that describes the column metadata of the . + /// + /// + /// A that describes the column metadata. + /// + /// The is closed. + /// 2 + public virtual DataTable GetSchemaTable() + { + var dt = new DataTable(); + foreach (DynamicProperties.Property field in Fields) + { + Type colType; + bool nullable = false; + if (field.Info.PropertyType.IsGenericType && + field.Info.PropertyType.GetGenericTypeDefinition() == typeof (Nullable<>)) + { + colType = field.Info.PropertyType.GetGenericArguments()[0]; + nullable = true; + } + else + { + colType = field.Info.PropertyType; + } + + var col = new DataColumn(field.Info.Name, colType) {AllowDBNull = nullable}; + dt.Columns.Add(col); + } + return dt; + } + + /// + /// Advances the data reader to the next result, when reading the results of batch SQL statements. + /// + /// + /// true if there are more rows; otherwise, false. + /// + /// 2 + public virtual bool NextResult() + { + throw new NotImplementedException(); + } + + + /// + /// Gets a value indicating the depth of nesting for the current row. + /// + /// + /// The level of nesting. + /// + /// 2 + public virtual int Depth + { + get { throw new NotImplementedException(); } + } + + /// + /// Gets a value indicating whether the data reader is closed. + /// + /// + /// true if the data reader is closed; otherwise, false. + /// + /// 2 + public virtual bool IsClosed + { + get { return Closed; } + } + + /// + /// Gets the number of rows changed, inserted, or deleted by execution of the SQL statement. + /// + /// + /// The number of rows changed, inserted, or deleted; 0 if no rows were affected or the statement failed; and -1 for SELECT statements. + /// + /// 2 + public virtual int RecordsAffected + { + get + { + // assuming select only? + return -1; + } + } + + #endregion + + #region Implementation of IDisposable + + /// + /// Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + /// + /// 2 + public virtual void Dispose() + { + Fields = null; + } + + #endregion + + protected void SetFields(Type elementType) + { + Fields = DynamicProperties.CreatePropertyMethods(elementType); + } + } +} \ No newline at end of file diff --git a/soddi/Salient.Reflection/DynamicProperties.cs b/soddi/Salient.Reflection/DynamicProperties.cs new file mode 100644 index 0000000..f366333 --- /dev/null +++ b/soddi/Salient.Reflection/DynamicProperties.cs @@ -0,0 +1,163 @@ +/*! + * Project: Salient.Reflection + * File : DynamicProperties.cs + * http://spikes.codeplex.com + * + * Copyright 2010, Sky Sanders + * Dual licensed under the MIT or GPL Version 2 licenses. + * See LICENSE.TXT + * Date: Sat Mar 28 2010 + */ + +using System; +using System.Collections.Generic; +using System.Reflection; +using System.Reflection.Emit; + +namespace Salient.Reflection +{ + /// + /// Gets IL setters and getters for a property. + /// + public static class DynamicProperties + { + #region Delegates + + public delegate object GenericGetter(object target); + + public delegate void GenericSetter(object target, object value); + + #endregion + + public static IList CreatePropertyMethods(Type T) + { + var returnValue = new List(); + + foreach (PropertyInfo prop in T.GetProperties()) + { + returnValue.Add(new Property(prop)); + } + return returnValue; + } + + + public static IList CreatePropertyMethods() + { + var returnValue = new List(); + + foreach (PropertyInfo prop in typeof(T).GetProperties()) + { + returnValue.Add(new Property(prop)); + } + return returnValue; + } + + + /// + /// Creates a dynamic setter for the property + /// + /// + /// + /// + /// http://jachman.wordpress.com/2006/08/22/2000-faster-using-dynamic-method-calls/ + /// + public static GenericSetter CreateSetMethod(PropertyInfo propertyInfo) + { + /* + * If there's no setter return null + */ + MethodInfo setMethod = propertyInfo.GetSetMethod(true); + if (setMethod == null) + return null; + + /* + * Create the dynamic method + */ + var arguments = new Type[2]; + arguments[0] = arguments[1] = typeof(object); + + var setter = new DynamicMethod( + String.Concat("_Set", propertyInfo.Name, "_"), + typeof(void), arguments, propertyInfo.DeclaringType); + ILGenerator generator = setter.GetILGenerator(); + generator.Emit(OpCodes.Ldarg_0); + generator.Emit(OpCodes.Castclass, propertyInfo.DeclaringType); + generator.Emit(OpCodes.Ldarg_1); + + if (propertyInfo.PropertyType.IsClass) + generator.Emit(OpCodes.Castclass, propertyInfo.PropertyType); + else + generator.Emit(OpCodes.Unbox_Any, propertyInfo.PropertyType); + + generator.EmitCall(OpCodes.Callvirt, setMethod, null); + generator.Emit(OpCodes.Ret); + + /* + * Create the delegate and return it + */ + return (GenericSetter)setter.CreateDelegate(typeof(GenericSetter)); + } + + + /// + /// Creates a dynamic getter for the property + /// + /// + /// + /// + /// http://jachman.wordpress.com/2006/08/22/2000-faster-using-dynamic-method-calls/ + /// + public static GenericGetter CreateGetMethod(PropertyInfo propertyInfo) + { + /* + * If there's no getter return null + */ + MethodInfo getMethod = propertyInfo.GetGetMethod(true); + if (getMethod == null) + return null; + + /* + * Create the dynamic method + */ + var arguments = new Type[1]; + arguments[0] = typeof(object); + + var getter = new DynamicMethod( + String.Concat("_Get", propertyInfo.Name, "_"), + typeof(object), arguments, propertyInfo.DeclaringType); + ILGenerator generator = getter.GetILGenerator(); + generator.DeclareLocal(typeof(object)); + generator.Emit(OpCodes.Ldarg_0); + generator.Emit(OpCodes.Castclass, propertyInfo.DeclaringType); + generator.EmitCall(OpCodes.Callvirt, getMethod, null); + + if (!propertyInfo.PropertyType.IsClass) + generator.Emit(OpCodes.Box, propertyInfo.PropertyType); + + generator.Emit(OpCodes.Ret); + + /* + * Create the delegate and return it + */ + return (GenericGetter)getter.CreateDelegate(typeof(GenericGetter)); + } + + #region Nested type: Property + + public class Property + { + public GenericGetter Getter; + public PropertyInfo Info; + public GenericSetter Setter; + + public Property(PropertyInfo info) + { + Info = info; + Setter = CreateSetMethod(info); + Getter = CreateGetMethod(info); + } + } + + #endregion + } +} \ No newline at end of file diff --git a/soddi/TableTypes/Badges.cs b/soddi/TableTypes/Badges.cs new file mode 100644 index 0000000..5fdd09d --- /dev/null +++ b/soddi/TableTypes/Badges.cs @@ -0,0 +1,44 @@ +// /*! +// * Project: SODDI v.10 +// * http://skysanders.net/tools/se/ +// * +// * Copyright 2010, Sky Sanders +// * Dual licensed under the MIT or GPL Version 2 licenses. +// * http://skysanders.net/tools/se/LICENSE.TXT +// * +// * Date: April 01 2010 +// */ + +#region + +using System; +using Salient.StackExchange.Import.Loaders; + +#endregion + +namespace Salient.StackExchange.Import.TableTypes +{ + public class Badges : SoBase, ISoBase + { + #region Properties + + public DateTime Date { get; set; } + + public int Id { get; set; } + + public string Name { get; set; } + + public int UserId { get; set; } + + #endregion + + #region Public Methods + + public static string GetFileName() + { + return "Badges.xml"; + } + + #endregion + } +} \ No newline at end of file diff --git a/soddi/TableTypes/Comments.cs b/soddi/TableTypes/Comments.cs new file mode 100644 index 0000000..60bb03d --- /dev/null +++ b/soddi/TableTypes/Comments.cs @@ -0,0 +1,48 @@ +// /*! +// * Project: SODDI v.10 +// * http://skysanders.net/tools/se/ +// * +// * Copyright 2010, Sky Sanders +// * Dual licensed under the MIT or GPL Version 2 licenses. +// * http://skysanders.net/tools/se/LICENSE.TXT +// * +// * Date: April 01 2010 +// */ + +#region + +using System; +using Salient.StackExchange.Import.Loaders; + +#endregion + +namespace Salient.StackExchange.Import.TableTypes +{ + public class Comments : SoBase, ISoBase + { + #region Properties + + public DateTime CreationDate { get; set; } + + public int Id { get; set; } + + public int PostId { get; set; } + + public int? Score { get; set; } + + public string Text { get; set; } + + public int? UserId { get; set; } + + #endregion + + #region Public Methods + + public static string GetFileName() + { + return "Comments.xml"; + } + + #endregion + } +} \ No newline at end of file diff --git a/soddi/TableTypes/PostTags.cs b/soddi/TableTypes/PostTags.cs new file mode 100644 index 0000000..5d6d6ea --- /dev/null +++ b/soddi/TableTypes/PostTags.cs @@ -0,0 +1,39 @@ +// /*! +// * Project: SODDI v.10 +// * http://skysanders.net/tools/se/ +// * +// * Copyright 2010, Sky Sanders +// * Dual licensed under the MIT or GPL Version 2 licenses. +// * http://skysanders.net/tools/se/LICENSE.TXT +// * +// * Date: April 01 2010 +// */ + +#region + +using Salient.StackExchange.Import.Loaders; + +#endregion + +namespace Salient.StackExchange.Import.TableTypes +{ + public class PostTags : SoBase, ISoBase + { + #region Properties + + public int PostId { get; set; } + + public string Tag { get; set; } + + #endregion + + #region Public Methods + + public static string GetFileName() + { + return "Posts.xml"; + } + + #endregion + } +} \ No newline at end of file diff --git a/soddi/TableTypes/Posts.cs b/soddi/TableTypes/Posts.cs new file mode 100644 index 0000000..b5f0ef5 --- /dev/null +++ b/soddi/TableTypes/Posts.cs @@ -0,0 +1,76 @@ +// /*! +// * Project: SODDI v.10 +// * http://skysanders.net/tools/se/ +// * +// * Copyright 2010, Sky Sanders +// * Dual licensed under the MIT or GPL Version 2 licenses. +// * http://skysanders.net/tools/se/LICENSE.TXT +// * +// * Date: April 01 2010 +// */ + +#region + +using System; +using Salient.StackExchange.Import.Loaders; + +#endregion + +namespace Salient.StackExchange.Import.TableTypes +{ + public class Posts : SoBase, ISoBase + { + #region Properties + + public int AcceptedAnswerId { get; set; } + + public int AnswerCount { get; set; } + + public string Body { get; set; } + + public DateTime? ClosedDate { get; set; } + + public int CommentCount { get; set; } + + public DateTime? CommunityOwnedDate { get; set; } + + public DateTime CreationDate { get; set; } + + public int FavoriteCount { get; set; } + + public int Id { get; set; } + + public DateTime LastActivityDate { get; set; } + + public DateTime? LastEditDate { get; set; } + + public string LastEditorDisplayName { get; set; } + + public int LastEditorUserId { get; set; } + + public int OwnerUserId { get; set; } + + public int ParentId { get; set; } + + public int PostTypeId { get; set; } + + public int Score { get; set; } + + public string Tags { get; set; } + + public string Title { get; set; } + + public int ViewCount { get; set; } + + #endregion + + #region Public Methods + + public static string GetFileName() + { + return "Posts.xml"; + } + + #endregion + } +} \ No newline at end of file diff --git a/soddi/TableTypes/Users.cs b/soddi/TableTypes/Users.cs new file mode 100644 index 0000000..2852f08 --- /dev/null +++ b/soddi/TableTypes/Users.cs @@ -0,0 +1,62 @@ +// /*! +// * Project: SODDI v.10 +// * http://skysanders.net/tools/se/ +// * +// * Copyright 2010, Sky Sanders +// * Dual licensed under the MIT or GPL Version 2 licenses. +// * http://skysanders.net/tools/se/LICENSE.TXT +// * +// * Date: April 01 2010 +// */ + +#region + +using System; +using Salient.StackExchange.Import.Loaders; + +#endregion + +namespace Salient.StackExchange.Import.TableTypes +{ + public class Users : SoBase, ISoBase + { + #region Properties + + public string AboutMe { get; set; } + + public int? Age { get; set; } + + public DateTime CreationDate { get; set; } + + public string DisplayName { get; set; } + + public int DownVotes { get; set; } + + public string EmailHash { get; set; } + + public int Id { get; set; } + + public DateTime LastAccessDate { get; set; } + + public string Location { get; set; } + + public int Reputation { get; set; } + + public int UpVotes { get; set; } + + public int Views { get; set; } + + public string WebsiteUrl { get; set; } + + #endregion + + #region Public Methods + + public static string GetFileName() + { + return "Users.xml"; + } + + #endregion + } +} \ No newline at end of file diff --git a/soddi/TableTypes/Votes.cs b/soddi/TableTypes/Votes.cs new file mode 100644 index 0000000..9b179d8 --- /dev/null +++ b/soddi/TableTypes/Votes.cs @@ -0,0 +1,48 @@ +// /*! +// * Project: SODDI v.10 +// * http://skysanders.net/tools/se/ +// * +// * Copyright 2010, Sky Sanders +// * Dual licensed under the MIT or GPL Version 2 licenses. +// * http://skysanders.net/tools/se/LICENSE.TXT +// * +// * Date: April 01 2010 +// */ + +#region + +using System; +using Salient.StackExchange.Import.Loaders; + +#endregion + +namespace Salient.StackExchange.Import.TableTypes +{ + public class Votes : SoBase, ISoBase + { + #region Properties + + public int? BountyAmount { get; set; } + + public DateTime CreationDate { get; set; } + + public int Id { get; set; } + + public int PostId { get; set; } + + public int? UserId { get; set; } + + public int VoteTypeId { get; set; } + + #endregion + + #region Public Methods + + public static string GetFileName() + { + return "Votes.xml"; + } + + #endregion + } +} \ No newline at end of file diff --git a/soddi/Tools/Common.cs b/soddi/Tools/Common.cs new file mode 100644 index 0000000..af5acb1 --- /dev/null +++ b/soddi/Tools/Common.cs @@ -0,0 +1,256 @@ +// /*! +// * Project: SODDI v.10 +// * http://skysanders.net/tools/se/ +// * +// * Copyright 2010, Sky Sanders +// * Dual licensed under the MIT or GPL Version 2 licenses. +// * http://skysanders.net/tools/se/LICENSE.TXT +// * +// * Date: April 01 2010 +// */ + +#region + +using System; +using System.Collections.Generic; +using System.Data; +using System.IO; +using System.Reflection; +using System.Windows.Forms; + +#endregion + +namespace Salient.StackExchange.Import.Tools +{ + public static class Common + { + public static void Invoke(this Control control, Action action) + { + control.Invoke(action); + } + + public static string GetTextResource(string resourcePath, Assembly assembly) + { + if (File.Exists(resourcePath)) + { + return File.ReadAllText(resourcePath); + } + + resourcePath = typeof (Program).Namespace + "." + resourcePath.Replace("\\", "."); + using (Stream stream = assembly.GetManifestResourceStream(resourcePath)) + { + if (stream != null) + using (StreamReader reader = new StreamReader(stream)) + { + string script = reader.ReadToEnd(); + return script; + } + } + throw new FileNotFoundException(resourcePath); + } + } + + /// + /// Convert a base data type to another base data type + /// + public static class TypeConverter + { + #region Readonly + + private static readonly List DbTypeList = new List(); + + #endregion + + #region Structs + + private struct DbTypeMapEntry + { + public readonly DbType DbType; + public readonly SqlDbType SqlDbType; + public readonly Type Type; + + + public DbTypeMapEntry(Type type, DbType dbType, SqlDbType sqlDbType) + { + Type = type; + DbType = dbType; + SqlDbType = sqlDbType; + } + } ; + + #endregion + + #region Constructors + + static TypeConverter() + { + DbTypeMapEntry dbTypeMapEntry = new DbTypeMapEntry(typeof (bool), DbType.Boolean, SqlDbType.Bit); + DbTypeList.Add(dbTypeMapEntry); + dbTypeMapEntry = new DbTypeMapEntry(typeof (byte), DbType.Double, SqlDbType.TinyInt); + DbTypeList.Add(dbTypeMapEntry); + dbTypeMapEntry = new DbTypeMapEntry(typeof (byte[]), DbType.Binary, SqlDbType.Image); + DbTypeList.Add(dbTypeMapEntry); + + dbTypeMapEntry = new DbTypeMapEntry(typeof (DateTime), DbType.DateTime, SqlDbType.DateTime); + DbTypeList.Add(dbTypeMapEntry); + + dbTypeMapEntry = new DbTypeMapEntry(typeof (Decimal), DbType.Decimal, SqlDbType.Decimal); + DbTypeList.Add(dbTypeMapEntry); + + dbTypeMapEntry = new DbTypeMapEntry(typeof (double), DbType.Double, SqlDbType.Float); + DbTypeList.Add(dbTypeMapEntry); + + dbTypeMapEntry = new DbTypeMapEntry(typeof (Guid), DbType.Guid, SqlDbType.UniqueIdentifier); + DbTypeList.Add(dbTypeMapEntry); + + dbTypeMapEntry = new DbTypeMapEntry(typeof (Int16), DbType.Int16, SqlDbType.SmallInt); + DbTypeList.Add(dbTypeMapEntry); + + dbTypeMapEntry = new DbTypeMapEntry(typeof (Int32), DbType.Int32, SqlDbType.Int); + DbTypeList.Add(dbTypeMapEntry); + + dbTypeMapEntry = new DbTypeMapEntry(typeof (Int64), DbType.Int64, SqlDbType.BigInt); + DbTypeList.Add(dbTypeMapEntry); + + dbTypeMapEntry = new DbTypeMapEntry(typeof (object), DbType.Object, SqlDbType.Variant); + DbTypeList.Add(dbTypeMapEntry); + + dbTypeMapEntry = new DbTypeMapEntry(typeof (string), DbType.String, SqlDbType.VarChar); + DbTypeList.Add(dbTypeMapEntry); + } + + #endregion + + #region Public Methods + + /// + /// Convert TSQL data type to DbType + /// + /// + /// + public static DbType ToDbType(SqlDbType sqlDbType) + { + DbTypeMapEntry entry = Find(sqlDbType); + return entry.DbType; + } + + /// + /// Convert .Net type to Db type + /// + /// + /// + public static DbType ToDbType(Type type) + { + DbTypeMapEntry entry = Find(type); + return entry.DbType; + } + + /// + /// Convert TSQL type to .Net data type + /// + /// + /// + public static Type ToNetType(SqlDbType sqlDbType) + { + DbTypeMapEntry entry = Find(sqlDbType); + return entry.Type; + } + + /// + /// Convert db type to .Net data type + /// + /// + /// + public static Type ToNetType(DbType dbType) + { + DbTypeMapEntry entry = Find(dbType); + return entry.Type; + } + + /// + /// Convert DbType type to TSQL data type + /// + /// + /// + public static SqlDbType ToSqlDbType(DbType dbType) + { + DbTypeMapEntry entry = Find(dbType); + return entry.SqlDbType; + } + + /// + /// Convert .Net type to TSQL data type + /// + /// + /// + public static SqlDbType ToSqlDbType(Type type) + { + DbTypeMapEntry entry = Find(type); + return entry.SqlDbType; + } + + #endregion + + #region Private Methods + + private static DbTypeMapEntry Find(Type type) + { + object retObj = null; + for (int i = 0; i < DbTypeList.Count; i++) + { + DbTypeMapEntry entry = DbTypeList[i]; + if (entry.Type == type) + { + retObj = entry; + break; + } + } + if (retObj == null) + { + throw new ApplicationException("Referenced an unsupported Type"); + } + return (DbTypeMapEntry) retObj; + } + + private static DbTypeMapEntry Find(DbType dbType) + { + object retObj = null; + for (int i = 0; i < DbTypeList.Count; i++) + { + DbTypeMapEntry entry = DbTypeList[i]; + if (entry.DbType == dbType) + { + retObj = entry; + break; + } + } + if (retObj == null) + { + throw new ApplicationException("Referenced an unsupported DbType"); + } + return (DbTypeMapEntry) retObj; + } + + private static DbTypeMapEntry Find(SqlDbType sqlDbType) + { + object retObj = null; + for (int i = 0; i < DbTypeList.Count; i++) + { + DbTypeMapEntry entry = DbTypeList[i]; + if (entry.SqlDbType == sqlDbType) + { + retObj = entry; + break; + } + } + if (retObj == null) + { + throw new ApplicationException("Referenced an unsupported SqlDbType"); + } + + return (DbTypeMapEntry) retObj; + } + + #endregion + } +} \ No newline at end of file diff --git a/soddi/soddi.csproj b/soddi/soddi.csproj new file mode 100644 index 0000000..946e2bb --- /dev/null +++ b/soddi/soddi.csproj @@ -0,0 +1,281 @@ + + + + Debug + AnyCPU + 9.0.30729 + 2.0 + {94451A1F-9DBA-438C-956F-CD1C072310B2} + Exe + Properties + Salient.StackExchange.Import + SODDI + v3.5 + 512 + true + <Project Location In Database> + <Local Binding Root of Project> + <Source Control Database> + Mercurial Source Control Package + AF8143E149C71C323C353B1E4F6F17F06E7F043C + soddi_TemporaryKey.pfx + true + true + Client + + + + + 3.5 + ftp://ftp.skysanders.net/tools/se/soddi/ + true + Web + true + Foreground + 7 + Days + true + false + true + http://skysanders.net/tools/se/soddi/ + http://skysanders.net/tools/se + SODDI - StackOverflow Data Dump Import + Salient Solutions + StackExchange Tools + true + publish.htm + 0 + 0.1.1.%2a + false + true + true + true + + + true + full + false + bin\Debug\ + TRACE;DEBUG + prompt + 4 + true + + + pdbonly + true + bin\Release\ + TRACE;MONO + prompt + 4 + + + true + bin\x86\Debug\ + TRACE;DEBUG + full + x86 + true + GlobalSuppressions.cs + prompt + + + bin\x86\Release\ + TRACE + true + pdbonly + x86 + true + GlobalSuppressions.cs + prompt + + + + False + ..\lib\MySql.Data.dll + True + + + + + 3.5 + + + False + ..\lib\System.Data.SQLite.dll + True + + + + + + + 3.5 + + + + + Form + + + FrmAbout.cs + + + + + + + + Form + + + FrmCmdLine.cs + + + + + + + + + + + + + + + + + True + True + Settings.settings + + + + Form + + + frmUI.cs + + + + + True + True + Resources.resx + + + + + + + + + + + + + + + + + False + .NET Framework 3.5 SP1 Client Profile + false + + + False + .NET Framework 2.0 %28x86%29 + false + + + False + .NET Framework 3.0 %28x86%29 + false + + + False + .NET Framework 3.5 + false + + + False + .NET Framework 3.5 SP1 + true + + + False + Windows Installer 3.1 + true + + + + + Always + + + + + Always + + + Always + + + Always + + + Always + + + Always + + + + + Always + + + + + ResXFileCodeGenerator + Resources.Designer.cs + + + Always + + + + + FrmAbout.cs + + + FrmCmdLine.cs + + + frmUI.cs + + + Always + + + + + + SettingsSingleFileGenerator + Settings.Designer.cs + + + + + + + + + \ No newline at end of file diff --git a/soddi/soddi_TemporaryKey.pfx b/soddi/soddi_TemporaryKey.pfx new file mode 100644 index 0000000000000000000000000000000000000000..76026984eb5f4c3c65c2fa568f15ced5f11ba76d GIT binary patch literal 1652 zcmY*YdpOg382|3#$B<|)SvF+3WvAcFTtbMjT(Y8~aNLF{!*WhVm`iTWs^gYArN*L! zYNV7%sS_2|oRnKAmufko;?d4e&pGwOxMg$ zOHi_?(_Dy%PK4FNGBT+ftNAp-*$s^)MHG3D$z-|A&#s zm9TOFlN0M~a1Wc%XxYbDE}Ad&I&&;{Mjb2Ines@efX7$%%ZVpyw2n4vTz))c8v$R8 zu@(E*^&Cpi_f@Wsqx+=m3O1oJ1gsbK+Py0jdveX(EpO@Q%!xsqIWgKXd*ozov5}db z*|hVk`MpKSg$Ykr*_SD_ULN~AloZ~&nX|6`$sdp91fNDr(IM6IhEdL%$M)GbM*prV zsL5n2jGb7P9?6eRx?A$4s(IBkN$Sli`M6m-z?@%!cL+K}?|sIxiMwBl(n!j8 z=+rV_78H?OL+FTA$DQ}3IVHhPS5ikWZD#In+Vd+VsHlf2U1I#_4K2?$n)mV9RVVSd zhvjqGy%WxRy4Vfa*(zt{l?q)a1f6<+bv&@Bc4YN=cR1Ii!Je{5-U)Xk$bpKFYO+7!!;X`IBF-E9lIwDbkRoTWVc-v`G1S_-yMD2g&V8g#V} zBfUqZo$=68gYZq|UZRU-d1W1jrrq?b3K#irEYqW(=Xd@0Ln<@}p=w5r^q;TorHA7qZoY7%};1az}HS60C>+6?8 zH{Ttr9G?cs3A4}I_KPQ-KNHk^Cnx*d;$5pRr(udD^o7$qL>a)1SbE>x?>6=%3Gk+< zsa-Js`?!nXp2l1%l9#yvS_;Nw7bJTMePGD6WMHit0u31Rfv~gn&2@1L6^90S?ds zTadVj>;d6O=ZMt%02{$#kUkCsA$7#JEgj(XZ7u=nLO~daLzKAf`|o8TM4YY&P7o_0ls@tt|?r!GGE@H&~ddu^i1-=6C=61Z3cs;=}7cPb4Vs~ zvsbfVa(r+`z&UHDEQSiD*2b?Q(>~cxn$FrW1T7!GZpzo|JX5S@EY0s>o^DU~?{ZCT zn9UbY1eB7Ms{<;d1>xo0<+m;8oZY< zOw3E-^BO(r`)hRokI$>)I0wA?RCj)^qJD34tG-@^&lf+pZgck2W@E@OskC3|%}l~B zaUrWsiMK_(OmD(%VPW~$&a61fOYQKOkW&n+S<|Lreyocr!!B-##@JA74QoXMZRAB5 z_5w(JkP??rp^Fs0LfYJgvM%1)28!LhD|%k z77^J3b>{jHe$o^YQLg+gJJN1A_>n-jFt>1XxcdT%ZkVK4w11$GPtHr18O)B-)eScn zNZK>R2ZPu{eI=bX(bg~Pc1{diG8uu7)<$Qjx9T0fxLGhOSk+gYY<|;kyDC-8 m2SF7