VistaDB 5
Gibraltar VistaDB > Getting Started - What's New - Version 5.5
Getting Started - What's New - Version 5.5

New Features in This Release

Xamarin Support (iOS and Android)

The VistaDB provider is now available precompiled for use with the Xamarin toolset (either Visual Studio with Xamarin or Xamarin Studio).  These binaries have been tested for use with iOS and Android.  It is essential for correct behavior to target the correct version of the redistributable for mobile applications:

  • VistaDB.5.iOS.dll: For use with iOS 6 and later.
  • VistaDB.5.Android.dll:  For use with Android 4.4 and later.

Performance on mobile phones is broadly similar to average PC's; mobile phones tend to have fast storage but weaker processors and memory compared to PC's.  Any specific performance issues should be reported to support so they can be optimized in future updates.

The VistaDB provider is identical in capability to the PC version with the same API to support developing common cross-platform codebases.  Entity Framework and ASP.NET libraries are not available with VistaDB with Xamarin as they are not supported by Xamarin itself.

SQL Server Compatibility

Partial support for NewSequentialId() Function

When defining a column default NewSequentialId() will now be parsed by the engine and treated identically to NewId().  This means it doesn't generate a sequential identifier but will parse and execute.  Applications relying on sorting of UniqueIdentifier values will get unexpected results (as the ids are not sequential).

Partial support for Scope_Identity() Function

When used in a SQL Statement, function, or stored procedure Scope_Identity() will now be parsed and act identically to @@IDENTITY.  In most cases this will function identically to SQL Server except is isn't constrained to the current scope.  This means scenarios where a stored procedure relies on the value not being returned due to a change outside of an IF.. END IF block will not work correctly.  These can be worked around by revising application logic.

New Deadlock-avoidance Locking Features

As part of addressing the defect where updates can fail atomic update expectations in certain race conditions the order, scope, and timeouts of locks were adjusted to both eliminate this defect and improve contention behavior by adding a backup and retry mechanism to locking within the engine and a deference for operations that had not modified data to yield locks to operations that had modified data.

Experimental Large Table Support

By setting a 16kb page size it's possible to create a table with up to 2,048 columns.  Tables created with more than 1024 columns may not be compatible with older verisons of SQL Server.

Defects Fixed in This Release

Engine

  • Fixed: Empty string literals may unnecessarily escalate a CASE function's result as NVarChar(MAX).
  • Fixed: GROUP BY of a DISTINCT aggregate function can return incorrectly filtered (or empty) results.
  • Fixed: Queries with DISTINCT aggregate functions can incorrectly return a row with NULL values for GROUP BY columns.
  • Fixed: UPDATE can fail atomic-update expectation in a multi-connection race-condition.
See Also