VistaDB Changelog

What's new in VistaDB 3.6 Preview Build 87

Jul 18, 2009
  • This is a big build for us. We feel this is probably really close to a release for 3.6. We know we have some rough edges to clean up around some things, but we feel the core feature set is present and the options are all falling into place.
  • Entity Framework Sneak Peak
  • We have not decided if we are going to leave the EF in the 3.6 edition when we release, or if it will continue to be a Preview technology. It all depends on the feedback we get from the community.
  • The Entity Framework DLL implements all the commands, but we are not sure about all the various SQL generation strategies in the EF runtime. I am sure there are some LINQ commands that will generate terrible SQL for us, but we need to find those and get them addressed. I wanted to get a profile and stat output for this build, but it didn’t make it in – maybe next one. I think the EF basics should work for just about anything, it just remains to be seen how well it performs on various LINQ commands, and what we can do to improve it.
  • The current plan is to test EF for now as a Preview technology and ship it later this year. Is this feature a big enough deal to bump the version to 4.0? We would like to know your feedback. It has been a lot of work to get all of the EF implemented and tested, but hopefully it will show people that VistaDB is quite serious about the future of database technologies. People thought we hadn’t shipped it because we couldn’t do it for some reason. We are just taking a very cautious approach, hopefully that is something you can appreciate from your database vendor.
  • GetSchema Changes
  • A lot of GetSchema() rework was required to get this to work for this preview. We had the changes in the next gen engine, but I ported them back to the current line. It had some unfortunate side effects on the Data Set designer though. There is a possibility that some strongly typed dataset generations may not work correctly. I fixed all the ones I found, but now it is time for you guys to give it a whirl. So even if you don’t care about EF, please test the DataSet code as well since they now share some schema calls.
  • We are attempting to much more closely match the SQL Server GetSchema calls for most of the collections. New samples for GetSchema will be posted on the blog and included in the final setup. Some schema columns names were also changed to match SQL Server (IsLiteralsSupported was not plural before). There were a number of GetSchema changes required for the EF provider as well that also impacted the Strongly Typed Dataset Wizard.
  • There could be issues with Stored Procedures in both the EF and DataSet designers. It appears we are using a syntax they don't like for parameters. The newer format is much more flexible and I am quite excited to get it into peoples hands. I know that not a lot of people use the GetSchema calls, but I plan to do a series of blog posts about the changes that might change your mind about how useful they are for getting dynamic data about the database.
  • SQL Server 2008 incorrectly returns some of the size fields for type in their GetSchema calls (TinyInt is 3 bytes in size when it is actually only 1). Rather than match their incorrect information we return the correct byte size for all types.
  • Dynamically Load .Net 3.5 SP1 Required Assemblies
  • And I also wanted to take a minute to publicly thank our own illustrious Mike Swain for his work on extrapolating the EF designer so we could keep the primary engine in .Net 2, but dynamically load the EF Designer (.Net 3.5 SP1) only when needed. We have not tested what happens on 3.5 machines without SP1, etc so I am sure there are edge cases. But the basic theory works incredibly well. It lets us put all our 3.5 SP1 specific code in the VistaDB.EF.dll assembly and not have to maintain two builds of the engine! That is always great news to me! Thanks Mike!
  • NOTES
  • This build is flagged as a development build. That means all licenses will expire 30 days from the day it was built. 8/16/2009 this build will expire. We plan to have final release before that time so it should not be an issue.
  • The Data Migration Wizard is a separate download from the Account Manager. We are planning to rework the way it grabs schema and data, and remove VistaDB 2 support at the same time. See the blog for more information. The download is already up on the site.
  • This build has not been tested on machines without .Net 3.5 SP1 - please make sure you have that SP1 installed first. The EF provider requires it and we are not testing to see if it is not present in this preview build.
  • ISSUES AND FIXES
  • The VistaDBCommand object Cancel function cannot throw an exception because it will cause the Visual Studio designers to not work correctly. The Cancel function has no meaning in VistaDB at the present time, but we have to leave it as a return only function. This was causing DataSets to not generate correctly in the last preview.
  • Removed the EXCEPT and INTERSECT commands. They were not implemented correctly and will not be supported right now.
  • Corrected a bug in the Membership provider where the use of the lockout window would cause all logins to be successful regardless of password.
  • OTHER NON TICKETED ITEMS
  • Lots of updates to the Help files. New HOWTO section on Foreign Keys with some examples and explanations of why you might use the various integrity actions.
  • The Data Builder now has a splash screen while it is validating the design time license of the machine. The Data Builder cannot be run on a machine without a design time license. The DBA Sample Tool is the only way to get a DBA Type tool you can redistribute.
  • Runtime vs. Design Time Licenses
  • The way runtimes licenses work in the engine has changed dramatically. All applications built that use VistaDB must include a licensex file now. That means if you have a DAL that is then included in an EXE the EXE must also have the licx file included.
  • This includes changes to the Data Builder to only run on a machine with a design time license (developer machine). This build actually enforces the concept that each developer must have a licensed machine through the licenses.licx file. The runtime can still be distributed royalty free, but every executable that uses VistaDB must have a valid licx file at compile time.
  • There are new topics in the help file specific to the license system. And a sample licenses.licx file is included in the setup as well.
  • Make sure you run the License Manager at the end of setup. It will install your current license for your machine in the proper location to act as a design time license. The same license files are used, we have just incorporated a wrapper around the Ezriz license tool to use the Microsoft License API for design time and runtime components. The location of the design license on your machine is the public shared data folder (C:ProgramDataVistaDB on Windows Vista by default).
  • The licenses.licx concept should be familiar to anyone who uses third party components in Visual Studio. It basically binds in a license at compile time to your application to ensure that end users cannot also use the same component at design time. We can't autogenerate the licx file yet (although we want to eventually) because we are not a component you drag to a design surface - that is the only way to get Visual Studio to generate it for you. We are researching this issue.
  • We also have some changes coming in the License Manager to automate the process of getting your initial LIC3 file from the servers. They just were not tested in time for this build, next one for sure!
  • NUnit / VSTest license?
  • I anticipate an early question about how do you license the EXE when you don’t build it. Applications like NUnit and VSTest run your assemblies and need to dynamically load the license, right? Well, not exactly.
  • We have added a great way to handle this situation (well, we think it’s great). All you have to do is add an attribute in your AssemblyInfo at compile time to tell the engine to use the Design Time license of the machine for testing with unit runners.
  • [assembly: VistaDB.UseVistaDBDesignTimeLicense]
  • That’s it. There is a topic for it in the Help file as well. Once you add that attribute to your assembly the design time license for the machine will be used when the assembly is loaded and the license queried. This allows for quick and easy application testing with a minimum of fuss.

New in VistaDB 3.5 Build 83 (Apr 28, 2009)

  • Visual Studio Designer - This designer has a new name (and path). It is actually most of the new designer from the 4.x line. We are making a lot of changes to the internal architecture to get ready for client / server and Entity Framework support from a single designer. The new install path is the InstallDirVisualStudio to reflect that a single dll is used for all versions of Visual Studio. The dll has also been renamed to VistaDB.vsdesigner.dll.
  • Visual Studio Server Explorer - Displays the name of the database rather than "VistaDB Database" in the explorer tree. Existing entries must be removed and re-added in order to gain new naming.
  • Visual Studio Database Template - Add new item templates for vdb3 database. We will add an asp.net version to include the role providers pre-populated in the database. There is no need to migrate from one format to another as the VistaDB.Web.Dll has been rewritten to only use the SQL Interfaces (but did not make it into this release). We now use the same schema as the SQL Server membership provider and it should make upsizing to SQL Server easier. Once you add the item template into your project a Server Explorer entry is made for you, and an app.config with the database factory entries just in case you need them. When adding a new template to a project it will also automatically make the correct app.config or web.config entries for the engines, and in the case of the web project it will also copy the dll from the GAC to your bin folder to make an easier deployment.
  • Data Builder UI Changes - New launch screen showing a cached list of recent stories from our Blog. We will continue to update this over time (maximum of once ever 4 hours). You may uncheck the update box to prevent it from checking for a new landing page.
  • Check for Updates - Transmits your current Build information only to the server and asks for the latest update. If an update is available you will be prompted and the Account Manager site will be launched for you to login and download. Trial users will not be able to download later builds unless they upgrade to a subscription.
  • Query Plans - have been removed. They were really nothing more than query guesses, and almost always inaccurate as to what was really happening in the engine. Once we get real plans working they will return.
  • Clear the Log on execute (option). This will prevent the log from growing long after multiple runs and make it very easy to see what was just executed only.
  • DBASampleTool - The old Data Builder source (renamed DBASampleTool) has source included for all full licenses so you may build a quick admin tool for your applications. We have cleaned this up to remove all branding references, and make it easier to ship it as your own. Open the DBA Sample Tool project and change the company information, disable any features you don't want to ship, etc. This sample makes it easier than ever to quickly build a DBA tool for your application.
  • Help files - have been updated, and a few new sample were promoted to the 3.x install as well. We will continue to evaluate these and add more as we can over time. A few samples were included from the forums as well.
  • Install Changes - You will also notice a slightly longer install period due to the inclusion of the Visual Studio templates. We have to call Visual Studio with the template entries for it to process and this takes a while to run (approx 30 seconds). If you have 2008 and 2005 installed you will have to wait for both of them to load the templates. We have made a change in Build 83 to not check your locale. We now tell Visual Studio to load the templates into whatever locale it thinks it is running.

New in VistaDB 3.4 Build 81 (Apr 4, 2009)

  • Released Build 81 with a few minor changes in Visual Studio templates, and a couple of minor fixes for customers. We are planning a new Trial and Express based off this build.
  • Also includes some new samples.
  • ISSUES AND FIXES
  • @@rowsaffected does not change in batch statements - Fixed. The @@rowsaffected variable was not being reevaluated within the context of a batch statement. If you operated on rowsaffected in a loop the behavior was incorrect.
  • OTHER NON TICKETED ITEMS
  • New online store going up, and changes to produce matrix. See the blog post for more information.
  • Lots of site changes and updates as well. New pages on product matrix, limits in VistaDB Express, connection string examples, much more.
  • NetPolls sample included - The recent post from the Blog about Net Polls sample for asp.net is now included within the setup.
  • LogAnalyzer - The log analyzer is a work in progress sample for parsing and reporting against an IIS weblog (think something like webalizer, but written with VistaDB).

New in VistaDB 3.4 Build 80 (Mar 20, 2009)

  • VistaDB 3.5 minor update with some customer corrections, and an update for a VS 2005 plugin load failure.
  • Also made some changes to handle more FTS Contains scenarios correctly, with improved error messages.
  • ISSUES AND FIXES
  • 2317: Create a new database does not automatically open the database with UAC enabled - Fixed
  • 2251: Error in Adapter Update using stored proc with if block - Fixed. This actually was a combination of the fact that generic table adapters expect the rowsaffected as text output (not using the command), and the fact that our IfStatement internally was not pulling up RowsAffected in all cases.
  • 2363: Install failure for VS plugins in VS 2005 - Fixed. Install worked only if 2008 was also installed on the same machine. VS 2008 could install alone, but 2005 only install was generating a load exception.
  • 2324: Fixed an error in the ASP Membership provider that prevented reset password working correctly.
  • OTHER NON TICKETED ITEMS
  • VB Template for Visual Studio add database had a typo in it that prevented it from working. - Fixed
  • SQL FTS CONTAINS - We have updated the docs, and support one other syntax now in the FTS CONTAINS function. You can now specify the start of a word to match using the CONTAINS( *, '"word*"') syntax. Note the single tick then quote. The word ends in an * to mark all words that start with that sequence of letters. This is direct syntax from SQL Server.
  • If you do not have an FTS index on a table you will now also get an exception telling you that must first create the FTS index. Several common error scenarios are now handled with more descriptive text to help diagnosing the error.

New in VistaDB 3.4 Build 79 (Mar 12, 2009)

  • VistaDB 3.5 Build 79 contains some changes to the Visual Studio plugins and tools we found after shipping, and a few minor updates to the engine.
  • The Visual Studio plugin templates now are working with local databases, and asp.net membership databases. We will include some demos and screencasts of how to use these soon.

New in VistaDB 3.4 Build 77 (Feb 4, 2009)

  • This is not a full release, and does not include a full setup. If you are busy, don't bother with this download at all. This is a ZIP file with a release and debug build of the engine for helping us track down an issue a customer is having. If you have some time, or are experiencing this issue then read on.

New in VistaDB 3.4 Build 76 (Feb 1, 2009)

  • ISSUES AND FIXES
  • #2079: Exception on application close: An error happened while data storage was being closed - It would appear this was being caused by the lack of a lock on a dictionary object in the lockManager (ironic). The dictionary keys collection was being enumerated without a lock so another thread could have released a lock and modified the collection. This would generate an exception.
  • OTHER NON TICKETED ITEMS
  • As a result of debugging #2079 above we also changed logic in a few other classes to ensure proper teardown of objects.
  • Data Migration Wizard Changes
  • SQL CE 3.5 (VS 2008 SP1) - If you need to migrate an older database you must first open it in VS 2008 and Update it. We do not distribute the SQL CE 3.5 runtimes (they are included in VS 2008 SP1). We didn't want to distribute them because installing them will auto-promote a 3.1 database to 3.5 and that could cause problems if the user didn't know it was happening.
  • Access 2007 - Access 2007 ACCDB files are now supported. You must have either the full Access 2007, or the runtime installed. We have provided the runtime download from our downloads site (50+MB) if you don't have it.

New in VistaDB 3.4 Build 73 (Dec 5, 2008)

  • This release updates both the stable and trial branches. We have not yet had the time to refresh the Express edition, but it is on the list for a refresh after the VistaDB Source Edition is updated for 3.4 (before the end of the year).
  • ISSUES AND FIXES
  • #1106: Fixed issue with while statement execution and select statement variable assignment in functions.
  • #1603: Fixed an issue with internal locking and inserts with sub-queries

New in VistaDB 3.4 Build 72 (Nov 27, 2008)

  • Build 70 has been pulled due to an issue that can cause corruption. Build 71 was an internal build for a partner while we were attempting to isolate down the specific error. So build 72 is the most current build.

New in VistaDB 3.4 Build 70 (Nov 14, 2008)

  • 1122: Temporary tables for CLR triggers were incorrectly named and not present as per SQL specs.
  • 1564: Insert Into Select * From Table caused inifinite loop.
  • 1591: Fixed issue with DDA filters and logic short circuit.
  • 1613: Fixed issue with sucessive attempts to open database after lock release not actually opening.

New in VistaDB 3.3.4.68 (Oct 24, 2008)

  • Now supports TSQL Procs, and Visual Studio 2008. A newly redesigned Server Explorer designer allows users to create databases and tables, alter tables and indexes all within Visual Studio 2005 or 2008. Over 40 changes for TSQL syntax parsing to be more compliant with SQL Server 2005.

New in VistaDB 3 3.0.32 (Jul 17, 2007)

  • VistaDB 3.x now supports Full Text Search (FTS) indexes, CLR Procs, and CLR Triggers. You can now build fully managed triggers and stored procedures in C# or VB.NET.

New in VistaDB 3 3.0.30 (Jun 27, 2007)

  • VistaDB 3.x now supports Full Text Search (FTS) indexes, CLR Procs, and CLR Triggers. You can now build fully managed triggers and stored procedures in C# or VB.NET.

New in VistaDB 3.0 (Jan 3, 2007)

  • New! Fully managed and typesafe architecture
  • New! Supports Microsoft .NET Framework 2.0 and 1.1, Compact Framework 2.0 and 1.0, 64-bit .NET Framework, and Mono
  • New! Small 650KB footprint. Single managed assembly includes database engine, SQL query processor, Direct Data Access� objects and .NET Data Provider!
  • New! Redesigned engine and data store to take full advantage of .NET's Common Language Runtime (CLR) and Garbage Collector (GC).
  • New! V-SQL query processor is compatible with Microsoft SQL Server T-SQL syntax
  • New! ZeroClick� deployment using Microsoft's ILMerge utility to fully embed the VistaDB assembly into your EXE or DLL. Using XCopy or FTP does not require access to the registry, Windows folder or GAC on client machines
  • New! Data Types are now 1:1 compatible with SQL Server 2005
  • New! Deep integration into the Visual Studio 2005 IDE with new integrated support for Server Explorer
  • New! Unicode support (NChar, NText and NVarchar support)
  • New! 100% variable length data store architecture for .VDB3 database files
  • New! CLR Procs� let you write managed C# and Visual Basic .NET procedures to provide powerful data management. CLR Procs� are more powerful than classical SQL-based Stored Procedures and Triggers.
  • New! Support for traditional Stored Procs based on T-SQL syntax
  • New! Support for Views
  • New! Fully managed Data Builder tool allows developers to visually create and manage databases (Visual C# source code is included). New support for reverse engineering databases to create SQL scripts and support for viewing Query Plans.
  • New! Fully managed Data Migration Wizard migrates existing databases to VistaDB database format (Visual C# source code is included)
  • New! XML support now compatible with Microsoft SQL Server 2005
  • Supports CLR compliant languages only (Visual C#, Visual Basic .NET, Delphi.NET, C .NET, etc.)
  • Supports .NET IDEs only (Visual Studio 2003, Visual Studio 2005, Borland Developer Studio 2005, Borland Developer Studio 2006, SharpDevelop etc.)
  • New! Supports Windows Mobile 5.0 for Pocket PC (via CF 2.0)
  • New! Supports Windows Mobile 5.0 for Smartphone (via CF 2.0)
  • New! DataTable enables the high-speed DDA objects to work with databound controls
  • New! Optimized low-level data encoding engine supports both ANSI and UTF8
  • Improved! Full support for ADO.NET 1.1, ADO.NET 2.0 and all databound controls
  • Improved! Managed Direct Data Access� objects provide high-speed scrollable and updateable cursors for managing data tables
  • Improved! Data storage architecture delivers a smaller database footprint
  • Improved! Secure Blowfish encryption
  • Data store supports 4TB of data, 64,000 tables, and 4GB of data per row
  • Royalty free distribution!