Latest Publications

SPEED of DB Open for Database with 1000+ Tables: -10 sec

One developer have produce Valentina database with 1023 tables. And note us that it takes long time to open it. On my macbook it have take 54 sec.

After some profiling and optimization, time is now 44 sec.

Nice thing here is that optimization was made on INDEX-level for functions that return ArraySets. This means that all other index-based operations may benefit from this.

Flash-to-iPhone 4 SDK Ban May Have Limited Effect

Starting with a post by John Gruber on Daring Fireball, a building tide of developer anxiety is rippling through the iPhone developer market. This could easily be a sign of greater control by Apple instead of an outright ban against non-Apple compilation. (more…)

NEW Function Browser in the SQL Editor of VStudio!

Thanks to new SHOW PROCEDURES ALL, we was able implement Function Browser in the SQL Editor of Valentina Studio.

This Function Browser contains a list of system function and used defined stored procedures and functions listed by categories such as:

(more…)

NEW Left Side Bar in Schema Editor of Valentina Studio

We have added the left side bar into Schema Editor.

It looks similar to what have OS X Finder and Windows 7. This sidebar allows you easy jump to the most common and/or recent places of your job. For example, you can by single click open recent database or connection or your bookmark to a Valentina Server. Your login and password can be stored, so no need to retype them each time.

(more…)

NEW Tab-Panels in SQL Editor to Display Logs/Output/Warnings/Tune

We have added to SQL Editor of Valentina Studio great new feature: now you can get much more rich output from an SQL command. And this output is separated into 4 tab panels at bottom of Editor.

(more…)

SHOW PROCEDURES Extended.

We have extend syntax of SHOW PROCEDURES to SHOW PROCEDURES [ALL].

(more…)

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.

(more…)

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.

(more…)

[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.

FindContains() speed improved x10 times

Kem Tekinay have found that FindContains is not fast enough. We was able speed up this place x10 times. Indexed search on table with 7 million rows have go down from 46 sec to 4.6 sec.

You can get this using

  • API – VField.FindContains()
  • SQL –  WHERE LOCATE( “what”, fld ) <> 0