36
I Use This!
Inactive

News

Analyzed about 15 hours ago. based on code collected 1 day ago.
Posted over 16 years ago by Eric Kemp
I thought my next blog post would be announcing SubSonic 2.0.3 - and until late this morning thing were looking pretty good on that front. I know, it sounds like a lame way to spend the 4th of July, but sometimes real freedom is a quiet phone and an ... [More] empty inbox. And since our "commander-in-chief" has continued to use the Constitution as toilet paper, I'm not feeling especially patriotic... But instead of releasing 2.0.3, I'm rebuilding my dev box. For reasons I will probably never know, IIS decided to take a permanent holiday this morning and no amount of coaxing would bring it back. I attempted to remove and reinstall IIS, only to discover that once removed, it had no intention of going back. Fair enough, I'll do a repair install of the OS, just like I used to do when XP became completely FUBAR. Well, in Vista you can't do that anymore. There is simply no option to reinstall core OS files short of a full reinstall. Ok then, I guess this means a full reinstall - it'll give me a chance to truly clean house. Well, during one of the many reboots in the process, the boot manager decided it was time to reshuffle my drive letters, turning my C:\ drive into my E:\ drive, an in so, refusing to boot back into the installer. Oh joy. So I thought for a minute about what Vista has really done for me in the three months since I made a full commitment to it, and whether I really felt like fighting it anymore: Positive Vista Contributions Nice eye candy A better task scheduler A services tab in task manager None of the features (like WinFS) that got me initially excited about it. Ability to run Halo 2. Negative Vista Contributions Significantly slower file operations everywhere Mysterious file locking A complete lack of transparency into the inner workings of just about everything on my machine Beta quality video drivers six months after official release. Thanks nVidia! Bonus: Despite repeated to attempts to convince it otherwise, thinks every folder contains pictures thereby removing any useful information and replacing it with a slide show option. Surprisingly, .dll files don't render into nice 24-bit images. And there it was: A choice as clear as daylight. Of course, thanks to the symbolic links that Vista creates across the file system as part of the virtualization model, this is not a straightforward process.  Windows XP cannot delete the contents of the Windows directory, and you won't even make it to the initial reboot without a file copy failure. In retrospect, I probably should have just blown away my C:\ partition, but I chose the difficult route, which involved Ultimate Boot Disc and the manual resetting of permissions and ownership across several directories. But now I'm on my way, XP is installed, and I've commenced the laborious process of reinstalling all the applications I depend on. It's funny - I don't feel like I've given up a damn thing. In fact, I'm actually excited to be back on XP - back to a fast, tried-and-true operating system that I control, without daily surprises. Goodbye Vista - I've got work to do and I don't have time for this bullshit. You're beautiful, but that's enough to sustain a relationship. Call me when you hit SP1. [Less]
Posted over 16 years ago by Eric Kemp
I thought my next blog post would be announcing SubSonic 2.0.3 - and until late this morning thing were looking pretty good on that front. I know, it sounds like a lame way to spend the 4th of July, but sometimes real freedom is a quiet phone and an ... [More] empty inbox. And since our "commander-in-chief" has continued to use the Constitution as toilet paper, I'm not feeling especially patriotic... But instead of releasing 2.0.3, I'm rebuilding my dev box. For reasons I will probably never know, IIS decided to take a permanent holiday this morning and no amount of coaxing would bring it back. I attempted to remove and reinstall IIS, only to discover that once removed, it had no intention of going back. Fair enough, I'll do a repair install of the OS, just like I used to do when XP became completely FUBAR. Well, in Vista you can't do that anymore. There is simply no option to reinstall core OS files short of a full reinstall. Ok then, I guess this means a full reinstall - it'll give me a chance to truly clean house. Well, during one of the many reboots in the process, the boot manager decided it was time to reshuffle my drive letters, turning my C:\ drive into my E:\ drive, an in so, refusing to boot back into the installer. Oh joy. So I thought for a minute about what Vista has really done for me in the three months since I made a full commitment to it, and whether I really felt like fighting it anymore: Positive Vista Contributions Nice eye candy A better task scheduler A services tab in task manager None of the features (like WinFS) that got me initially excited about it. Ability to run Halo 2. Negative Vista Contributions Significantly slower file operations everywhere Mysterious file locking A complete lack of transparency into the inner workings of just about everything on my machine Beta quality video drivers six months after official release. Thanks nVidia! Bonus: Despite repeated to attempts to convince it otherwise, thinks every folder contains pictures thereby removing any useful information and replacing it with a slide show option. Surprisingly, .dll files don't render into nice 24-bit images. And there it was: A choice as clear as daylight. Of course, thanks to the symbolic links that Vista creates across the file system as part of the virtualization model, this is not a straightforward process.  Windows XP cannot delete the contents of the Windows directory, and you won't even make it to the initial reboot without a file copy failure. In retrospect, I probably should have just blown away my C:\ partition, but I chose the difficult route, which involved Ultimate Boot Disc and the manual resetting of permissions and ownership across several directories. But now I'm on my way, XP is installed, and I've commenced the laborious process of reinstalling all the applications I depend on. It's funny - I don't feel like I've given up a damn thing. In fact, I'm actually excited to be back on XP - back to a fast, tried-and-true operating system that I control, without daily surprises. Goodbye Vista - I've got work to do and I don't have time for this bullshit. You're beautiful, but that's enough to sustain a relationship. Call me when you hit SP1. [Less]
Posted almost 17 years ago by Eric Kemp
Revision 126, the first post 2.0.2 check-in, adds an exciting change to the core template engine which will improve the overall usability of SubSonic. I'll get to that in a minute, but first there are a couple more mundane changes that I'd like to ... [More] mention. The first of these fixes an issue in 2.0.2 regarding logical deletes. Andrew Rimmer pointed an issue that was introduce with the switch to treat null values as false when handling the special columns. I think that this only represents an issue if your these columns are actually defined as nullable, but please check your results carefully if using this functionality. The second set of changes are some tweaks to help support the use of SubSonic in medium trust environments. Specifically, these are: A small modification to the SubSonic AssemblyInfo.cs which was marked as requiring permissions beyond those available in medium trust scenarios. A change in the tracing behavior. By default, SubSonic tracing is now disabled. Not only does this address medium trust issues, it eliminates a degree of unnecessary overhead in production environments. Tracing can be enabled or disabled across all providers via new service (not provider) level boolean parameter switch, traceEnabled However, the cool addition in Revision 126 is the newly rewritten template execution engine. The new engine is designed at every turn to eliminate expensive or redundant operations and minimize the number of times the compiler is invoked. Rather than generating the final code by compiling an assembly for each template executed, all templates compiled into a single assembly. The results are dramatic, in the neighborhood of an 800% improvement. For example, in my environment, the time to generate the code for the default configuration scenario (two providers using the Northwind database), the execution time dropped from 17 seconds to 2. While this means that you can generate your classes faster, the real benefit is when using the build provider, as it dramatically reduces the time required to compile your project, and eliminate the extended IDE lockup that occurs when performing actions that trigger the build provider, such as editing web.config. Does it feel faster? Let us know! [Less]
Posted almost 17 years ago by Eric Kemp
Revision 126, the first post 2.0.2 check-in, adds an exciting change to the core template engine which will improve the overall usability of SubSonic. I'll get to that in a minute, but first there are a couple more mundane changes that I'd like to ... [More] mention. The first of these fixes an issue in 2.0.2 regarding logical deletes. Andrew Rimmer pointed an issue that was introduce with the switch to treat null values as false when handling the special columns. I think that this only represents an issue if your these columns are actually defined as nullable, but please check your results carefully if using this functionality. The second set of changes are some tweaks to help support the use of SubSonic in medium trust environments. Specifically, these are: A small modification to the SubSonic AssemblyInfo.cs which was marked as requiring permissions beyond those available in medium trust scenarios. A change in the tracing behavior. By default, SubSonic tracing is now disabled. Not only does this address medium trust issues, it eliminates a degree of unnecessary overhead in production environments. Tracing can be enabled or disabled across all providers via new service (not provider) level boolean parameter switch, traceEnabled However, the cool addition in Revision 126 is the newly rewritten template execution engine. The new engine is designed at every turn to eliminate expensive or redundant operations and minimize the number of times the compiler is invoked. Rather than generating the final code by compiling an assembly for each template executed, all templates compiled into a single assembly. The results are dramatic, in the neighborhood of an 800% improvement. For example, in my environment, the time to generate the code for the default configuration scenario (two providers using the Northwind database), the execution time dropped from 17 seconds to 2. While this means that you can generate your classes faster, the real benefit is when using the build provider, as it dramatically reduces the time required to compile your project, and eliminate the extended IDE lockup that occurs when performing actions that trigger the build provider, such as editing web.config. Does it feel faster? Let us know! [Less]
Posted almost 17 years ago by Eric Kemp
It's been about 5 weeks since we release 2.0.1a, and things haven't slowed down a bit! So, a little later than initially promised, I'm proud to present SubSonic version 2.0.2, featuring a truly massive set of fixes and enhancements, as well as some ... [More] entirely brand new features. This is our first release since move the code base to Google Code, and in such, the first to really take advantage of user-submitted patches. The code here not only represents the contributions of the core team, but also a large number of SubSonic users who dove right in and tweaked, fixed, and enhance to core code base. While I won't try to mention everyone who contributed (as I'm sure I'd end up leaving people out) I would like to recognize Adam Fordham, who made us finally CLS compliant (woohoo!) and Jay Turpin who gave us some great patches the eliminate a ton of duplicated collection code, as well as an excellent batch save routine and ability to properly handle dirty records. Huge thanks to all who contributed! Extra special recognition goes to team member Larry Beall, who is not only a great guy, but a true MySql wizard. Through his efforts, he single-handedly built up our MySql capability from only marginal support to being on par with SQL Server, support for transactions, views, stored procedures and relational constraints. Truly great stuff, and more than I thought we'd ever see. Larry - you rock! A few more team mentions: Damien Guard, who called us on some hacks, and fixed a lot of longstanding sloppy and ugly code, making everyone's lives easier going forward. Phil Haack, who gave us support for stored procedure return values, laid the ground work for our next generation query framework, and provided Sugar inspiration. Gavin Joyce, who made some really nice enhancements to the scaffolds, and kept us honest in our VB support. Christopher Karper, who prepared and kept us focused on Mono support Thank you everyone! Now, let's down to business... What's New and Changed While 2.0.2 is primarily a maintenance release, there are a handful of new features and significant changes, some of them breaking. Here are some of the highlights: A new class called Sugar has been added to SubSonic, representing a wide range of time saving utilities using friendly, readable naming conventions, that you'll wish you had on whatever your last project was. With the tagging of template files as embedded resources, Resources.resx was finally able to be removed from the code base. No more duplicate template definitions! MbUnit tests have replaced the Visual Studio Team System ones, removing a VSTS requirement for unit test execution Strong name support for those looking embed the SubSonic in the GAC. A breaking change to ToPascalCase, which makes it, well, work. This primarily represents an issue for those of you with table names in all caps, which will now be initial caps. We apologize for this breaking change, but it was the right thing to do. Initial support for the setting of pre-compile directives via database extended properties. Currently preliminary, and SQL Server only. Serialization support via a new provider configuration parameter, generateNullableProperties. Set to true by default, setting it to false will generate classes the that support serialization An option to disable the processing of database default values via the provider setting setPropertyDefaultsFromDatabase. Now set to false by default. An option to disable the automatic generation of ODS controllers via the provider setting generateODSControllers. Set to true by default. A new calendar control for the Scaffolds, which no longer necessitates postback on date changes. A new installer using NSIS, that won't clog up your registry. Just delete the install folder to remove an installation. What's Fixed Below is a list of the Work Items closed in 2.0.2. A handful of these were actually handled in 2.0.1 or earlier, but never assigned a release. These represent only the reported bug fixes. There are at least as many fixes drawn from forum posts. Unlike Work Items, we can't track those bugs (hint, hint) Work Item 4990 - Query - Add GetCountDistinct support Work Item 5207 - ToXML() for a collection Work Item 7065 - MySqlDataProvider.GetForeignKeyTableName Work Item 7326 - Computed column support Work Item 7357 - Add table and view list to parameters Work Item 8060 - Add an IsValid() method Work Item 8473 - Database NULL should be returned as a distinct value Work Item 8609 - Default Column Values on not-nullable columns Work Item 9184 - MySqlDataProvider.GetTableSchema returns wrong info with MySQL 5.0.6.0 Work Item 9536 - Generated 1->Many methods not honoring exclusion list Work Item 9559 - Change Set 21054 - SqlDataProvider.ScriptData() doesn't handle tables without primary keys Work Item 9594 - UniqueIdentifier Defaults Work Item 9661 - Ruby on Rails style model validations Work Item 9718 - new RadioButtons control (like DropDown) Work Item 9720 - DropDown needs PromptValue Work Item 9826 - DropDown move createchildcontrol code -> OnInit Work Item 9865 - Read only fields - update/insert Work Item 9918 - GUID default values Work Item 9919 - List property access on Collection objects Work Item 9931 - Multiple OrderBy's for collections Work Item 9981 - M2M bug in 21746 Work Item 9990 - Sonic.exe crashs Work Item 9996 - DataService.GetInstance("Default") Work Item 9998 - Review DropDownList Creation Work Item 10007 - excludeTableList regex support Work Item 10009 - Default value in Column causes compilation error Work Item 10028 - Northwind Scripts Broken Work Item 10032 - Add IN() to the Update Work Item 10104 - Bug fix for templateDirectory when using SubCommander Work Item 10168 - Unable to insert using oracle Work Item 10184 - Allow wildcard based table/view exclusions Work Item 10204 - NewSequentialId() as default for UniqueIdentifier Work Item 10212 - Dropdown control with where clause Work Item 10214 - ChangeSet 22117: Fails on NewSequentialId() default set up for PK Id (UniqueIdentifier ) field Work Item 10251 - ObjectDataSource deleting not working (Subsonic 2.0.1) Work Item 10258 - Not defining a Namespace causes syntax error Work Item 10267 - Query.GetCount only considers one where clause Work Item 10268 - VB Issue: Character Not Recognized Work Item 10271 - ValidateColumnSettings DATE failure Work Item 10273 - Utility.IsRegexMatch is broken Work Item 10276 - Inserts do not work with Oracle Work Item 10282 - Mulitple WHERE clause on same column Work Item 10292 - Update MySql connector assembly to newer version Work Item 10300 - RadioButton Control Work Item 10302 - Oracle nullable columns not detected Work Item 10304 - Validation doesn't treat empty strings as NULL Work Item 10307 - Orderby, set orderstring Work Item 10319 - CopyTo(abstract record) exception with nullable int column Work Item 10326 - Scaffold edit broken in 2.01 if ID is GUID Work Item 10346 - Scaffolding ManyToManyMap does not work. Work Item 10351 - BUG: ValidateColumnSettings doesn't detect valid guid's correctly. Work Item 10355 - Scaffold DATETIME Calendar Option Work Item 10356 - Provider.GetTables() ignores SharedDbConnectionScope Work Item 10368 - classes from views, column not found: ValueX Work Item 10371 - bug in list.Comparer Work Item 10392 - Nullable parameter arguments for stored procedures Work Item 10432 - Little code cleanup Builder.cs Work Item 10444 - Scaffold.HiddenGridColumns do not get hidden Work Item 10450 - Handle Output Parameters for Stored Procs Work Item 10468 - patch for ODS_controllers Work Item 10505 - Scaffold: Hidden PK column issue Work Item 10517 - strong name Subsonic.dll Work Item 10540 - ExtendedProperties: Exception occurs with multiple index tables Work Item 10543 - MysqlDataProvider fails with System.NotSupportedException Work Item 10552 - VSTS reference leftover in SubSonic.Tests.csproj Work Item 10562 - Revision 53 - HoursFromNow Work Item 10564 - Revision 53 - Reference to MbUnit not working Work Item 10568 - R56 - Natural Numbers Work Item 10592 - StarterSite 2.0: ContentServices.cs - Improper URL naming Scheme Work Item 10596 - Error generating views in MySql Work Item 10606 - R66 - Calendar Control Work Item 10607 - R66 - M2M not being created Work Item 10609 - R66 - excludeTableList Work Item 10640 - Unterminated string constant Work Item 10690 - AllStructs.cs: Incorrect values assigned to Tables and Views members Work Item 10701 - QuickTable control doesn't filter results correctly Work Item 10734 - MySql - DelimitDbName() method Work Item 10735 - ValidateColumnSettings Boolean failure - MySql Work Item 10744 - Fast Insert/Update Work Item 10759 - patch for medium trust APTAC Work Item 10798 - MySQL Stored Procedures Output Parameters Work Item 10802 - rev86 identity columns crashing updates Work Item 10826 - Controls need a TagPrefix defined Work Item 10933 - SQLDataProvider.ExecuteTransaction depends on defaultProvider Work Item 10938 - Writeable Foreign Key Collections Work Item 10948 - templateDirectory is ignored on command-line Work Item 10977 - rev95 CS templates - ActiveList requires 1 arg Work Item 11008 - Generating Nullable Parameters in SPs Work Item 11049 - VB_ClassTemplate: Invalid Syntax Work Item 11069 - BUG(S) w/ FIX: ExecuteTransaction() does not use AddParams() Work Item 11089 - VB Template Work Item 11099 - feature request: SP ReturnValue Work Item 11114 - IN command doesn't work with Update or Delete commands Work Item 11132 - Templates not utilizing LoadAndCloseReader - connection pool timeouts Work Item 11151 - MySqlDataProvider - Use DbType.DateTime for 'timestamp' instead of DbType.Time Work Item 11190 - Sql 2005 TimeStamp - Can't Save Not A Valid Value Work Item 11221 - IsDeleted should also interpret null value as false Work Item 11225 - AllStructs (Database Structure) Work Item 11226 - SqlDataReader not disposed when an exception is thrown Work Item 11233 - Controller Configuration Switch Work Item 11252 - "unrecognized escape sequence" - schema.SchemaName wrong for WinAD table owners Work Item 11266 - Get Select DISTINCT back in the Game So that's 2.0.2. We hope that you're as excited about it as we are! Download [Less]
Posted almost 17 years ago by Eric Kemp
It's been about 5 weeks since we release 2.0.1a, and things haven't slowed down a bit! So, a little later than initially promised, I'm proud to present SubSonic version 2.0.2, featuring a truly massive set of fixes and enhancements, as well as some ... [More] entirely brand new features. This is our first release since move the code base to Google Code, and in such, the first to really take advantage of user-submitted patches. The code here not only represents the contributions of the core team, but also a large number of SubSonic users who dove right in and tweaked, fixed, and enhance to core code base. While I won't try to mention everyone who contributed (as I'm sure I'd end up leaving people out) I would like to recognize Adam Fordham, who made us finally CLS compliant (woohoo!) and Jay Turpin who gave us some great patches the eliminate a ton of duplicated collection code, as well as an excellent batch save routine and ability to properly handle dirty records. Huge thanks to all who contributed! Extra special recognition goes to team member Larry Beall, who is not only a great guy, but a true MySql wizard. Through his efforts, he single-handedly built up our MySql capability from only marginal support to being on par with SQL Server, support for transactions, views, stored procedures and relational constraints. Truly great stuff, and more than I thought we'd ever see. Larry - you rock! A few more team mentions: Damien Guard, who called us on some hacks, and fixed a lot of longstanding sloppy and ugly code, making everyone's lives easier going forward. Phil Haack, who gave us support for stored procedure return values, laid the ground work for our next generation query framework, and provided Sugar inspiration. Gavin Joyce, who made some really nice enhancements to the scaffolds, and kept us honest in our VB support. Christopher Karper, who prepared and kept us focused on Mono support Thank you everyone! Now, let's down to business... What's New and Changed While 2.0.2 is primarily a maintenance release, there are a handful of new features and significant changes, some of them breaking. Here are some of the highlights: A new class called Sugar has been added to SubSonic, representing a wide range of time saving utilities using friendly, readable naming conventions, that you'll wish you had on whatever your last project was. With the tagging of template files as embedded resources, Resources.resx was finally able to be removed from the code base. No more duplicate template definitions! MbUnit tests have replaced the Visual Studio Team System ones, removing a VSTS requirement for unit test execution Strong name support for those looking embed the SubSonic in the GAC. A breaking change to ToPascalCase, which makes it, well, work. This primarily represents an issue for those of you with table names in all caps, which will now be initial caps. We apologize for this breaking change, but it was the right thing to do. Initial support for the setting of pre-compile directives via database extended properties. Currently preliminary, and SQL Server only. Serialization support via a new provider configuration parameter, generateNullableProperties. Set to true by default, setting it to false will generate classes the that support serialization An option to disable the processing of database default values via the provider setting setPropertyDefaultsFromDatabase. Now set to false by default. An option to disable the automatic generation of ODS controllers via the provider setting generateODSControllers. Set to true by default. A new calendar control for the Scaffolds, which no longer necessitates postback on date changes. A new installer using NSIS, that won't clog up your registry. Just delete the install folder to remove an installation. What's Fixed Below is a list of the Work Items closed in 2.0.2. A handful of these were actually handled in 2.0.1 or earlier, but never assigned a release. These represent only the reported bug fixes. There are at least as many fixes drawn from forum posts. Unlike Work Items, we can't track those bugs (hint, hint) Work Item 4990 - Query - Add GetCountDistinct support Work Item 5207 - ToXML() for a collection Work Item 7065 - MySqlDataProvider.GetForeignKeyTableName Work Item 7326 - Computed column support Work Item 7357 - Add table and view list to parameters Work Item 8060 - Add an IsValid() method Work Item 8473 - Database NULL should be returned as a distinct value Work Item 8609 - Default Column Values on not-nullable columns Work Item 9184 - MySqlDataProvider.GetTableSchema returns wrong info with MySQL 5.0.6.0 Work Item 9536 - Generated 1->Many methods not honoring exclusion list Work Item 9559 - Change Set 21054 - SqlDataProvider.ScriptData() doesn't handle tables without primary keys Work Item 9594 - UniqueIdentifier Defaults Work Item 9661 - Ruby on Rails style model validations Work Item 9718 - new RadioButtons control (like DropDown) Work Item 9720 - DropDown needs PromptValue Work Item 9826 - DropDown move createchildcontrol code -> OnInit Work Item 9865 - Read only fields - update/insert Work Item 9918 - GUID default values Work Item 9919 - List property access on Collection objects Work Item 9931 - Multiple OrderBy's for collections Work Item 9981 - M2M bug in 21746 Work Item 9990 - Sonic.exe crashs Work Item 9996 - DataService.GetInstance("Default") Work Item 9998 - Review DropDownList Creation Work Item 10007 - excludeTableList regex support Work Item 10009 - Default value in Column causes compilation error Work Item 10028 - Northwind Scripts Broken Work Item 10032 - Add IN() to the Update Work Item 10104 - Bug fix for templateDirectory when using SubCommander Work Item 10168 - Unable to insert using oracle Work Item 10184 - Allow wildcard based table/view exclusions Work Item 10204 - NewSequentialId() as default for UniqueIdentifier Work Item 10212 - Dropdown control with where clause Work Item 10214 - ChangeSet 22117: Fails on NewSequentialId() default set up for PK Id (UniqueIdentifier ) field Work Item 10251 - ObjectDataSource deleting not working (Subsonic 2.0.1) Work Item 10258 - Not defining a Namespace causes syntax error Work Item 10267 - Query.GetCount only considers one where clause Work Item 10268 - VB Issue: Character Not Recognized Work Item 10271 - ValidateColumnSettings DATE failure Work Item 10273 - Utility.IsRegexMatch is broken Work Item 10276 - Inserts do not work with Oracle Work Item 10282 - Mulitple WHERE clause on same column Work Item 10292 - Update MySql connector assembly to newer version Work Item 10300 - RadioButton Control Work Item 10302 - Oracle nullable columns not detected Work Item 10304 - Validation doesn't treat empty strings as NULL Work Item 10307 - Orderby, set orderstring Work Item 10319 - CopyTo(abstract record) exception with nullable int column Work Item 10326 - Scaffold edit broken in 2.01 if ID is GUID Work Item 10346 - Scaffolding ManyToManyMap does not work. Work Item 10351 - BUG: ValidateColumnSettings doesn't detect valid guid's correctly. Work Item 10355 - Scaffold DATETIME Calendar Option Work Item 10356 - Provider.GetTables() ignores SharedDbConnectionScope Work Item 10368 - classes from views, column not found: ValueX Work Item 10371 - bug in list.Comparer Work Item 10392 - Nullable parameter arguments for stored procedures Work Item 10432 - Little code cleanup Builder.cs Work Item 10444 - Scaffold.HiddenGridColumns do not get hidden Work Item 10450 - Handle Output Parameters for Stored Procs Work Item 10468 - patch for ODS_controllers Work Item 10505 - Scaffold: Hidden PK column issue Work Item 10517 - strong name Subsonic.dll Work Item 10540 - ExtendedProperties: Exception occurs with multiple index tables Work Item 10543 - MysqlDataProvider fails with System.NotSupportedException Work Item 10552 - VSTS reference leftover in SubSonic.Tests.csproj Work Item 10562 - Revision 53 - HoursFromNow Work Item 10564 - Revision 53 - Reference to MbUnit not working Work Item 10568 - R56 - Natural Numbers Work Item 10592 - StarterSite 2.0: ContentServices.cs - Improper URL naming Scheme Work Item 10596 - Error generating views in MySql Work Item 10606 - R66 - Calendar Control Work Item 10607 - R66 - M2M not being created Work Item 10609 - R66 - excludeTableList Work Item 10640 - Unterminated string constant Work Item 10690 - AllStructs.cs: Incorrect values assigned to Tables and Views members Work Item 10701 - QuickTable control doesn't filter results correctly Work Item 10734 - MySql - DelimitDbName() method Work Item 10735 - ValidateColumnSettings Boolean failure - MySql Work Item 10744 - Fast Insert/Update Work Item 10759 - patch for medium trust APTAC Work Item 10798 - MySQL Stored Procedures Output Parameters Work Item 10802 - rev86 identity columns crashing updates Work Item 10826 - Controls need a TagPrefix defined Work Item 10933 - SQLDataProvider.ExecuteTransaction depends on defaultProvider Work Item 10938 - Writeable Foreign Key Collections Work Item 10948 - templateDirectory is ignored on command-line Work Item 10977 - rev95 CS templates - ActiveList requires 1 arg Work Item 11008 - Generating Nullable Parameters in SPs Work Item 11049 - VB_ClassTemplate: Invalid Syntax Work Item 11069 - BUG(S) w/ FIX: ExecuteTransaction() does not use AddParams() Work Item 11089 - VB Template Work Item 11099 - feature request: SP ReturnValue Work Item 11114 - IN command doesn't work with Update or Delete commands Work Item 11132 - Templates not utilizing LoadAndCloseReader - connection pool timeouts Work Item 11151 - MySqlDataProvider - Use DbType.DateTime for 'timestamp' instead of DbType.Time Work Item 11190 - Sql 2005 TimeStamp - Can't Save Not A Valid Value Work Item 11221 - IsDeleted should also interpret null value as false Work Item 11225 - AllStructs (Database Structure) Work Item 11226 - SqlDataReader not disposed when an exception is thrown Work Item 11233 - Controller Configuration Switch Work Item 11252 - "unrecognized escape sequence" - schema.SchemaName wrong for WinAD table owners Work Item 11266 - Get Select DISTINCT back in the Game So that's 2.0.2. We hope that you're as excited about it as we are! Download [Less]
Posted almost 17 years ago by Eric Kemp
A quick example of why understanding SQL operator precedence is important - or "Why I should have approached Work Item 11221 more carefully."
Posted almost 17 years ago by Eric Kemp
A quick example of why understanding SQL operator precedence is important - or "Why I should have approached Work Item 11221 more carefully."
Posted almost 17 years ago by Eric Kemp
It took a little longer than expected, but we're just about ready to put a bow on 2.0.2 and push it out the door. Don't let the point release fool you - there's a pretty massive set of fixes and changes in here, so much so that I'm truly dreading ... [More] writing up the release notes. If you've got any showstoppers, get them into CodePlex in the next 24 hours. I've got a growler of Red Hook straight from the brewery that I've told myself I won't drink until 2.0.2 is out. I'm not sure how much longer I can keep it waiting - certainly not past Friday night... [Less]
Posted almost 17 years ago by Eric Kemp
Revision 111 marks the return of DISTINCT for Query operations. This capability managed to sneak out of the code base long before version 2.0 was released and has been inquired about regularly ever since. The following two syntax formats are ... [More] supported. Query qry = new Query(MyTable.Schema).DISTINCT(); myQuery.IsDistinct = true; No matter where or many times you specify DISTINCT in your query, it will only appear once in the generated SQL - directly after the SELECT. Even so, it's still possible to create queries that don't execute properly, so be careful what you ask your query for - you might not get it. [Less]