Whats New

IBExpert 2024.12.01
(and bugfixes 2024.12.04/2025.02.05/2025.02.27/2025.03.07)

1. Event blocks

  • "Before start trace session" event block implemented.
    See \Blocks\Templates\EventBlocks\TAS.BeforeStartTraceSession.ibeblock for an example.
    Also see description of new "Quick start trace session" feature below.

2. Code editors

  • Support for multilevels in User actions submenu.
    See \Blocks\Templates\EventBlocks\CodeEditorUserActions.ibeblock for a working example.

3. Database Comparer

  • Fixed the problem with missing stored functions and packages while comparing Firebird 5 databases.

4. Quick start trace session feature implemented

  • This feature is intended to start a trace session for an active connection with a single click.
  • Default trace config is provided by IBExpert and can be modified in the "Before start trace session" event block which is fired when quick start or regular start (Services | Trace and Audit | Start new trace session) is performed.

    There are several other properties of trace session and trace form which can be customized in the "Before start trace session" event block.

    See \Blocks\Templates\EventBlocks\TAS.BeforeStartTraceSession.ibeblock for complete example.
  • To quick start a trace session, use the corresponding button on the main form tool button. Alternatively it can be done using the [Ctrl] + [Shift] + [T] shortcut.

5. IBEBlock

  • ibec_psql_PreprocessPSQL function implemented.

    It inserts some placeholders in the form of single line comments into a provided PSQL source (procedures, functions, triggers and package routines) which can be later replaced with additional debug statements (INSERT into a log table etc.). For a complete example see \Blocks\DefaultBlocks\PSQL.PrepareForDebug.ibeblock.

    There is also a working implementation of calling this block from \Blocks\Templates\EventBlocks\ CodeEditorUserActions.ibeblock which performs the preparation of the PSQL source for debugging and removes debug statements and comments from the PSQL source when they are no longer needed.
  • @SysUtils.GetFilePath function implemented.

    The function sequentially checks the specified folders for the presence of the file. If the folder contains the specified file, the function returns the full path to it and exits. Otherwise, it returns NULL.

Example:

    ...
    sBlockFileName = 'PSQL.PrepareForDebug.ibeblock';
    sBlockFilePath = @SysUtils.GetFilePath(sBlockFileName,
       ibec_GetEnvironmentVariable('IBE_USERBLOCKSDIR'),
     ibec_Coalesce(ibec_GetEnvironmentVariable('IBE_APPDIR'), '') + '\Blocks\DefaultBlocks');

  if (sBlockFilePath is null) then
  begin
    ibec_ShowMessage('Looks like ''' + sBlockFileName + '''is missing...');
    Exit;
    end; 

6. Minor bugfixes and small improvements


IBExpert 2024.04.07

1. Database Registration

"Show server version mismatch warning" option added (Additional tab). 

If this option is ON (default) IBExpert will compare the specified and the actual version of the database and warn in case of a mismatch with a choice of possible actions.

2. PSQL Debugger

Support for time zones implemented (Firebird 4, 5). 

3. Data Grids

The possibility to dump blobs to file without preloading them into the IBExpert GUI has been implemented; it is available from the grid context menu.

Fixed the issue with incorrect representation of RDB$DB_KEY for tables with >2G records. 

4. Code Completion

Fixed the incorrect behaviour when selecting/unselecting items in the list using the mouse. 

5. Database Inside

Support for Firebird 5 databases. 

6. SQL Editor, Statements History List

Added counters for page operations. 

7. Database Comparer

Support for parenthesized SELECTs (Firebird 5) implemented. 

8. Other minor bugfixes and small improvements


IBExpert 2024.01.22

Mainly bug fixes.


IBExpert 2023.11.22

Mainly bug fixes.


IBExpert 2023.10.27

1. Code Editor, Code Completion

  • Improved performance especially on databases with lot of objects.
  • Suggesting possible joins based on existing relationships by foreign keys - call the Code Completion after JOIN keyword.
  • There was a bug on some configurations in the previous version which caused IBExpert to freeze when the Code Completion is fires. Fixed in this version.

2. Database Inside

  • Support for Firebird 4 databases.

3. Partial support for Firebird 5 implemented

  • Support for all known syntax changes/additions in the PSQL parser:
     SKIP LOCKED, WHEN NOT MATCHED BY SOURCE, parenthesized SELECTs etc.

     However, there is NO support yet for parenthesized SELECTs in the Database Comparer.
     Also the PSQL debugger doesn't allow to debug roitines with subroutines which reference variables in a main routine.

  • Support for new built-in functions in the Code Parameters hint.
  • Support for partial indices in the index editors and metadata extract.
  • Support for parallel workers in following IBEBlock functions:
    ibec_BackupDatabase, ibec_RestoreDatabase, @Services.RepairDatabase.

      There is a new option available - ParallelWorkers (or just Parallel) - which allows to specify number of parallel workers (e.g. ParallelWorkers=4)

4. Other minor bugfixes and small improvements


IBExpert 2023.09.13

Mainly bug fixes.


IBExpert 2023.07.09

1. DB Explorer

  •   Activating/deactivating database objects from the Project View tree.

2. Search in Metadata

  •   Possibility to search in scripts/blocks (IBE$SCRIPTS table) has been implemented.

3. Code Editors

  •  Hyperlinks behaviour for package routines implemented.
  • "Before load from file" event block implemented. This block allows you to perform some actions before the appearance of the "Open file" dialog; for example, change a source directory. See block template for more details.
  • "Init/perform user actions" event block implemented. This block allows you to define user actions with code editor content which will be executed via a shortcut and/or from the code editor context menu (the very first item in the menu, if the block exists and is active). See block template for more details.

4. Dependencies trees

  •   Solved some issues with the incorrect display of package dependencies.

5. Copy Database Object

  • Support of SQL role in copy blocks added.

6. IBEBlock

  • @Services.RepairDatabase and @Services.SetDBProperties functions implemented. 

    Example:

    execute ibeblock
    as
   begin
     -- Both functions return nothing (NULL) if there were no errors,
     -- otherwise they will return an error message 

     sDBName = 'dbserver/3053:D:\databases\db.fdb';
      sConnectParams = 'ClientLib="D:\ClientLibs\fbclient_30.dll"; User=SYSDBA; Password=masterkey;';

    -- Supported repair params: Limbo, CheckDB, IgnoreChecksum,
      -- KillShadows, Mend, Sweep, Validate, ValidateFull

      Res = @Services.RepairDatabase(:sDBName, :sConnectParams || 'Mend');

     if (Res is not null) then
       ibec_ShowMessage(Res); 

      -- All supported params are listed in the example

      Res = @Services.SetDBProperties(:sDBName, :sConnectParams || 'PageBuffers=2048; SQLDialect=3;
           SweepInterval=20000; ForcedWrites=TRUE; ReadOnly=FALSE');

     if (Res is not null) then
        ibec_ShowMessage(Res);

    end;

  • ibec_ExtractMetadata function:
    ExtractPrimaryKeys and ExtractUniques options added to prevent extraction of primary keys and unique constraints. Together with the existing ExtractReferences and ExtractChecks these options allow you to suppress the extraction of all constraints.

    By default all of these options are ON (TRUE). To disable the extraction of primary keys, for example, set the corresponding option to FALSE: ExtractPrimaryKeys=FALSE.

  • Code Editor namespace with set of functions implemented. See example of usage in the "Init/perform user actions" event block template.

7. Minor bugfixes and small improvements


IBExpert 2023.04.14

Minor bugfixes and small improvements.


IBExpert 2023.03.06

 1. Data Grid

  • Possibility to edit UUID/OCTETS values in the filter criteria tree has been implemented.
  • The mouse wheel can now be used to perform Page Up and Page Down actions.
  • By default the Ctrl key should be held to perform PageUp/PageDown.
  • To change the default modifier put the following piece of code into the After IBExpert starts event block:
    ibec_SetGlobalVar('IBE$DATA_GRID_PAGE_SCROLL_MODIFIER', <value>);

        where <value> is one of following: empty string, null, 'CTRL', 'ALT', 'SHIFT'.

        An empty string or null as a new modifier value makes PageDown/PageUp a default                behaviour of the mouse wheel in the Data Grid.

2. Code Editor

  • Support of keyboard templates in the Code Completion list.
    There is a new option Show keyboard templates in Code Completion list in the Options | Editor Options | Code Insight.

3. Automatic restore of a dead connection

  • By default if the database connection is lost IBExpert shows a dialog window and offers to restore a dead connection. To attempt to restore the connection automatically without user confirmation put following line of code into the After IBExpert starts event block:
    ibec_SetGlobalVar('IBE$RESTORE_DEAD_CONNECTION', TRUE);

4. Database Object Editors

  • Support of object names longer than 31 chars (Firebird 4) where they were not yet supported.

5. Export Data

  • Export to clipboard in JSON format implemented.

6. Code Formatter

  • Support of space after opening and before closing bracket options.

7. Minor bugfixes and small improvements



Firebird 5.0 Beta 1 release is available for testing

Firebird Project announces the first Beta release of Firebird 5.0, the next major version of the Firebird relational database, which is now available for testing.


Remote Firebird 4/5 Update Workshop



(German-language version below)

In successful workshops with our customers, we have perfected the solution to all conversion problems to such an extent that we can also implement your requirements quickly and flexibly via online training.

With our experience, we can support you as a user or developer to implement all the necessary steps for a successful upgrade of your Firebird 2.x-based application so that it can also run with Firebird 4 or 5.

We know how to convert your database and create a powerful Firebird 4/5 server configuration with maximum compatibility with your existing application. 

Prepare your database for Firebird 4/5 compatibility

Each server-based object, for example stored procedures, triggers, UDFs etc., is automatically verified and you will receive useful tips on how to prepare your existing Firebird 2.x metadata for later conversion in the production system.

You will also receive an introduction to a new Firebird setup and learn how to install a secondary, newer parallel Firebird server version on your or your customers' database server while the existing installation is still in production.

Even rolling out an automated update to hundreds or thousands of customer installations is possible without any manual installation using our IBExpert OEM technology.

We know what can happen and our setup offers all your customers an automated upgrade. If everything has worked well, they can start working with the new Firebird database server instance.

However, if something unexpected happens, you will receive a detailed log, but the existing setup will still be available. 

This allows you to decide whether a manual setup is required or whether the automated update process needs to be improved.

Test your application for Firebird 4/5 compatibility

The basic workshop lasts approx. 2 days and includes an analysis of the existing system as well as a backup/restore of all required data on the new Firebird server.

To avoid wasting time waiting for the backup/restore, we usually offer our workshops in a 4x4 hour format.

You will be surprised how quickly we can get your application up and running with the new Firebird 4/5 database as the backend. 

Our setup utilises several available compatibility configuration parameters, so that you can continue to enjoy all the benefits of the new Firebird versions and achieve significantly better performance, especially under high load, in multi-user installations.

Further support

Once the conversion is complete, we can also offer customised support to create an IBExpert OEM-based upgrade module, which you can deliver to all your customers with your next update.

If your customers complain about the speed of your software, we can also train your team to use the IBExpert Benchmark, analyse the results and communicate the often very poor results to your customer, who is responsible for the hardware chosen for the Firebird server.

And finally, almost any software can benefit from a thorough examination regarding poor database design and bad SQL statements. 

We can show you how to locate such issues and help you improve the performance of your software.

For an offer, please contact us with the subject "Remote Firebird 4/5 Update Workshop" with a brief description of your current products and your team: register@ibexpert.biz.





Remote Firebird 4/5 Update-Workshop

In erfolgreichen Workshops mit unseren Kunden haben wir die Lösung aller Konvertierungsprobleme soweit perfektioniert, dass wir auch Ihre Anforderungen schnell und flexibel via Online-Schulung umsetzen können.

Mit unserer Erfahrung können wir Sie als Anwender oder Entwickler dabei unterstützen, alle erforderlichen Schritte für ein erfolgreiches Upgrade Ihrer Firebird 2.x-basierten Anwendung umzusetzen, sodass diese auch mit Firebird 4/5 ausgeführt werden kann.

Wir wissen, wie Sie Ihre Datenbank konvertieren müssen, um eine leistungsstarke Firebird 4/5-Serverkonfiguration mit maximaler Kompatibilität mit Ihrer bestehenden Anwendung erstellen.

Bereiten Sie Ihre Datenbank auf die Kompatibilität mit Firebird 4/5 vor

Jedes serverbasierte Objekt, zum Beispiel Stored Procedures, Trigger, UDFs usw., wird automatisch überprüft und Sie erhalten nützliche Hinweise, wie Sie Ihre vorhandenen Firebird 2.x-Metadaten kompatibel für die spätere Konvertierung im Produktionssystem vorbereiten. 

Außerdem erhalten Sie eine Einführung in ein neues Firebird-Setup und erfahren, wie Sie eine sekundäre neuere Firebird-Serverversion auf Ihrem oder dem Datenbankserver Ihrer Kunden parallel installieren, während es sich noch in der Produktion mit der bestehenden Installation befindet.

Selbst die Einführung eines automatisierten Updates auf Hunderten oder Tausenden von Kundeninstallationen ist mithilfe unserer IBExpert OEM-Technologie ohne eine manuelle Installation möglich.

Wir wissen, was passieren kann und unser Setup bietet allen Ihren Kunden ein automatisiertes Upgrade. Wenn alles gut funktioniert hat, können sie mit der neuen Firebird-Datenbankserverinstanz arbeiten.

Sollte jedoch etwas Unerwartetes passieren, erhalten Sie ein detailliertes Protokoll, aber das bestehende Setup ist weiterhin verfügbar.

Somit können Sie entscheiden, ob ein manuelles Setup erforderlich ist oder der automatisierte Update-Prozess verbessert werden muss.

Testen Sie Ihre Anwendung auf Firebird 4/5-Kompatibilität

Der Basis-Workshop dauert ca. 2 Tage und beinhaltet eine Analyse des bestehenden Systems sowie ein Backup/Restore aller erforderlichen Daten auf dem neuen Firebird-Server.

Um Zeitverschwendung beim Warten auf das Backup/Restore zu vermeiden, bieten wir unsere Workshops in der Regel im 4x4-Stunden-Format an.

Sie werden überrascht sein, wie schnell wir Ihre Anwendung mit der neuen Firebird 4/5-Datenbank als Backend zum Laufen bringen.

Unser Setup nutzt mehrere verfügbare Kompatibilitätskonfigurationsparameter, sodass Sie weiterhin alle Vorteile der neuen Firebird-Versionen nutzen und insbesondere bei Mehrbenutzerinstallationen eine deutlich bessere Leistung, insbesondere unter hoher Last, erzielen werden.

Weiterer Support

Sobald die Konvertierung abgeschlossen ist, können wir auch individuelle Unterstützung bei der Erstellung eines IBExpert OEM-basierten Upgrade-Moduls anbieten, das Sie mit Ihrem nächsten Update an alle Ihre Kunden ausliefern können.

Sollten sich Ihre Kunden über die Geschwindigkeit Ihrer Software beschweren, können wir Ihr Team auch im Umgang mit dem IBExpert Benchmark schulen, die Ergebnisse analysieren und die oft sehr schlechten Ergebnisse mit Ihrem Kunden, der für die für den Firebird-Server gewählte Hardware verantwortlich ist, kommunizieren.

Und schließlich kann fast jede Software von einer gründlichen Überprüfung hinsichtlich eines schlechten Datenbankdesigns und fehlerhafter SQL-Anweisungen profitieren.

Wir zeigen Ihnen, wie Sie solche Probleme lokalisieren und helfen Ihnen, die Performance Ihrer Software zu verbessern.

Für ein Angebot kontaktieren Sie uns bitte mit dem Betreff „Remote Firebird 4/5 Update Workshop“ und beschreiben Sie uns kurz Ihre aktuellen Produkte und Ihr Team: sales@ibexpert.biz.




IBExpert Personal Edition features

The IBExpert Personal Edition is a free version, offering new users the chance to get acquainted with IBExpert at their own pace. It is however somewhat limited in its functionality, and does not include the following features:

Further information regarding the free IBExpert Personal Edition can be found on our website.

Please note: due to the vast amounts of downloads the free IBExpert Personal Edition registration procedure is fully automated. We can therefore provide neither support nor service for this software edition.

Further information regarding the free IBExpert Personal Edition can be found in our IBExpert online documentation:

You can also find tips and solutions to a number of frequently asked questions:


    I am missing certain functionalities in IBExpert

    If you think you are using a registered IBExpert version, but are not able to use all the functionalities offered by IBExpert, please check the IBExpert version you are using (IBExpert menu: Help / About). You are most likely using the free IBExpert Personal Edition, which does have limited functionalities. Please always use your most up-to-date registered software version. If necessary, deinstall your free IBExpert Personal Edition, so that you no longer accidentally start it in the future.

    If you do not subscribe to any IBExpert software, and would like to use some or all of the features that are not offered in the free IBExpert Personal Edition, you should consider purchasing a full IBExpert Developer Studio incl. 12 month software subscription. If you only use IBExpert occasionally (for example, for customer support), the IBExpert Day Edition may be suitable for your needs.

    You can view all IBExpert software products and fees on our website: IBExpert products, services & prices.
    You can purchase all IBExpert software and products online.