Comments (3)
Actually the tests are performed by creating live databases on a SQL Server instance, detaching them and then testing them (more info here: http://improve.dk/avoiding-regressions-in-orcamdf-by-system-testing/). This makes it extremely easy to write tests, though somewhat slower to run them, and somewhat more cumbersome for others to run (welcome - you're the first external contributor! :)).
Right now it's hard coded to connect to a certain SQL instance and store them in the mentioned path. I've considered creating the databases one-off and then including the detached .MDF's with the SQL Server version in the name, making it much more portable and easy for others to run.
It would however be slightly more cumbersome to create new tests as you'd have to either modify one of the previous MDFs or create a new one altogether. At the benefit of speed, I think it's a valid tradeoff though.
from orcamdf.
Ok I see that now. Well this problem could be solved easily via SQL Server 2012 LocalDB. What is the plan for transitioning to that in addition to (or as opposed) to SQL 2008R2 file format?
from orcamdf.
Looking at things long term, I'd like to support all 2005+ formats as they're extremely similar, ignoring stuff like Columnstore indexes, TDE and such. However, for now I'd prefer to concentrate on SQL2008R2 as there are minor differences in the formats themselves - and especially so if you look at the DMVs.
Supporting minor differences in the engine could, for the most part, be done transparently and by strategizing parts here and there. Supporting multiple DMV versions would basically require an abstraction on top of the whole Database class, having different DMV sets for each version. It'd be possible, but will require a lot of effort that I would much rather put into having wider support for the 2008 R2 file format - especially seeing as the main purpose, for now, is in teaching. And for now, whether reading about the 2005 or 2012 format, it's basically the same.
In the shorter run, for the tests, I'm much more inclined to prebuild the MDFs and include them in the repo. They'll take up some space, but it's cheap and will make it way more portable and faster to run.
from orcamdf.
Related Issues (20)
- EnabledBeforeInsertingThenDisabled Failed. Not sure why/ HOT 2
- Some error HOT 4
- 12 warning about variables being assinged values, but not being used HOT 1
- Some improvements to the database class HOT 5
- Encapsulating most of OrcaMDF studio in a control HOT 1
- RawDatabase streaming support
- You don't seem to expose sys.sysdbreg in OrcaMDF HOT 4
- can't open db HOT 6
- data page type = 1. Slot Offset is read wrong HOT 13
- Data type 'timestamp(8)' is unknown
- Unable to read new bit column HOT 1
- A code to save the scripts as sql files HOT 1
- reading sysschobjs does not return rows
- is it possible to read details from ldf file as well HOT 1
- Rawdatabase.cs file
- Implement parsing of page compression
- Exception in PrimaryRecord HOT 1
- Would you accept a patch that caused OrcaMDF dependencies to be handled by nuget? HOT 3
- Have the build process for OrcaMDF generate a nuget package HOT 5
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from orcamdf.