#1 2020-02-10 19:25:11

israel_jbl
Member
Registered: 2019-08-29
Posts: 5

RTREE concurrence error

I got this error:

20200210 12185508 EXC   EModelException {"Message":"TSQLMapBox has 7 fields: RTREE expects 2,4,6..10 boundary columns"} [] at
6c7774 mORMot.TSQLModelRecordProperties.SetKind (33997)  stack trace API
6c7774 mORMot.TSQLModelRecordProperties.SetKind (33997)
6c7021 mORMot.TSQLModelRecordProperties.Create (33900)
6c7f96 mORMot.TSQLModel.SetTableProps (34106)
6c901e mORMot.TSQLModel.Create (34310)

I have two RTREE tables in the same model:

  TSQLMapBox = class(TSQLRecordRTree)
  private
    FLat1: Double;
    FLon1: Double;
    FLat2: Double;
    FLon2: Double;
  published
    property Lat1: Double read FLat1 write FLat1;
    property Lon1: Double read FLon1 write FLon1;
    property Lat2: Double read FLat2 write FLat2;
    property Lon2: Double read FLon2 write FLon2;
  end;

  TSQLAnimalMap = class(TSQLRecordRTree)
  private
    FLat1: Double;
    FLon1: Double;
    FLat2: Double;
    FLon2: Double;
  published
    property Lat1: Double read FLat1 write FLat1;
    property Lon1: Double read FLon1 write FLon1;
    property Lat2: Double read FLat2 write FLat2;
    property Lon2: Double read FLon2 write FLon2;
  end;

Only happens when the model is created in concurrence (several calls to my webservice), using SOA.
It happens with both tables.
The quantity of fields change in the error message "...has 7 fields: RTREE expects...", someties it shows 5 instead of 7.

Any ideas?.

Thanks in advance.

Offline

#2 2020-02-10 22:19:06

ab
Administrator
From: France
Registered: 2010-06-21
Posts: 14,660
Website

Re: RTREE concurrence error

Each TSQLRest instance should have its own TSQLModel instance.

Perhaps you share the TSQLModel with several TSQLRest?

Offline

Board footer

Powered by FluxBB