Groups > Interbase > InterBase third party tools > ANN: IBExpert New Version 2007.02.22 ready for Download




ANN: IBExpert New Version 2007.02.22 ready for Download

ANN: IBExpert New Version 2007.02.22 ready for Download
Tue, 27 Feb 2007 16:55:17 +010
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@ibexpert.com
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
Post Reply
about | contact