UltraLite new features

Following is a list of changes and additions to the software introduced in version 9.0.2.

Component new features
  • ADO.NET interface in UltraLite.NET   UltraLite.NET now supports the ADO.NET programming interface in the new namespace iAnywhere.Data.UltraLite. ADO.NET provides an industry-standard interface to UltraLite, and also provides an easy migration path to Adaptive Server Anywhere for large applications.

    The ADO.NET interface is recommended over the previous UltraLite.NET interface (iAnywhere.UltraLite namespace), which is now deprecated.

    See Tutorial: Build an UltraLite.NET application.

  • UltraLite for MobileVB enhancements   UltraLite for MobileVB now supports Visual Basic .NET programming using AppForge Crossfire.

  • UltraLite for M-Business Anywhere enhancements   The following enhancements have been made to UltraLite for M-Business Anywhere:

    • UltraLite for M-Business Anywhere now supports the client/server UltraLite engine. Your application can use the DatabaseManager.runtimeType property to inspect whether the engine or the runtime library is being used.
    • UltraLite for M-Business Anywhere applications can now synchronize both data and web content with a single operation.

      See One-button synchronization.

    • You can use a MobiLink Redirector to synchronize both data and web content through a single M-Business Anywhere server. For synchronization from outside firewalls, this reduces the number of ports that need to be accessible.

      See Synchronizing data via M-Business Anywhere and M-Business Anywhere Redirector (deprecated).

    • M-Business Anywhere 5.5 on Windows XP is now a supported platform. The connection parameters databaseOnDesktop and schemaOnDesktop support this environment.
    • Additional methods have been added to the API that enable you to gather information about data using the column ID rather than the column name.

      See ResultSetSchema class and TableSchema class.

    See UltraLite - M-Business Anywhere Programming.

  • Native UltraLite for Java enhancements   The following enhancements have been made to Native UltraLite for Java:

    • Column schema info accessible by columnID instead of just name.
    • New SyncProgressData ErrorMessage property and improved sync error reporting.
    • PreparedStatement.[get]Plan added.
    • ResultSet, ResultSetSchema keep PreparedStatement alive while in use.

  • UltraLite.NET component enhancements   The following functions are supported by UltraLite.NET. It is recommended that these functions be used as part of the ADO.NET interface (iAnywhere.Data.UltraLite namespace).

    • New ULCursorSchema.Name, ULResultSetSchema.Name read-only properties.
    • New ULSyncProgressData ErrorMessage property and improved sync error reporting.
    • ULCommand.Plan read-only property.

    See UltraLite .NET 2.0 API Reference.

  • Palm developers can now use a version-independent prefix file   In previous releases, the UltraLite prefix file depended on the version of Palm OS for which you were developing. You can now use ulpalmos.h for any version of Palm OS.

    See Using the UltraLite plug-in for CodeWarrior.

  • Palm developers can now use expanded mode   CodeWarrior supports a code generation mode called expanded mode, which improves memory use for global data. You can now use an expanded mode version of the UltraLite runtime library.

    See Building Expanded Mode applications.

  • Trusted certificates can be retrieved from permanent storage   In previous releases of the software, the trusted certificate for secure synchronization was embedded in the database schema. On Windows and Windows CE platforms, it can now be stored externally and accessed via the trusted_certificates option.

    See trusted_certificates.

SQL and runtime enhancements
  • Dynamic SQL enhancements   The following enhancements have been made to the UltraLite dynamic SQL support:

    • Query optimization improvement   In previous versions of the software, the order in which tables were accessed was the order in which they appeared in the query. In this version, UltraLite optimizes the query to find an efficient order in which to access tables. As long as you have defined appropriate indexes in the database, the optimizer helps to improve query execution performance.

    • Execution plan viewing   Execution plans now include the index name instead of an index number, for clarity. Access plans can be seen, for example, from the new UltraLite Interactive SQL utility.

    • IF and CASE expressions   The range of expressions supported by UltraLite has been extended by adding the IF and CASE conditional expressions.

      See IF expressions and CASE expressions.

    • Table names can have owner names   UltraLite tables do not have owners. Support has been added for owner.table-name as a convenience for existing SQL and for programmatically-generated SQL. UltraLite accepts but ignores owner.

  • UNIQUEIDENTIFIER data type introduced   The UNIQUEIDENTIFIER data type is now a native data type rather than a domain defined on BINARY(16). As a result, UltraLite automatically carries out type conversions as needed, so that the String to UUID and UUID to String conversion functions are not needed to handle UNIQUEIDENTIFIER values.

    See UNIQUEIDENTIFIER data type.

  • UltraLite execution plan descriptions enhanced   UltraLite execution plan descriptions, which can be viewed in UltraLite Interactive SQL, have been enhanced to be easier to read for better diagnosis of performance issues.

Administration enhancements
  • UltraLite Interactive SQL utility   An UltraLite Interactive SQL utility is now provided for testing SQL statements against UltraLite databases and for modifying UltraLite data. It also displays execution plans so that you can diagnose performance problems.

  • Command line utilities for database management   A set of command line utilities makes database management tasks easier for UltraLite files on Windows computers. These utilities are particularly useful during application development.

    Each of the new utilities carries out a subset of the tasks that the ulconv utility provides. In future versions of the software, the ulconv utility will be replaced by these newer single-task utilities.

    See:

Synchronization enhancements
  • Improved integration of MobiLink clients into HTTP infrastructure   Two new client connection parameters allow you to specify custom headers and custom cookies.

    See custom_header and set_cookie.

  • Synchronization script generation from the Schema Painter   The UltraLite Schema Painter now provides the ability to generate synchronization scripts for Adaptive Server Anywhere consolidated databases. This capability makes it easier to extend UltraLite applications to a synchronized architecture.

  • Synchronization notifications on referential integrity violations   Support synchronization callback functions to report referential integrity violations - currently, rows that fail RI are silently deleted.