Latest Articles

InterBase 2017 Update 1 Is Now Available

Written by Marco Cantu, RAD PM on Posted in Articles

We are pleased to announce general availability of InterBase 2017 Update 1.

This update expands on the InterBase 2017 version we release earlier this year and introduced many new features as discussed at https://delphiaball.co.uk/2017/03/09/interbase-2017-now-available/

InterBase 2017 Update 1 New Features

A highlighted summary of InterBase 2017 Update 1 new features includes:

  • Developer and Server Editions are now available for MacOS Universal build, in both 32-bit and 64-bit platforms
  • Server Edition includes bug fixes for Windows and Linux as well as performance enhancements
  • Support for Windows 10 Creator’s Update
  • SQL features support for Expression Indices, ORDER BY and GROUP BY Expression, as described below

Expression Indices

Expression indices optimize queries based on expressions. By defining the index below, based on an expression referring to multiple fields:

CREATE INDEX idx_expr_t1_udf ON t1
COMPUTED BY (UPPER(first_name) || UPPER(last_name));

a query based on that same expression is going to be much faster:

 

SELECT * FROM t1 
WHERE (UPPER(first_name) || UPPER(last_name)) = 'THREE MUSKETEERS';

SQL GROUP BY Expression and ORDER BY Expression

The GROUP BY statement can be used with expressions COUNT, MAX, MIN, SUM, and AVG to group the result-set by one or more columns. Similarly the ORDER BY statement can be used with these expressions to sort a resulting dataset. 

/* Following sample queries are optimized to use the expression index, if available; SET PLAN ON to see the plan. Otherwise, the ORDER BY and GROUP BY <expr> will execute by sorting the result set as needed. */

CREATE INDEX idx_expr_t1_mul ON t1 COMPUTED BY (f1 * f2); 

/* ORDER BY */

-- by expression
SELECT f1, f2, f1 * f2 FROM t1 ORDER BY (f1 * f2);

-- by ordinal position
SELECT (f1 * f2), (f1 + f2) FROM t1 WHERE f1 * f2 = 100 ORDER BY 1, 2;
SELECT f1 * f2 FROM t1 PLAN (T1 ORDER IDX_EXPR_T1_MUL) ORDER BY 1;

 /* GROUP BY */

-- by ordinal position
SELECT f1 * f2, COUNT(*) FROM t1 GROUP BY 1;

-- by expression
SELECT (f1 * f2), COUNT(*) FROM t1 GROUP BY (f1 * f2);

More Information on Update 1

For a complete list of updates in InterBase 2017 Update 1, please visit our docwiki at http://docwiki.embarcadero.com/InterBase/2017/en/What%27s_New_in_InterBase_2017_Update_1

InterBase is the Future for Your Data Layer Needs

Consider these new features along with the current, easily configurable InterBase features like column-level data encryption, field-level change tracking (Change Views), user-specific data visibility, journaling, and point-in-time recovery. InterBase 2017 is a lightweight embeddable database solution that is ideal for distributed systems.

Tips for choosing the best ISV database for you?

If you are looking to choose an ISV database, visit the ISV database comparison on the InterBase pages. Here you will discover a number of questions to help you choose the right database for you.

Download InterBase 2017 Update 1 today!

The Windows and Linux Server Edition updates are provided as a patch install kit for InterBase 2017 customers, while InterBase ToGo and MacOS versions are provided as full install kits. 

Existing Users download the update here: https://cc.embarcadero.com/reg/interbase

New to InterBase? 

Learn more at https://www.embarcadero.com/products/interbase

Buy a license on https://www.embarcadero.com/app-development-tools-store/interbase or from your local Embarcadero reseller parnter

Notice that the trial and developer edition updates will be made available in the coming weeks following final certification, and at the same time we'll refresh the IB 2017 versions distributed via GetIt to the RAD Studio Tokyo customers.

 

Focus on your product, and stop worrying about your data layer.

 

InterBase 2017: Embed, Deploy, Relax!

 

 



About
Gold User, Rank: 7, Points: 457
Delphi and RAD Studio Product Manager at Embarcadero.

Check out more tips and tricks in this development video: