UltraLite 9.0.1 introduces several new features:
UltraLite.NET controls A set of controls are added to your Visual Studio.NET 2003 toolbox to make it easier to specify connection parameters and to monitor synchronization from UltraLite.NET applications.See Tutorial: Build an UltraLite.NET Application.
UltraLite for M-Business Anywhere. A new component is available for iAnywhere M-Business Anywhere, previously known as AvantGo M-Business Server.See UltraLite® - M-Business Anywhere Programming.
CREATE and DROP statements in dynamic SQL CREATE/DROP TABLE and CREATE/DROP INDEX statements are now available in dynamic SQL. For users of UltraLite components, these statements provide a way of changing the schema of an UltraLite database.See UltraLite CREATE INDEX statement, and UltraLite CREATE TABLE statement.
Transaction control from dynamic SQL COMMIT and ROLLBACK statements are now available in dynamic SQL. For users of UltraLite components, these statements provide a way of using SQL statements to control transactions. They provide an alternative to the commit and rollback methods on the connection object.See UltraLite COMMIT statement, and UltraLite ROLLBACK statement.
Dynamic SQL SELECT enhancements Subqueries can be used in search conditions in the WHERE clause or the HAVING clause. They can also be used as derived tables in the FROM clause.See UltraLite SELECT statement and Search conditions in UltraLite. The HAVING clause is now supported. See UltraLite SELECT statement.
ODBC interface to UltraLite UltraLite now supports a subset of the ODBC programming interface.
Mixing C++ interfaces The UltraLite C/C++ based interfaces (embedded SQL, the static C++ API, and the C++ Component) may be used in the same application.Of particular interest is adding C++ Component dynamic SQL to an existing embedded SQL or static C++ API application, or using embedded SQL to execute general SQL in a primarily C++ Component-based application. The new functions include db_start_database function (embedded SQL) and StartDatabase method.
CodeWarrior stationery for UltraLite C++ component The stationery Palm OS UltraLite C++ Component App is provided as part of the UltraLite plug-in for CodeWarrior. It assists in building C++ Component applications using CodeWarrior for Palm OS.The files for the UltraLite plug-in for CodeWarrior are placed on your disk during UltraLite installation, but the plug-in is not available for use without an additional installation step. See Developing UltraLite applications with Metrowerks CodeWarrior.
Improved UltraLite C/C++ error handling An error callback is now supported for all UltraLite C/C++ interfaces. The callback allows the application to be notified of all errors, and so provides developers with invaluable information during development.See ULRegisterErrorCallback function and Callback function for ULRegisterErrorCallback.
UltraLite components can use the engine The UltraLite database engine, which can accept connections from more than one application, is now available to UltraLite components as an alternative deployment option.This option is not available to UltraLite for MobileVB or UltraLite ActiveX.
Database conversion tool The ulconv utility is a command line tool for carrying out numerous operations on UltraLite databases, including unloading databases to XML files, loading new databases from XML files, and converting database formats.
Additional synchronization progress event An additional event is available to the synchronization observer, when an error has occurred and the downloaded changes are being rolled back.See the ULSyncState structure or object for the API you are using.
Schema upgrade monitoring Schema upgrades can be a long operation. New schema upgrade events provides a mechanism for applications to monitor the progress of a schema upgrade.
Restartable downloads UltraLite can now restart downloads that fail due to communications errors or user cancellation through the synchronization observer.See Resuming failed downloads.
New Windows CE platform support UltraLite now supports the Smartphone 2002 platform. ActiveSync synchronization is not supported on this platform.UltraLite also supports Windows CE 4.1 on ARM chips in V4T ("thumb") mode.
Multi-database support UltraLite components can address multiple databases from a single application by issuing multiple connection requests specifying different database filenames or creator IDs.There are some extensions to the connection parameters as a result of this feature. See UltraLite DBN connection parameter.
ULPalmLaunch and ULPalmExit no longer required UltraLite now supports additional connection-related primitives that provide easier support for maintaining state when an application is closed. As a result of these new features, Palm OS applications no longer require special Palm-specific primitives, including ULPalmLaunch and ULPalmExit.See Maintaining state in UltraLite Palm applications, Maintaining state in UltraLite Palm applications and Connecting to a database.
UltraLite database properties Properties of the UltraLite database are now available to UltraLite component applications. The case sensitivity, collation, and database ID used for global autoincrement values are all available as properties or methods of the Connection object, depending on the API.