Hey, my last e-mail got bounced for size, so if you really want the zip, or the patch, everything is at http://kubasik.net/files/olive_patches/
sorry! On 9/20/07, Kevin Kubasik <[EMAIL PROTECTED]> wrote: > Ok, well in addition to the git way: > git clone http://kubasik.net/git/olive-kkubasik.git > git branch --track localbranch origin/linq_kubasik > git checkout localbranch > > or the web interface[1], I have included a plethora of patches. The > first one (kkubasik-olive....) is a simple diff of my working > directory against subversion head (or almost, theres the anon delay > and my lazness, but it should be pretty close). The zip is a patchset > (the way git wants to do them) with a separate patch for every commit > I've made to my local repo, probably a pain to actually apply, but > good if your confused over an odd diff. And lastly the RevLog (or as > its better known git log --pretty --numstat --summary) I'm working on > a complete(ish) changelog entry, but its pretty big. (I've been > nabbing some low-hanging fruit as I go, null checking, API updates > etc.) > > Anyways, the patches will probably be (somewhat) obsolete later this > evening, as I've just been making headway. That doesn't mean ignore > them, I need some review of whats going on (things like the > DummyDataProvider.cs DiffWrapper.cs and DiffTracker.cs specifically) > also any other codeing habits or the like. I've never worked on > Classlibs before, and I'm completely open to criticizm, please don't > be afraid of hurting my feeling, most of this code is experimental, to > see if I've got everything figured out. > > On a separate note, if anyone is checking the web interface, or the > patches, they might notice the TestSuite is currently lots of > VisualStudio specific autogenerated code, and a Sql Server 2005 > Express Edition database. Being as that toolchain is the only known > working implementation (there have been several attempts at MySql > backends, I have head mixed things, some were just decompilations of > the Sql Provider components with a few syntax changes, and some where > from scratch and still buggy.) If there's a frontrunner I'll gladly > port the tests, however, until then, (especially seeing as we don't > build or run this library by default atm) I would prefer to shelf the > overhead associated with making those test's crossplatform. Once we > have some form of implementation (even something like 20-30% > functional API compatibility, I can get it integrated with makefiles, > and using dummy objects for our db backend. > > All that said, what is the policy for moving this type of code into > the repo? Would we just keep the test module separate (maybe as an > svn:external ?) or something, or is it ok? > > Anyways, I hope I'm on the right track here, and actually poised to > help, and not just be a constant question sinkhole. I know that a lot > of the full-time mono developers telecommute, is there a good time to > catch people on the IRC or a Jabber conference room? > > Anyways, if anyone gets a chance, let me know what possible potential > solutions might be with regards to the test suite. Please feel free to > examine/peruse/molest the other code as well, however most of that is > placeholders etc. until I can flesh out more helper classes/methods. > > Here is the ChangeLog entry I wrote for this lump of patches, even > though its not really a release or anything. > > 2007-09-20 Kevin Kubasik <[EMAIL PROTECTED]> > * A series of small API Compatability fixes for Beta 2 > * A Test Project LinqDataTest (Windows Specifict ATM) > * The beginnings of a Linq to Sql Test Suite > * DataShape.cs -> DataLoadOptions.cs (API Change) > * DataContext.cs -> Added missing interfaces and method stubs > * Write and test GetTable() > * Started work on Translate() > * Added missing public Properties > * DummyDataService.cs > * Primarily to extend IDataService.cs for testing > * Could potentially become a 'core' implementation > * IDataService.cs > * Uncommened interface > * Organized methods by instance-public and everything else > * State.cs > * Added a 'ChangeState' enum, as seen in several places on > MSDN > * Table_T.cs > * Added several missing interfaces > * Method stubs for corresponding methods > * Started work on Add > * Implemented Expression handling > * DiffTracker.cs & DiffWrapper.cs > * The backend of Table, will provide access as an IEnumerable > * Allows the sane implementation of SubmitChanges() > * ChangeSet.cs > * Working implementation matching docs on MSDN > * EntityRef.cs > * BuildFixes when working with Windows > * Link_T.cs > * Ported existing elements of implementation to updated API > * IExecuteResults.cs & IFunctionResults > * Were mistakenly duplicated originaly, now only one copy of > each > lives, in System.Data.Linq > * CompiledQuery.cs > * A near-complete implementation - Needs much more testing. > * DataQueryProvider.cs > * A skeleton implementation of IQueryProvider, need for the > intelligent > handling of DB types > * Binary.cs > * Implemented some overrides Equals, ToArray and ToString > * In addition, I modified several other files when trying to get the > net_3_5 profile > > > Cheers! > Kevin Kubasik > > > > On 9/20/07, Marek Safar <[EMAIL PROTECTED]> wrote: > > Hi Kevin, > > > Hey! I've started to get going on some of the System.Data.Linq work, > > > at the moment, there's not much in terms of real code to show, but > > > some initial unit tests (my first ever, sorry they're so incomplete) > > > and API updates (Get the public API more in sync with the current 3.5 > > > Beta 2) and realistic implementation for some of the extension > > > methods, static methods, and helper style classes. I hope to delve > > > into Table and DataContext later this week (the real toughies) but > > > once I 'got' the whole deferred execution thing, this whole system > > > started to make a lot more sense. (Hence my writing the CompiledQuery > > > class ;) ). > > > > > I am happy to hear that you have made good progress. > > > Anyways, there's too much file movement to do a sane patch, and since > > > some of the new files aren't properly integrated into the build > > > system, I don't want to submit a patch, however, as I clean up the > > > code and make more progress, I'll release a branch later today, once I > > > finish cloning SVN for a local repo. > > > > > Is it really necessary to clone our SVN? > > > Anyways, I figured I should drop in some sort of status update, at the > > > moment, the biggest hurdle for me is getting build systems to play > > > nice, conceptually, it seems easy enough, just add a makefile event > > > which outputs the VS projects and solutions. The other thing is I'm > > > currently using Resharper to run the Nunit tests, and that needs to be > > > added to the makefiles. > > > > > This should not be hard, MWF guys have some script if you want to > > automate (.sources -> .csproj) conversion. > > > Before I get in too deep, whats the policy with ChangeLogs? I'm > > > assuming some sort of comment/description of changes is required, > > > however, everyone has their specifics, and I didn't see anything in > > > the wiki. Moreover, should I be submitting individual patches for each > > > increment I complete? (for example when I finish integrating my tests > > > into the build, should I submit that patch or wait until my work is > > > 'done'. Seeing as the namespace I'm working on isn't really at risk of > > > 'breaking' I would guess that reasonable benchmarks are ok, I'm open > > > to whatever. Once I have a public branch of my work up, I'll just > > > reference that. > > > > > The preferred way is to submit more small patches split by something > > common which > > you can describe in ChangeLog. There is not much activity in olive now, but > > maintaining your changes in the local repository for long time is not > > good. Anyone can > > commit changes which you have already made. > > > > Thanks > > Marek > > > > > > [1] - > http://kubasik.net/git/gitweb.cgi?p=olive-kkubasik.git;a=shortlog;h=linq_kubasik > -- > Cheers, > Kevin Kubasik > http://kubasik.net/blog > > -- Cheers, Kevin Kubasik http://kubasik.net/blog
commit 649456839dfc99f50cf288e5bd6f639439abbc77 Author: kkubasik <[EMAIL PROTECTED]> Date: Thu Sep 20 11:21:03 2007 -0400 Commit an updated Changelog, as well as some line-ending fixs and build elements 43 0 class/System.Data.Linq/ChangeLog 118 118 class/System.Data.Linq/System.Data.Linq/CompiledQuery.cs 73 73 class/System.Data.Linq/System.Data.Linq/EntityRef.cs commit 86f9ee1f3302bbca026175d2439b91258ec6f6da Author: kkubasik <[EMAIL PROTECTED]> Date: Thu Sep 20 09:56:41 2007 -0400 This is a large but minimally functional commit, I have been refractoring more and slowing fleshing out the infrastructure for a functional datacontext. The individual revisions are too numerous to list in the commit log, please just reference the diffstat. 1 0 class/System.Data.Linq/LinqDataTest/LinqDataTest/LinqDataTest.csproj 0 35 class/System.Data.Linq/System.Data.Linq.Provider/IExecuteResults.cs 0 33 class/System.Data.Linq/System.Data.Linq.Provider/IMultipleResults.cs 7 2 class/System.Data.Linq/System.Data.Linq.csproj 5 3 class/System.Data.Linq/System.Data.Linq/CompiledQuery.cs 43 4 class/System.Data.Linq/System.Data.Linq/DataContext.cs 25 0 class/System.Data.Linq/System.Data.Linq/DiffTracker.cs 19 0 class/System.Data.Linq/System.Data.Linq/DiffWrapper.cs 6 0 class/System.Data.Linq/System.Data.Linq/DummyDataServices.cs 8 0 class/System.Data.Linq/System.Data.Linq/EntityRef.cs 30 0 class/System.Data.Linq/System.Data.Linq/IFunctionResult.cs 11 9 class/System.Data.Linq/System.Data.Linq/IMultipleResults.cs 112 93 class/System.Data.Linq/System.Data.Linq/Link_T.cs 6 3 class/System.Data.Linq/System.Data.Linq/Table_T.cs delete mode 100644 class/System.Data.Linq/System.Data.Linq.Provider/IExecuteResults.cs delete mode 100644 class/System.Data.Linq/System.Data.Linq.Provider/IMultipleResults.cs create mode 100755 class/System.Data.Linq/System.Data.Linq/IFunctionResult.cs commit 2f904fcf2d526d589a8b2543ecd0598b654d8dd5 Author: Kevin Kubasik <[EMAIL PROTECTED]> Date: Thu Sep 20 05:45:03 2007 -0400 Fix the linux build 1 1 class/System.Data.Linq/System.Data.Linq.Mapping/AttributeMappingSource.cs 1 1 class/System.Data.Linq/System.Data.Linq.Mapping/XmlMappingSource.cs 6 1 class/System.Data.Linq/System.Data.Linq.dll.sources 1 1 class/System.Data.Linq/System.Data.Linq/Table_T.cs commit 259b32a065af1bb48a2f3fab9b64eff94bdf44e0 Author: Kevin Kubasik <[EMAIL PROTECTED]> Date: Thu Sep 20 04:53:11 2007 -0400 Some major work is starting to get done. In addition to updating more of the public API's to the latest .Net 3.5 beta 2, but I almost have a complete codepath through the datacontext to a table to get its length. Not much, but its a full trip. This commit also has the inital classes for our change tracking system. As the DataContext only takes action on SubmitChanges(). 22 6 class/System.Data.Linq/System.Data.Linq.Mapping/MappingSource.cs 8 2 class/System.Data.Linq/System.Data.Linq.Mapping/MetaModel.cs 1 0 class/System.Data.Linq/System.Data.Linq.Provider/ICompiledQuery.cs 51 51 class/System.Data.Linq/System.Data.Linq.Provider/IDataServices.cs 70 64 class/System.Data.Linq/System.Data.Linq.Provider/IProvider.cs 23 1 class/System.Data.Linq/System.Data.Linq/ChangeConflictCollection.cs 314 288 class/System.Data.Linq/System.Data.Linq/DataContext.cs 28 28 class/System.Data.Linq/System.Data.Linq/DataLoadOptions.cs 54 0 class/System.Data.Linq/System.Data.Linq/DataQueryProvider.cs 53 0 class/System.Data.Linq/System.Data.Linq/DiffTracker.cs 87 0 class/System.Data.Linq/System.Data.Linq/DiffWrapper.cs 1 0 class/System.Data.Linq/System.Data.Linq/DummyDataServices.cs 1 0 class/System.Data.Linq/System.Data.Linq/Schema.cs 36 0 class/System.Data.Linq/System.Data.Linq/State.cs 187 151 class/System.Data.Linq/System.Data.Linq/Table_T.cs create mode 100755 class/System.Data.Linq/System.Data.Linq/DataQueryProvider.cs create mode 100755 class/System.Data.Linq/System.Data.Linq/DiffTracker.cs create mode 100755 class/System.Data.Linq/System.Data.Linq/DiffWrapper.cs create mode 100755 class/System.Data.Linq/System.Data.Linq/State.cs commit bac29eb12e6789eaa0b8575eb1aeff358217c55b Author: Kevin Kubasik <[EMAIL PROTECTED]> Date: Thu Sep 20 01:19:52 2007 -0400 More testing of tables voodo in DataContext, noticed some missing usings that were preventing builds against 3.5 beta 2 10 0 class/System.Data.Linq/LinqDataTest/LinqDataTest/DataContext.cs - - class/System.Data.Linq/LinqDataTest/LinqDataTest/TestComponents/NORTHWND.MDF - - class/System.Data.Linq/LinqDataTest/LinqDataTest/TestComponents/NORTHWND_log.ldf 4 3 class/System.Data.Linq/System.Data.Linq.csproj 1 2 class/System.Data.Linq/System.Data.Linq/DataContext.cs 1 0 class/System.Data.Linq/System.Data.Linq/EntityRef.cs commit dbefe82ba6e3478ec840a62a43b0858d6f1fc8a7 Author: Kevin Kubasik <[EMAIL PROTECTED]> Date: Thu Sep 20 00:58:28 2007 -0400 Added some copywrite headers, added DummyDataServices, a placeholder implementation of IDataServices until we have a provider that implements it, or just do it in a more global fashion. Implemented the first of several GetTable methods in DataContext. Implementation is probably not 100% but its not at a really testable point yet. 31 1 class/System.Data.Linq/LinqDataTest/LinqDataTest/DataLoadOptionsFixture.cs 30 21 class/System.Data.Linq/System.Data.Linq.Provider/IDataServices.cs 44 2 class/System.Data.Linq/System.Data.Linq/DataContext.cs 124 0 class/System.Data.Linq/System.Data.Linq/DummyDataServices.cs create mode 100755 class/System.Data.Linq/System.Data.Linq/DummyDataServices.cs commit 4ce9b13a1069d4b9556129d84400e551b1ae382e Author: Kevin Kubasik <[EMAIL PROTECTED]> Date: Thu Sep 20 00:10:11 2007 -0400 Adding missing transaction log for northwind to revision control, also adding first DataLoadOptions unit test. A simple join query 39 0 class/System.Data.Linq/LinqDataTest/LinqDataTest/DataLoadOptionsFixture.cs 1 0 class/System.Data.Linq/LinqDataTest/LinqDataTest/LinqDataTest.csproj - - class/System.Data.Linq/LinqDataTest/LinqDataTest/TestComponents/NORTHWND.LDF 6 1 class/System.Data.Linq/System.Data.Linq.sln create mode 100755 class/System.Data.Linq/LinqDataTest/LinqDataTest/DataLoadOptionsFixture.cs create mode 100755 class/System.Data.Linq/LinqDataTest/LinqDataTest/TestComponents/NORTHWND.LDF commit e7dfc93b8b57dbd219352df2264b74216253a2f3 Author: Kevin Kubasik <[EMAIL PROTECTED]> Date: Wed Sep 19 23:56:54 2007 -0400 Inital skeleton of DataLoadOptions, might still be incomplete, but AssociateWith and LoadWith are going to be the hard methods to write 42 3 class/System.Data.Linq/System.Data.Linq/DataLoadOptions.cs commit df619d855550521ee8b4ac02f461b530ccd9ca28 Author: Kevin Kubasik <[EMAIL PROTECTED]> Date: Wed Sep 19 23:48:26 2007 -0400 DataShape was renamed to DataLoadOptions in Beta 2 - more cleanup 1 1 class/System.Data.Linq/System.Data.Linq.sln 1 0 class/System.Data.Linq/System.Data.Linq/DataContext.cs 0 28 class/System.Data.Linq/System.Data.Linq/DataShape.cs 0 116 class/System.Data.Linq/System.Data.Linq/System.Data.Linq.csproj delete mode 100644 class/System.Data.Linq/System.Data.Linq/DataShape.cs delete mode 100755 class/System.Data.Linq/System.Data.Linq/System.Data.Linq.csproj commit f79cf302d7b3186bb85ea3d782bfd4198e864adf Author: Kevin Kubasik <[EMAIL PROTECTED]> Date: Wed Sep 19 23:41:17 2007 -0400 DataShape was renamed to DataLoadOptions in Beta 2 29 0 class/System.Data.Linq/System.Data.Linq/DataLoadOptions.cs create mode 100644 class/System.Data.Linq/System.Data.Linq/DataLoadOptions.cs commit 8aabacf57e6a57074343de851a6a301e16a92431 Author: Kevin Kubasik <[EMAIL PROTECTED]> Date: Wed Sep 19 23:38:35 2007 -0400 VS 2008 Solution and projects now build and are sane, I will attempt to keep makefiles roughly in sync, however until development slows, I cannot promise 94 0 class/System.Data.Linq/System.Data.Linq.csproj create mode 100755 class/System.Data.Linq/System.Data.Linq.csproj commit 6db3c19dc0c8afea1dc72b2d95e973c362e75fe6 Author: Kevin Kubasik <[EMAIL PROTECTED]> Date: Wed Sep 19 23:21:43 2007 -0400 More ignore's cleanup since resharper likes to butt in 2 0 .gitignore 16 0 class/System.Data.Linq/System.Data.Linq.resharper create mode 100755 class/System.Data.Linq/System.Data.Linq.resharper commit ac9a7f7126e30f4e49c326df4cab0f1ebbb05d25 Author: Kevin Kubasik <[EMAIL PROTECTED]> Date: Wed Sep 19 23:03:33 2007 -0400 Adding sample database for tests, the infamount NorthWind - - class/System.Data.Linq/LinqDataTest/LinqDataTest/TestComponents/NORTHWND.MDF - - class/System.Data.Linq/LinqDataTest/LinqDataTest/TestComponents/NORTHWND_log.ldf create mode 100755 class/System.Data.Linq/LinqDataTest/LinqDataTest/TestComponents/NORTHWND.MDF create mode 100755 class/System.Data.Linq/LinqDataTest/LinqDataTest/TestComponents/NORTHWND_log.ldf commit c10036ee585678ca97d9fc1b0f317f00aa20260c Author: Kevin Kubasik <[EMAIL PROTECTED]> Date: Wed Sep 19 22:59:18 2007 -0400 New clean solution and an ignore for my resharper files 1 0 .gitignore 21 0 class/System.Data.Linq/System.Data.Linq.sln create mode 100644 .gitignore create mode 100755 class/System.Data.Linq/System.Data.Linq.sln commit 2f4bb8dc64f193b8ea006e7c15555a42af13b677 Author: Kevin Kubasik <[EMAIL PROTECTED]> Date: Wed Sep 19 22:57:14 2007 -0400 Restructuring Solution/Project to make generation of buildfiles more sane 0 48 class/System.Data.Linq/System.Data.Linq/System.Data.Linq.sln delete mode 100755 class/System.Data.Linq/System.Data.Linq/System.Data.Linq.sln commit 4e6a38a3262c4fe3e3ba5fb2fff75022d884ffb3 Author: Kevin Kubasik <[EMAIL PROTECTED]> Date: Wed Sep 19 22:38:06 2007 -0400 Inital import of my work, does not build, and does not integrate with the current autotools system 16 0 class/System.Data.Linq/LinqDataTest/LinqDataTest.resharper 20 0 class/System.Data.Linq/LinqDataTest/LinqDataTest.sln 55 0 class/System.Data.Linq/LinqDataTest/LinqDataTest/BinaryFixture.cs 33 0 class/System.Data.Linq/LinqDataTest/LinqDataTest/DBConvert.cs 265 0 class/System.Data.Linq/LinqDataTest/LinqDataTest/DataContext.cs 154 0 class/System.Data.Linq/LinqDataTest/LinqDataTest/LinqDataTest.csproj 37 0 class/System.Data.Linq/LinqDataTest/LinqDataTest/Properties/Settings.Designer.cs 14 0 class/System.Data.Linq/LinqDataTest/LinqDataTest/Properties/Settings.settings 23 0 class/System.Data.Linq/LinqDataTest/LinqDataTest/TableFixture.cs 28431 0 class/System.Data.Linq/LinqDataTest/LinqDataTest/TestComponents/NORTHWNDDataSet.Designer.cs 1 0 class/System.Data.Linq/LinqDataTest/LinqDataTest/TestComponents/NORTHWNDDataSet.xsc 2788 0 class/System.Data.Linq/LinqDataTest/LinqDataTest/TestComponents/NORTHWNDDataSet.xsd 1 0 class/System.Data.Linq/LinqDataTest/LinqDataTest/TestComponents/NORTHWNDDataSet.xss 232 0 class/System.Data.Linq/LinqDataTest/LinqDataTest/TestComponents/NorthWind.dbml 175 0 class/System.Data.Linq/LinqDataTest/LinqDataTest/TestComponents/NorthWind.dbml.layout 4296 0 class/System.Data.Linq/LinqDataTest/LinqDataTest/TestComponents/NorthWind.designer.cs 10 0 class/System.Data.Linq/LinqDataTest/LinqDataTest/app.config 12 4 class/System.Data.Linq/System.Data.Linq/Binary.cs 97 0 class/System.Data.Linq/System.Data.Linq/ChangeSet.cs 60 1 class/System.Data.Linq/System.Data.Linq/CompiledQuery.cs 92 10 class/System.Data.Linq/System.Data.Linq/DataContext.cs 23 4 class/System.Data.Linq/System.Data.Linq/DuplicateKeyException.cs 116 0 class/System.Data.Linq/System.Data.Linq/System.Data.Linq.csproj 16 0 class/System.Data.Linq/System.Data.Linq/System.Data.Linq.resharper 48 0 class/System.Data.Linq/System.Data.Linq/System.Data.Linq.sln 5 2 class/System.Data.Linq/System.Data.Linq/Table_T.cs create mode 100755 class/System.Data.Linq/LinqDataTest/LinqDataTest.resharper create mode 100755 class/System.Data.Linq/LinqDataTest/LinqDataTest.sln create mode 100755 class/System.Data.Linq/LinqDataTest/LinqDataTest/BinaryFixture.cs create mode 100755 class/System.Data.Linq/LinqDataTest/LinqDataTest/DBConvert.cs create mode 100755 class/System.Data.Linq/LinqDataTest/LinqDataTest/DataContext.cs create mode 100755 class/System.Data.Linq/LinqDataTest/LinqDataTest/LinqDataTest.csproj create mode 100755 class/System.Data.Linq/LinqDataTest/LinqDataTest/Properties/Settings.Designer.cs create mode 100755 class/System.Data.Linq/LinqDataTest/LinqDataTest/Properties/Settings.settings create mode 100755 class/System.Data.Linq/LinqDataTest/LinqDataTest/TableFixture.cs create mode 100755 class/System.Data.Linq/LinqDataTest/LinqDataTest/TestComponents/NORTHWNDDataSet.Designer.cs create mode 100755 class/System.Data.Linq/LinqDataTest/LinqDataTest/TestComponents/NORTHWNDDataSet.xsc create mode 100755 class/System.Data.Linq/LinqDataTest/LinqDataTest/TestComponents/NORTHWNDDataSet.xsd create mode 100755 class/System.Data.Linq/LinqDataTest/LinqDataTest/TestComponents/NORTHWNDDataSet.xss create mode 100755 class/System.Data.Linq/LinqDataTest/LinqDataTest/TestComponents/NorthWind.dbml create mode 100755 class/System.Data.Linq/LinqDataTest/LinqDataTest/TestComponents/NorthWind.dbml.layout create mode 100755 class/System.Data.Linq/LinqDataTest/LinqDataTest/TestComponents/NorthWind.designer.cs create mode 100755 class/System.Data.Linq/LinqDataTest/LinqDataTest/app.config create mode 100755 class/System.Data.Linq/System.Data.Linq/ChangeSet.cs create mode 100755 class/System.Data.Linq/System.Data.Linq/System.Data.Linq.csproj create mode 100755 class/System.Data.Linq/System.Data.Linq/System.Data.Linq.resharper create mode 100755 class/System.Data.Linq/System.Data.Linq/System.Data.Linq.sln
_______________________________________________ Mono-devel-list mailing list Mono-devel-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-devel-list