REALbasic, the iPhone and Valentina DB

There is an interesting conversation taking place over on Bob Keeney’s blog regarding REALbasic and the iPhone.

Paradigma Software has had a Valentina Client for the iPhone for almost a year, and while its seen some use, I often feel that just having it has helped bring new customers to use Valentina DB who have no intention of using Valentina for the iPhone.

A lot of folks commenting know REAL Software – the company – very well. Maybe too well. Supporting the iPhone sounds like a monumental task, and you’ve been waiting a long, long time for Cocoa support and that’s likely come at some cost. You don’t want to go through that with iPhone support.

Continue reading REALbasic, the iPhone and Valentina DB

Kem Tekinay: What I’ve learned about Valentina

In jumping back into Valentina, I’ve learned a number of things over the past few days that I thought I’d share. In no particular order…

– Valentina support (particularly Ruslan) has to be the most responsive support of any company in any country, ever.

– Valentina is fast. I mean, really fast. Using a flat-file database of 7 fields and 5 million+ records, and comparing it to other solutions like MySQL, PostgreSQL, SQLite and FileMaker Pro, Valentina beats them all in every test I can come up with. The only thing that is even close to the same range is MySQL, and only in some tests.

Continue reading Kem Tekinay: What I’ve learned about Valentina

[NEW] REGEX_REPLACE() function.

In 4.5.1 release we have add a new REGEX_REPLACE() function  to Valentina Expresions, which can be used in Table Methods, SQL and therefore, in Reports.

Up to now, we was able to do searches with the help of REGEX operator:

… WHERE fld REGEX ‘ab.[cdf]*’

New function brings the awesome power of REGEX to manipulate by strings stored in the database! Now we can not only search using REGEX, but modify strings! You can do that in the

  • SELECT EXPR, …
  • UPDATE TABLE T SET fld = EXPR

where EXPR is REGEX_REPLACE() function or contains it as a part.

Read details about this function here.

Working with big vDatabases

Valentina is a perfect choice to work with a big data. It employs vertical storage approach. It means – each column has own virtual file to be stored in. Most of db vendors use a horizontal storage – it stores a table data in record-by-record manner.

There are some vertical storage advantages:

Continue reading Working with big vDatabases

VCursor Now Can UpdateRecord() of JOINs !!!

It is well known that Valentina offers to developer a very reach ADK API (about 1000 methods) in contrast to poor API of most dbs (e.g. near to 25 in mySQL).

One of nice feature is the ability to use VCursor class methods to MODIFY records of ServerSide & ReadWrite cursor. But for years we did have limit here: cursor can be ReadWrite only for single table SELECT. In the release 4.5 we remove this limitation! Now you can do UpdateRecord() and DropRecord() for cursors built over INNER JOIN of N tables!

Continue reading VCursor Now Can UpdateRecord() of JOINs !!!

Deprecated Convert_1_2() feature.

Also we are dropping Convert_1_2() feature of Valentina engine from 2.0 version to allow developers convert existed v1 databases. If somebody yet need convert v1 database to 2.0 format, he should use at first v4.3 for this task.

This function is removed from all Valentina ADKs and VStudio, DLL of VDK V1 engine  is removed from the vcomponents folder.