Switch to: V12V11V10V9V8V7V6V5

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.