Table of Contents
Valentina Release 3.0 Notes
Paradigma Software announces the availability of Valentina 3.0 . This release information covers only new features in the product.
New Products
Valentina 3.0 is a major release of the entire Valentina database product line - the most significant since the release of Valentina 2.0 in March, 2005.
Valentina Linux Products
Valentina 2.X provided the most comprehensive tool support for commercial cross-platform development on Windows and MacOS X, including Mac OS X Universal Binary.
Valentina 3.0 introduces ports of a broad range of Valentina products to the Linux platform for the following Paradigma Software products:
- Valentina Office Server
- Valentina for REAL Software REALbasic
- Valentina for Runtime Revolution
- Valentina for C++
- Valentina for PHP
- Valentina for Ruby
- Valentina Embedded Server for Developers
New Features
Valentina 3.0 introduces several new features to the product line.
New Engine Features
VIEWS
Valentina now supports Views. Views are a form of virtual table based on the results of a query.
You can now use CREATE/ALTER/DROP VIEW SQL commands to manage views in Valentina database schema. Implemented views are read-only.
Definition on Wikipedia: VIEWS
TRIGGERS
Valentina 3.0 now supports Triggers. Triggers are executed based on events that occur within a database table.
- Valentina 3.0 implements BEFORE|AFTER triggers for Table events as Insert/Update/DELETE.
- Triggers can be of FOR EACH ROW kind; in this case, both OLD and NEW aliases are supported.
- Triggers also can be of FOR EACH STATEMENT kind that execute a SQL command or procedure.
- INSTEAD OF Triggers on Views.
Definition on Wikipedia: Triggers
STORED PROCEDURES
Valentina 3.0 supports Stored Procedures. Stored Procedures are code that can be stored within the database itself. Stored Procedures can be executed both on local and remote databases. They are stored in the Database Schema (.vdb file). See details in the Valentina Server section below.
Definition on Wikipedia: Stored Procedure
BACKUP
The Valentina 3.0 database engine supports a new SQL command: BACKUP DATABASE.
You can use BACKUP even in local version to produce a backup copy of a database with a timestamp, that is in turn saved onto a drive.
DOUBLE/FLOAT Improvements
DOUBLE/FLOAT columns now have (precision, scale) parameters.
Only scale is taken into account by GetString().
Other SQL Functions
Valentina 3.0 adds new SQL functions, including:
PRINT EXPR
VERSION()
VCONNECTION CLASS Improvements
The VConnection Class can now be used locally. It works as singleton, and provides 3 methods to execute SQL commands: SqlQuery(), SqlExecute(), SqlSelect(). These methods are global and are executed for the ACTIVE database.
New Valentina Server Features
Valentina 3.0 introduces new features that are specific to Valentina Server implementations, including both Valentina Office Server and Valentina Embedded Server.
DATABASE COMMANDS
You can execute CREATE/DROP/USE DATABASE commands.
EVENT SCHEDULER
Any database managed by an installation of Valentina Server can have sets of events. An event is an SQL command which happens once or periodically. You can enable/disable existing events.
HOT BACKUP
Event scheduler in conjunction with the new SQL command BACKUP DATABASE provides an easy way to do periodical hot backups of a Valentina database being served. Together, this allows you to back up running databases without interrupting current operations.
STORED PROCEDURES
Valentina Server 3.0 includes support for Stored Procedures. Although Stored Procedures can also be executed locally, the feature has greater significance for served data.
- Loops: WHILE/LOOP/UNTIL
- Flow control: IF/CASE/LEAVE/ITERATE
- IN/OUT parameters
- Procedure CALL
- Exceptions: RAISE/EXCEPTION
- Cursors: DECLARE/OPEN/FETCH
USER VARIABLES
Valentina 3.0 SQL now supports User Variables that you can specify at any time using SET command.
API Changes
To Be Announced.
Database Format Changes
Although Valentina 3.0 introduces a significant number of new features, most features are stored into system tables: Valentina 3.0 does not introduce dramatic changes to the database format.
When a Valentina 3.0 engine opens a database saved in a 2.5.x+ format, it adds information into the system table.
While Paradigma Software does not guarantee backwards compatibility with Valentina 2.x, no customers have reported errors when reopening a database under 2.5.x.
Valentina Server Protocol Changes
Valentina 3.0 introduces several improvements in Valentina Server protocols.
A new packet schema was introduced to improve overall performance; this is especially true for small SELECTs that produce client-side cursors.
Other Changes
Unicode on Mac OS X
Valentina 2.0 incorporated the IBM ICU library for the purpose of providing enterprise strength UNICODE support. Under early versions of the Mac OS X operating system, the system level ICU library was not accessible by third party applications. As a result, third party applications on Mac OS X that utilized ICU were unnecessarily large.
Valentina 3.0 under Mac OS X now utilizes the ICU library from MacOS OS X itself.
As a result, the vcomponent folder under Mac OS X has an average reduction of 25 MB; Mac OS Universal Binary archives of Valentina 3.X based products now save up to 50% space.
Valentina 3.0 on MacOS X now requires a minimum Mac OS X operating system 10.4 or higher.
Performance Improvements
Valentina 3.0 also improves several performance criteria:
- Speed of small SELECTs that produce client-side cursors is increased about 15 times.