Valentina 5.7.5 Released: Updates for Kernel, Server and Examples

Valentina 5.7.5
Paradigma Software announces Valentina 5.7.5 updates are released, with improvements for the Valentina Kernel, Valentina Server and improved examples for Valentina ADK for Xojo. Continue reading Valentina 5.7.5 Released: Updates for Kernel, Server and Examples

Valentina 5.7 Delivers Access Control for Valentina Server

Valentina 5.7 Released

Valentina Technology Release 5.7 products, including Valentina Server 5.7 and Valentina Studio Pro 5.7 are now available for download from the Paradigma Software website. Continue reading Valentina 5.7 Delivers Access Control for Valentina Server

v5.6 Builds Index of String/VarChar field in 10-15 times faster!

Bench Description

Prepare Steps

  • We have table T1 with field String[120] or VarChar.
  • We add 1 million records with unique values using METHOD( ‘concat( rand_string(80), RecID’ ) ) 

 So we get table with one only field, 1 millions records, values are about 80-90 chars length.

Benches

  • Build index for this field.

Continue reading v5.6 Builds Index of String/VarChar field in 10-15 times faster!

[NEW] Generating Test/Bench Data for Data Focused Apps (Part 2)

We have implement Stored Procedure ‘GenerateDataFor()’, which solves the task described in the part1 of this article.

We have added into Valentina Wiki new section, where we will keep this and future other Stored Procedures By Paradigma Software.

On this page you can find link to WIKI page, which describes GenerateDataFor() procedure and contains download link.

[NEW] SQL expression function RAND_REGEXP()

We added a new SQL function RAND_REGEXP  into v5.5.6 (available in the night_build or upcoming beta). This is very powerful function that can generate random strings of any kind, following some regular expression.

This function is useful for test and bench data generation features we will be talking more about.

Our wiki has coverage of this new function: RAND_REGEXP

 

[NEW] Generating Test/Bench Data for Data Focused Apps (Part 1)

There are several database tools available for generating records for table T with some random data. Usually these tools can…

  • generate the test data itself;
  • format the data for replication of some bug

Yes, both very useful.  But as speed junkies and test pilots, we also want to use this feature to

  • generate data for use in benchmarks

The difference between test and bench data, is that for benchmarking today, tomorrow and months or years later, we should generate the same records into a Table. Otherwise how we can compare results of a benchmarks as computer scientists? For tests it is okay to use random values in records, but benchmarks require exactness.

We were going to add such feature into Valentina Studio, but then we started thinking about benchmarking the Valentina engine (made in C++).  It is clear then that we need such a feature right in the engine.  So how to implement it?
Continue reading [NEW] Generating Test/Bench Data for Data Focused Apps (Part 1)

[NEW] Valentina DB engine – SELECT … FOR JSON

We made the first step in the direction to popular JSON format.

Valentina SQL already did have extentions

  • SELECT … FOR XML
  • SELECT … FOR REPORT

Now we adding one more:  SELECT … FOR JSON.

We have upload 5.5b21 build where this feature is introduced. It works in same way as FOR XML. In the result you get cursor with a single record and a single TEXT field.

Example:

SQL query ‘SELECT * FROM tblCustomer FOR JSON’ returns

{
      "name": "tblCustomer",
      "fields": ["fldFirstName","fldLastName","fldCountry","fldPhone"],
      "records": [
           ["Peter","Thomas","Germany","111111"],
           ["Brian","Hill","USA","222222"],
           ["Simon","Smith","Italy","333333"],
           ["Chris","Maxwell","France","444444"],
           ["Greg","Silver","France","555555"],
           ["Jerry","Lucas","USA","666666"],
           ["Mark","Lord","Canada","777777"]
      ]
}