XData CRUD update actions are returning wrong values

Using XData/Aurelius v5.0 or previus version, Delphi 10.4.2 PRO or 10.4.1, IBEXpress adapter

When applying PUT or PATCH (automatic CRUD endpoints) XData returns the previus object state instead of the updated object (as stated in docs)


Can you please check if it also happens without IBEXpress (FireDac or dbExpress, for example)? Do you have a sample to reproduce the issue?

Hi Wagner, thanks for your feedback.

The problem DO NOT happen if using FireDAC or ZeosLib adapters (same project/everything)

It's related only to the IBExpresss adapter. To reproduce it you must have a Firebird server and follow:

  1. Create a VCL XData server project with XData experts
  2. Add a IBDatabase to ServerContainer datamodule and link with AureliusConnection component
  3. Configure IBDatabase1 to acess the Firebird employee example database
  4. Add a new file to the project:
unit Unit3;



  [Id('FName', TIdGenerator.None)]
  TCountry = class
    FName: string;
    FCurrency: string;
    property Name: string read FName write FName;
    property Currency: string read FCurrency write FCurrency;




Run and and test the endpoints (I used Imsomnia)


I'm sorry, but how are you using TIBDatabase to access a Firebird database? From here is simply does not connect, it says connection is rejected by remote interface.
IBExpress is not officially supported by Aurelius to connect to Firebird, only Interbase, see here:

1 Like

Hi Wagner.

IBExpress works smoothly with Firebird, no problem at all (at least on my C/S projects so far). But, since it's not oficially supported by Aurelius, I'll move on. ZeosLib works fine and I've been using it with XData. This is the fisrt time tried with IBExpress for testing (did not noticed was not supported, sorry).

Thanks again.

This topic was automatically closed 60 minutes after the last reply. New replies are no longer allowed.