VistaDB 6
VistaDB.Provider Namespace / VistaDBConnection.CompatibilityMode Enumeration


In This Topic
    VistaDBConnection.CompatibilityMode Enumeration
    In This Topic
    Enum for the CompatibilityMode setting which applies for the life of a specific connection and may affect the handling of SQL code including sprocs and UDFs already previously stored in the database.
    Syntax
    'Declaration
     
    
    Public Enum VistaDBConnection.CompatibilityMode 
       Inherits System.Enum
    'Usage
     
    
    Dim instance As VistaDBConnection.CompatibilityMode
    public enum VistaDBConnection.CompatibilityMode : System.Enum 
    Members
    MemberDescription
    LegacyClient relies on deprecated syntax features of VistaDB. Deprecated quirks may eventually be removed in a new major version.
    Normal(The default setting) Non-breaking corrections and enhancements are incorporated in minor versions, but breaking changes wait for new major versions.
    StrictClient prefers strict SQL Server syntax. BREAKING CHANGES to correct syntax incompatibilities may be added IN ANY NEW RELEASE.
    Remarks

    An application will generally want to pick a particular CompatibilityMode and stay with it since changing to a different mode could break sprocs, UDFs, and other SQL code used by the application.

    Most applications using VistaDB can simply use the default (Normal) mode which will expose fixes for faulty behavior and expose new syntax features provided usage which works correctly will not be broken by the changes. Usage with behavior or results which are clearly faulty may be corrected to match the standard (SQL Server) in any new release--with mention in the Release Notes.

    Applications which target cross-compatibility with SQL Server may wish to use Strict mode which will make corrections for incompatible syntax or behavior available in interim-version releases rather than waiting for the next major version. Usage which is incompatible with SQL Server or which has behavior or results which are inconsistent with SQL Server can be corrected to match SQL Server in any new release--with mention in the Release Notes. Some compatibility corrections may still have to wait for a new major version.

    Applications which rely on past VistaDB syntax features that have been deprecated as incompatible with standard T-SQL (as provided in SQL Server) may be able to preserve access to those features a bit longer with Legacy mode. Usage with behavior or results which are clearly faulty may still be corrected to better match the standard (SQL Server) in any new release, but syntax and behavior which are arguably useful and correct (by legacy design) should not be broken at least until a new major version--with mention in the Release Notes. However, such legacy syntax features might not be preserved past major version boundaries when standard-syntax alternatives are available or if maintenance becomes onerous.

    Applications which want to preserve cross-compatibility options but which do not currently rely on cross-compatibility may wish to use Normal mode (the default) for releases and normal operation but then also test and develop in Strict mode to help identify areas of incompatibility in their usage which would fail to work as-is against SQL Server. This approach could allow a gradual migration towards cross-compatible usage as new features and missing cross-compatible syntax are added to VistaDB without requiring sudden reengineering just to incorporate an updated version of VistaDB.

    Periodically checking the progress of changes in Strict mode is also advisable for most other Applications since changes made available in Strict mode may tend to be incorporated into Normal mode in the next major version.

    Inheritance Hierarchy

    System.Object
       System.ValueType
          System.Enum
             VistaDB.Provider.VistaDBConnection.CompatibilityMode

    Requirements

    Target Platforms: Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

    See Also