Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
143 commits
Select commit Hold shift + click to select a range
1604436
FakeDB now handles DBNull and null the same way
badjer Oct 11, 2011
100e387
Moved Analyzer out to its own interface
badjer Oct 13, 2011
8015cb7
Added constructor to supply Analyzer to FakeDB
badjer Oct 14, 2011
91576b9
Make copies when returning things so that you can't change the values…
badjer Oct 14, 2011
9ba9679
Handle tables that have no autonumbers
badjer Oct 14, 2011
5078f1d
Make sure that IReadable is implemented consistently
badjer Oct 20, 2011
0d5eff7
Made the core methods virtual
badjer Oct 25, 2011
7079da4
Don't have to do screwy hack anymore, because Reads now return copies
badjer Oct 26, 2011
bc32e97
Created LockBox - used for wrapping lockable rows in a disposable obj…
badjer Oct 26, 2011
c16aef9
Refactored
badjer Oct 26, 2011
0f7a452
LockBox genericized; implements IEnumerable
badjer Oct 26, 2011
586ebd7
Created UnreliableDb for mocking DB failures
badjer Oct 26, 2011
2871130
LockBox is empty once unlocked
badjer Oct 26, 2011
92ceb4b
Not sure if we actually need these methods - made TODO comment to go …
badjer Oct 28, 2011
41b22f3
Make Unlock clear the cache and return the items that were formerly l…
badjer Oct 28, 2011
9946586
Created wrappers to add events to datasources
badjer Oct 30, 2011
a9d2529
Created tests for transactions
badjer Oct 30, 2011
d39f8c8
Implemented transactions for FakeDB
badjer Oct 30, 2011
2be7e22
Converted RawReadAll* to extension methods
badjer Oct 30, 2011
69cd3dc
Fixed insert bug
badjer Oct 30, 2011
23c6f5e
Complete refactor of transactions
badjer Oct 31, 2011
4484abe
Also convert extension methods
badjer Oct 31, 2011
5231b97
Fixed a couple bugs in SQL implemenation
badjer Oct 31, 2011
d325cec
Removed the last extra read method
badjer Oct 31, 2011
c630329
Code cleanup
badjer Oct 31, 2011
9afe4df
Renamed RealDB to SqlDB
badjer Oct 31, 2011
266c95c
Renamed EventedReadWrite to EventedTransactable; now has event for On…
badjer Oct 31, 2011
a6e064a
Added EventTests to make sure events get fired
badjer Oct 31, 2011
9c6fd66
Integrated events into a new interface, instead of wrapper classes
badjer Oct 31, 2011
4191d89
Fixed bug in where clauses that use nulls
badjer Oct 31, 2011
e48ff3a
Make sure that reading by multiple fields also works
badjer Oct 31, 2011
a327cf4
Fixed bug in FileDB implementation of Read
badjer Oct 31, 2011
852bef7
Tests for SQL meta-operations
badjer Nov 3, 2011
1d564f5
In progress
badjer Nov 4, 2011
2549fb7
Implemented TableExists
badjer Nov 8, 2011
4ddeb7c
Implemented the rest of self-updating SQL databases
badjer Nov 10, 2011
bcf7ab1
Added explicit class for SQL2000
badjer Nov 10, 2011
cebb726
Code cleanup; added ConnectTo convience helpers
badjer Nov 10, 2011
d64f33e
Better exception message
badjer Nov 11, 2011
dc7a756
Added EnsureTable
badjer Nov 11, 2011
6db859a
Cleanup; added type conversion for .net->db types
badjer Nov 11, 2011
15b7991
Type conversion can now infer SqlColumnTypes from values
badjer Nov 12, 2011
66829bd
Big refactor of the SQL implementations
badjer Nov 12, 2011
d116f87
Reads from Sql views
badjer Nov 14, 2011
5b8ec5f
Added support for dropping views
badjer Nov 15, 2011
920cb6e
Use qualified table names in sql queries
badjer Nov 15, 2011
951ab92
When creating nvarchar columns, try to guess length
badjer Nov 29, 2011
d52d13a
Bug fix for non-existant tables
badjer Nov 29, 2011
8a3da0a
Transactions from ModifiableSqls can now create tables
badjer Nov 29, 2011
1748d82
Made an empty version of LockBox that does nothing
badjer Dec 2, 2011
82827db
Handle MS's inconsistent way of dealing with numerics
badjer Dec 2, 2011
cd2c8b1
Added generic empty lockbox
badjer Dec 2, 2011
41406a0
Added support for SQL literals
badjer Jan 13, 2012
21a8f64
Add option for including the Select SCOPE_IDENTITY when generating sq…
badjer Jan 18, 2012
7dda157
Fixed a test
badjer Feb 27, 2012
bd6ae1f
Taxonomical additions
badjer Feb 27, 2012
9ecbf10
Cleanup
badjer Mar 5, 2012
88716ae
Support for specifying field parameters via attributes
badjer Mar 7, 2012
e6cdae0
Cleanup, generalization
badjer Mar 7, 2012
1daa1cf
Merge branch 'master' into longfields
badjer Mar 7, 2012
0644390
Allow explicitly faking table structure
badjer Mar 8, 2012
ac79173
Use latest nunit from nuget
badjer Mar 27, 2012
eaa5035
Use nuget for packages
badjer Apr 2, 2012
280e4bf
Created nuspec
badjer Apr 2, 2012
31b75f3
Added JsonDB
badjer Apr 2, 2012
b175cc5
Added nunit solution
badjer Apr 2, 2012
db493b8
Fixed typo
badjer Apr 2, 2012
a26de3b
Delete and recreate file to get around git casing issue
badjer Apr 2, 2012
9db8432
Delete and recreate file to get around git casing issue
badjer Apr 2, 2012
28311dc
Updated version
badjer Apr 2, 2012
0e6da2a
Make sure JsonDB handles blank lines nicely
badjer Apr 6, 2012
38a97eb
Updated to latest version of Nvelope
badjer Apr 25, 2012
0dc85c2
Updated to latest Nvelope
badjer Apr 30, 2012
fc3c4f6
Type-agnostic comparison for values in JsonDB
badjer May 1, 2012
a64df56
Fix blank lines not being trimmed on Mono
badjer May 1, 2012
636fc67
Update version number
badjer May 1, 2012
09f920d
Update references and nuget config
badjer Jun 12, 2012
36aa9ba
Remove nuget packages from repo and ignore nuget packages
badjer Jun 12, 2012
a75efa6
Updated version
badjer Jun 12, 2012
4c64bf7
Get nuget to include Nvelope.Reactive dependency
badjer Jun 12, 2012
bc167e5
Finally fixed dependent dll include
badjer Jun 12, 2012
e0f77fa
Updated Nvelope; fix a couple tests
badjer Jun 13, 2012
55d69c7
Generalized the SQL DBs
badjer Jun 13, 2012
b143520
MySql reading support
badjer Jun 13, 2012
468a33a
Basic tests for mySQL CRUD operations
badjer Jun 13, 2012
bb829a5
mySQL crud operations working
badjer Jun 13, 2012
36191b0
Updated version to 1.1.0.0
badjer Jun 14, 2012
663cd6b
Support for modifying MySql dbs
badjer Jun 14, 2012
23bb0fe
Updated to latest Nvelope
badjer Jun 14, 2012
5d21ba1
Updated to latest Nvelope
badjer Jun 15, 2012
d313f16
Fix bug in view lookup
badjer Jun 15, 2012
26370a1
Generalized transactions - now work with MySql
badjer Jun 15, 2012
2be09b5
incremented version
badjer Jun 15, 2012
f4a4f73
Updated to latest version of Nvelope
badjer Aug 3, 2012
75740a2
Special case to deal with text, ntext, and image fields
badjer Aug 18, 2012
94b333c
Fix bug representing n?varchar(max)
badjer Aug 21, 2012
eaec6ce
Deal with nested transactions issue
badjer Aug 23, 2012
72699e4
Extensions to type inference; updated Nvelope
badjer Sep 19, 2012
8fe66d8
Break out name/schema interpretation to seperate interface
badjer Sep 19, 2012
aa4749e
Add another 'constructor' for mysqlnamequalifier
badjer Sep 23, 2012
c21f9e7
Bug fix
badjer Sep 23, 2012
db89419
A variety of minor bug fixes and enhancements
badjer Sep 27, 2012
9d3e374
Incremented version #
badjer Sep 27, 2012
0f7e11c
Updated to latest Nvelope
badjer Sep 28, 2012
8ce67cf
Updated to latest Nvelope
badjer Jan 4, 2013
538f57a
[Change] Now Lasy can differentiate between tables and views that are…
kd7iwp Mar 28, 2013
790e406
Merge pull request #3 from kd7iwp/master
badjer Mar 28, 2013
86063d7
Added Release config for tests
badjer Mar 28, 2013
bcecd9b
Updated to use latest Nvelope
badjer Mar 28, 2013
5dd042a
Fixed bug with mysql schemas
badjer Mar 28, 2013
398f529
Merge branch 'mysql'
badjer Mar 28, 2013
78c2295
Use dbo as the default schema if none specified
badjer Mar 28, 2013
dae3bb9
Increment version number
badjer Mar 28, 2013
c26ea43
Fix Read<T> to behave like ReadAll<T> for dict-based objects
badjer Apr 15, 2013
b5ca629
Inc version number
badjer Apr 15, 2013
5a5cfee
Test another conversion issue
badjer Jun 11, 2013
b022fc9
Updated to include packages in repo
badjer Jun 12, 2013
bc2f520
Moved Nvelope.Reactive into this repo
badjer Jun 12, 2013
95642e7
Added the rest of the packages to source control
badjer Jun 12, 2013
c44c6e3
Fix bug in ModifiableMySqlDb
badjer Jun 13, 2013
91035dc
Update version and nuspec
badjer Jun 13, 2013
b8fce9d
Support for MySql's longtext type
badjer Sep 6, 2013
1a363ac
Support for tinyint; updated mysql driver
badjer Sep 12, 2013
7b041e4
Coerce keys to table types before creating read SQL
badjer Nov 24, 2013
6310040
Inc'd version #
badjer Nov 24, 2013
079f662
Map char fields to strings
badjer Nov 25, 2013
ab78df4
Cleanup
badjer Mar 14, 2014
59d2328
Remove packages
badjer Mar 14, 2014
706ddf2
Upped to .net4.5.1
badjer Mar 14, 2014
96d407d
Updated Reactive
badjer Mar 14, 2014
c6fd4ac
Version 1.2.0.0
badjer Mar 14, 2014
b3f3af7
Folded Nvelope.Reactive into Lasy
badjer Mar 20, 2014
26a9e74
Include a .net40 build
badjer Apr 3, 2014
2962ad7
Move nuspec to root; build for .net40 as well
badjer Apr 3, 2014
a9e682d
Cleanup tests
badjer Apr 3, 2014
ebab6de
Add a copy of the test database
badjer Apr 3, 2014
2509223
Test for same table in multiple schemas
badjer Apr 3, 2014
768d941
Fix bug with char columns; version to 1.2.0.3
badjer Aug 11, 2015
c600106
Fixing up references
badjer Aug 11, 2015
982fe3f
Fix odd bug in autonumber column finding
badjer Aug 12, 2015
3b56c86
Fix bug in non-identity auto-valued primary key insertion
badjer Aug 13, 2015
d0db04c
Fix typo
badjer Aug 13, 2015
469cf71
Don't throw exception if default assigned key isn't an autonumber
badjer Aug 13, 2015
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 8 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,4 +1,10 @@
**/bin/
**/obj
**\bin
**\obj
*.suo
*.swp
*.csproj.user
*.nupkg
*.VisualState.xml
TestResult.xml
**\packages
*.zip
6 changes: 6 additions & 0 deletions .nuget/NuGet.Config
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<solution>
<add key="disableSourceControlIntegration" value="true" />
</solution>
</configuration>
Binary file added .nuget/NuGet.exe
Binary file not shown.
71 changes: 71 additions & 0 deletions .nuget/NuGet.targets
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">$(MSBuildProjectDirectory)\..\</SolutionDir>

<!-- Windows specific commands -->
<NuGetToolsPath Condition=" '$(OS)' == 'Windows_NT'">$([System.IO.Path]::Combine($(SolutionDir), ".nuget"))</NuGetToolsPath>
<PackagesConfig Condition=" '$(OS)' == 'Windows_NT'">$([System.IO.Path]::Combine($(ProjectDir), "packages.config"))</PackagesConfig>
<PackagesDir Condition=" '$(OS)' == 'Windows_NT'">$([System.IO.Path]::Combine($(SolutionDir), "packages"))</PackagesDir>

<!-- We need to launch nuget.exe with the mono command if we're not on windows -->
<NuGetToolsPath Condition=" '$(OS)' != 'Windows_NT'">$(SolutionDir).nuget</NuGetToolsPath>
<PackagesConfig Condition=" '$(OS)' != 'Windows_NT' ">packages.config</PackagesConfig>
<PackagesDir Condition=" '$(OS)' != 'Windows_NT'">$(SolutionDir)packages</PackagesDir>

<!-- NuGet command -->
<NuGetExePath>$(NuGetToolsPath)\nuget.exe</NuGetExePath>
<NuGetCommand Condition=" '$(OS)' == 'Windows_NT'">"$(NuGetExePath)"</NuGetCommand>
<NuGetCommand Condition=" '$(OS)' != 'Windows_NT' ">mono --runtime=v4.0.30319 $(NuGetExePath)</NuGetCommand>

<PackageOutputDir Condition="$(PackageOutputDir) == ''">$(TargetDir.Trim('\\'))</PackageOutputDir>

<!-- Package sources used to restore packages. By default will used the registered sources under %APPDATA%\NuGet\NuGet.Config -->
<PackageSources>""</PackageSources>

<!-- Enable the restore command to run before builds -->
<RestorePackages Condition="$(RestorePackages) == ''">false</RestorePackages>

<!-- Property that enables building a package from a project -->
<BuildPackage Condition="$(BuildPackage) == ''">false</BuildPackage>

<!-- Commands -->
<RestoreCommand>$(NuGetCommand) install "$(PackagesConfig)" -source $(PackageSources) -o "$(PackagesDir)"</RestoreCommand>
<BuildCommand>$(NuGetCommand) pack "$(ProjectPath)" -p Configuration=$(Configuration) -o "$(PackageOutputDir)" -symbols</BuildCommand>

<!-- Make the build depend on restore packages -->
<BuildDependsOn Condition="$(RestorePackages) == 'true'">
RestorePackages;
$(BuildDependsOn);
</BuildDependsOn>

<!-- Make the build depend on restore packages -->
<BuildDependsOn Condition="$(BuildPackage) == 'true'">
$(BuildDependsOn);
BuildPackage;
</BuildDependsOn>
</PropertyGroup>

<Target Name="CheckPrerequisites">
<!-- Raise an error if we're unable to locate nuget.exe -->
<Error Condition="!Exists('$(NuGetExePath)')" Text="Unable to locate '$(NuGetExePath)'" />
</Target>

<Target Name="RestorePackages" DependsOnTargets="CheckPrerequisites">
<Exec Command="$(RestoreCommand)"
Condition="'$(OS)' != 'Windows_NT' And Exists('$(PackagesConfig)')" />

<Exec Command="$(RestoreCommand)"
LogStandardErrorAsError="true"
Condition="'$(OS)' == 'Windows_NT' And Exists('$(PackagesConfig)')" />
</Target>

<Target Name="BuildPackage" DependsOnTargets="CheckPrerequisites">
<Exec Command="$(BuildCommand)"
Condition=" '$(OS)' != 'Windows_NT' " />

<Exec Command="$(BuildCommand)"
LogStandardErrorAsError="true"
Condition=" '$(OS)' == 'Windows_NT' " />
</Target>
</Project>
9 changes: 9 additions & 0 deletions Lasy.nunit
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
<NUnitProject>
<Settings activeconfig="Debug" />
<Config name="Debug" binpathtype="Auto">
<assembly path="test\Lasy.Tests\bin\Debug\LasyTests.dll" />
</Config>
<Config name="Release" binpathtype="Auto" >
<assembly path="test\Lasy.Tests\bin\Release\LasyTests.dll" />
</Config>
</NUnitProject>
26 changes: 26 additions & 0 deletions Lasy.nuspec
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
<?xml version="1.0"?>
<package >
<metadata>
<id>Lasy</id>
<version>1.2.0.8</version>
<title>Lasy</title>
<authors>Trinity Western University</authors>
<owners>Brian DeJong</owners>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<description>A lightweight CRUD abstraction layer for data storage.</description>
<releaseNotes></releaseNotes>
<copyright>Copyright 2014</copyright>
<dependencies>
<dependency id="MySql.Data" version="6.7.4" />
<dependency id="Newtonsoft.Json" version="6.0.1" />
<dependency id="Nvelope" version="1.1.0.2" />
<dependency id="Rx-Main" version="2.2.2" />
</dependencies>
</metadata>
<files>
<file src="src/Lasy/bin/Release/Lasy.dll" target="lib/net451/Lasy.dll" />
<file src="src/Lasy/bin/Release/Lasy.xml" target="lib/net451/Lasy.xml" />
<file src="src/Lasy-net4/bin/Release/Lasy.dll" target="lib/net40/Lasy.dll" />
<file src="src/Lasy-net4/bin/Release/Lasy.xml" target="lib/net40/Lasy.xml" />
</files>
</package>
40 changes: 40 additions & 0 deletions Lasy.sln
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Express 2013 for Web
VisualStudioVersion = 12.0.21005.1
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Lasy", "src\Lasy\Lasy.csproj", "{99A415F9-8D5A-4977-AC8B-86EA82C891D3}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Lasy.Tests", "test\Lasy.Tests\Lasy.Tests.csproj", "{088A595B-4550-475E-B1D0-47CB70FBDE6E}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = ".nuget", ".nuget", "{ECC3DC6F-4EBA-4E2A-BE09-D7EAC57D1101}"
ProjectSection(SolutionItems) = preProject
.nuget\NuGet.exe = .nuget\NuGet.exe
.nuget\NuGet.targets = .nuget\NuGet.targets
EndProjectSection
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Lasy-net4", "src\Lasy-net4\Lasy-net4.csproj", "{1D26E9C4-24C7-4D6A-8C47-F608F6314F58}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{99A415F9-8D5A-4977-AC8B-86EA82C891D3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{99A415F9-8D5A-4977-AC8B-86EA82C891D3}.Debug|Any CPU.Build.0 = Debug|Any CPU
{99A415F9-8D5A-4977-AC8B-86EA82C891D3}.Release|Any CPU.ActiveCfg = Release|Any CPU
{99A415F9-8D5A-4977-AC8B-86EA82C891D3}.Release|Any CPU.Build.0 = Release|Any CPU
{088A595B-4550-475E-B1D0-47CB70FBDE6E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{088A595B-4550-475E-B1D0-47CB70FBDE6E}.Debug|Any CPU.Build.0 = Debug|Any CPU
{088A595B-4550-475E-B1D0-47CB70FBDE6E}.Release|Any CPU.ActiveCfg = Release|Any CPU
{088A595B-4550-475E-B1D0-47CB70FBDE6E}.Release|Any CPU.Build.0 = Release|Any CPU
{1D26E9C4-24C7-4D6A-8C47-F608F6314F58}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{1D26E9C4-24C7-4D6A-8C47-F608F6314F58}.Debug|Any CPU.Build.0 = Debug|Any CPU
{1D26E9C4-24C7-4D6A-8C47-F608F6314F58}.Release|Any CPU.ActiveCfg = Release|Any CPU
{1D26E9C4-24C7-4D6A-8C47-F608F6314F58}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal
Binary file removed lib/nunit.framework.dll
Binary file not shown.
6 changes: 6 additions & 0 deletions packages/repositories.config
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<repositories>
<repository path="..\src\Lasy\packages.config" />
<repository path="..\src\Lasy-net4\packages.config" />
<repository path="..\test\Lasy.Tests\packages.config" />
</repositories>
115 changes: 0 additions & 115 deletions src/FakeDB.cs

This file was deleted.

23 changes: 0 additions & 23 deletions src/FakeDBTable.cs

This file was deleted.

22 changes: 0 additions & 22 deletions src/FakeDBTransaction.cs

This file was deleted.

47 changes: 0 additions & 47 deletions src/IReadable.cs

This file was deleted.

Loading