[ALL] List of new features in Valentina 2.0

Ruslan Zasukhin sunshine at public.kherson.ua
Thu Mar 11 00:35:36 CST 2004


Hi All,

I think we will start to grow list of new features that we have implement on
2.0 engine.

Igor, Alex, Sergey, Ivan, Yuri, please participate in this.
I will start below template of list, and let's grow it.
Everybody know his tasks so mention them.

So, this is FIRST DRAFT made in 10 minutes by me.


-----------------------------------------------------
KERNEL
-----------------------------------------------------

* UNICODE support, based on IBM ICU library.

* REGEX now unicode-savy. Based on IMB ICU library.

* new cache which is 100-500 times faster of Valentina 1.x cache,
Especially for a big size 50-500 MB.

* new internal file system, which is in 100-500 times faster of Valentina
1.x version. Difference is notable on big db files > 200MB.

* RAM-based database

* RAM-based table inside of disk based database.
Excellent for small tmp tables.

* Each Table now have virtual fields "RecID" and "OID"

* Database always now have ".tmp" volume.
This volume contains all temporary files (such as joins) and in case of
system failure, we can start much faster, because to remove tmp files we
need just delete one disk file.

* DIAGNOSE of indexes.

* Numeric Indexes should be faster.

* non-indexed search now possible.
 
* BINARY LINK -- new Valentina specific kind of link between 2 tables, which
all link records of 2 tables as M : M without creation of third table, as
require Relational model. Besides such link eat less disk space and works
few times faster on JOIN.

* XML dump now produce line end correct for each platform.
* XML dump now can be in UTF16 format, and can be parsed.
* XML dump of database now can export only Structure, Data or both.
* XML dump of table.
* XML import of data into a Table even if have records.

* own plugin system

* Error codes of Valentina now follow to SQL92 standard.
* Error codes and descriptions of codes present in the public XML file.
* Valentina on start parse XML file and build map of errors.
* Therefore it is possible to localize XML file for different languages.

* DateTime functions are extended.

* Functions to get from a related table using links.
    For example, get_linked_count()
Such functions allow avoid using of JOIN and even GROUP BY to get such kind
of information. Therefore we can do such kind of queries faster and use less
space on disk and RAM.


-----------------------------------------------------
KERNEL (SQL)
-----------------------------------------------------

* strict SQL 92 compatibility (excluding procedure part of SQL92).

* SQL parser implemented with the help of industry strength parser generator
ANTLR.

* CREATE TABLE, now allow define:
    PRIMARY KEY, FOREIGN KEY,
    CHECK, DEFAULT VALUE

* ALTER TABLE now have very reach syntax, even more reach than SQL92 offer.

* in SELECT works field aliases.

* you can use complex expressions directly in SELECT and WHERE statements.

* SQL92 Standard way to define JOINS in the FROM statement.

* sub-queries works

* UNION [ALL], INTERSECT [ALL], EXCEPT [ALL] implemented.

* ANY / EACH works.

* EXISTS predicate.

* Valentina Extensions:

    * CREATE LINK
    * DROP LINK
    * INSERT INTO LINK



-----------------------------------------------------
C++ SDK
-----------------------------------------------------

* Totally new design of classes, based on Interfaces, smart pointers.

* the folder "FBL/publ" -- simple set of high level API, similar to such
Valentina products as V4RB, V4MD.
 
* The folder "FBL/prot" headers only.
This level open to C++ developers access to practically the whole engine.
You are be able on this level access advanced features directly,
improve/tune/customize them via own implementation of interfaces.

* The folder "FBL/prot" including .cpp files.
In total publ + prot folders this is about 800 files.
You can get access to all this for special price.


-----------------------------------------------------
V4RB
-----------------------------------------------------

* ability create RAM based database and tables.

* V4RB plugin automatically do conversion of REALbasic strings into internal
format.


-----------------------------------------------------
V4MD
-----------------------------------------------------

* ability create RAM based database and tables.


-- 
Best regards,
Ruslan Zasukhin      [ I feel the need...the need for speed ]
-------------------------------------------------------------
e-mail: ruslan at paradigmasoft.com
web: http://www.paradigmasoft.com

To subscribe to the Valentina mail list go to:
http://lists.macserve.net/mailman/listinfo/valentina
-------------------------------------------------------------



More information about the Valentina-beta mailing list