Subject [ANN] IBExpert New Version 2007.02.22 ready for Download
Author HKlemt
IBExpert New Version 2007.02.22 ready for Download

Today we uploaded a new Version 2007.02.22
of IBExpert on www.ibexpert.com

What is new?


IBExpert 2007.02.22
------------------------------------------

1. Support of known Friebird 2.1 features implemented:
2. Create SUID procedures
3. Database Designer: drag-n-drop, autoincrement
4. Extract Metadata: support for secondary database
5. IBEBlock: ibec_Array, FOREACH
6. A lot of minor bugfixes and small improvements...



and much more ...

If you are registered customer and cannot access the
customer area, please check the update end date from
your registration form.

If you update right is already expired,you can extend
it for the next two years with buying the Extension
license(s) in our shop. See details on our Web Site
www.ibexpert.com or just ask register@...
for details.



IBExpert 2007.02.22
------------------------------------------

1. Support of known Friebird 2.1 features implemented:

* Global temporary tables

* Triggers on database events

* Common table expressions (WITH, FOR WITH)

* Domains in procedures (TYPE OF)

* MERGE

* UPDATE OR INSERT


2. Create SUID procedures. New mechanism of
composing texts of SUID procedures based on
IBEBlock implemented.

3. Database Designer:

* Added possibility to drag-n-drop objects from
the Project View tree.

* Added support for autoincrement fields based
on IBEBlock feature. To automaticaly create
generators and triggers for autoincrement
fields you have to mark necessary fields as
autoincrement and define "For each
autoincrement field" block
(Model Options | Blocks):

execute ibeblock (
HModel variant comment 'Current model handle',
HTable variant comment 'Current table handle',
HColumn variant comment 'Current column handle')
returns (
GenScript variant,
TrgScript variant,
ProcScript variant)
as
begin
LF = ibec_CRLF();

TblName = ibec_dbd_GetObjectProp(HTable, 'NAME');
FldName = ibec_dbd_GetObjectProp(HColumn, 'NAME');

GenName = 'GEN_' || TblName || '_' || FldName;
GenName = ibec_AnsiUpperCase(GenName);

TrgName = TblName || '_BI';
TrgName = ibec_AnsiUpperCase(TrgName);

GenScript = 'CREATE GENERATOR ' || GenName || ';' || LF ||
'SET GENERATOR ' || GenName || ' TO 0;' || LF;

TrgScript = 'CREATE TRIGGER ' || TrgName || ' FOR ' || TblName
|| LF ||
'ACTIVE BEFORE INSERT POSITION 0' || LF ||
'AS' || LF ||
'BEGIN' || LF ||
' IF (' || FldName || ' IS NULL) THEN' || LF ||
' NEW.' || FldName || ' = GEN_ID(' || GenName || ',
1);' || LF ||
'END^' || LF || LF;
end



4. Extract Metadata:

* Added support for secondary database files info, corresponding
ALTER DATABASE statements will be included into result script
as comments.


5. IBEBlock:

* ibec_Array function implemented. This function returns a
one-dimensional a 0-based array of values.

Syntax:

function ibec_Array(val1 [, val2, ..., valN) : variant;

Example:

MyVar = ibec_Array('Some text', 23, NULL, 56.32);

The code above is equal to following:

MyVar[0] = 'Some text';
MyVar[1] = 23;
MyVar[2] = NULL;
MyVar[4] = 56.32


* FOREACH statement implemented. This satement simply gives a way
to iterate over arrays.

Syntax:
FOREACH (var1 AS var2 [KEY | INDEX var3]) DO
<statements>
FOREACH loops over the array given by var1.
On each loop, the value of the current element
is assigned to var2.
If KEY (INDEX) var3 clause is specified, the current
element's key will be assigned to the variable var3 on
each loop.
Example:

MyVar = ibec_Array('Some text', 23, NULL, 56.32);
foreach (MyVar as val key id) do
if (val is not null) then
ibec_ShowMessage('MyVar[' || id || '] value is: ' || val);

The code above is equal to following:

MyVar = ibec_Array('Some text', 23, NULL, 56.32);
for id = 0 to ibec_High(MyVar) do
begin
val = MyVar[id];
if (val is not null) then
ibec_ShowMessage('MyVar[' || id || '] value is: ' || val);
end

6. A lot of minor bugfixes and small improvements...




The IBExpert Team


The most Expert for InterBase and Firebird --- www.ibexpert.com
HK Software - Oldenburger Str 233 - 26203 Wardenburg - Germany
Phone/Fax +49 700 IBEXPERT (42397378) www.h-k.de
Training and Support for Delphi, InterBase, Firebird, AS/400