Commit Graph
13 Commits
Author SHA1 Message Date
Cédric Krier a0bfbfa255 Follow isort formatting
issue10928
2021-12-11 17:58:45 +01:00
Nicolas Évrard 870981c561 Pass default class order to __search_query
issue10838
review383251002
2021-10-11 11:38:37 +02:00
Nicolas Évrard 6d2066ba45 Use specific model for OR2UNION tests
issue10832
review362881002
2021-10-07 17:46:14 +02:00
Nicolas Évrard 2f4c0eb0a5 Include order columns in UNION-ed search queries
issue10790
review365991002
2021-10-06 17:20:40 +02:00
Cédric Krier 30572116ed Test foreign key on delete and inactive
issue10782
review367581002
2021-10-03 00:32:10 +02:00
Cédric Krier b3f8d125f9 Use custom class to store record data
By using a class with slots instead of standard dict, we can reduce a lot the
memory usage to store the record data in the caches and values.
Also we can rely on the data in the cache to exist only for real field which
can be used to create a fast path in ModelStorage.__getattr__.
As now storing data in the cache has no extra cost, we can store data from the
transactional cache in the local. This allow also to have a shorter path in
ModelStorage.__getattr__.
For more memory efficiency, we remove the record from the cache instead of
clearing them. It was better to clear a dict but a record is less expensive to
re-instantiate than clearing.

issue9369
issue9225
review297861002
2020-06-13 09:48:03 +02:00
Cédric Krier e118cb894a Apply Exclude where clause when searching other records
When we simulate the Exclude constraints, we must apply the where clause also
to existing records.

issue8954
review284651002
2020-01-13 23:58:14 +01:00
Cédric Krier dd26e03001 Test 'id' not removed from read result when in context field
issue8470
review263841002
2019-07-08 21:31:26 +02:00
Cédric Krier b34cac78d5 Allow to lock records for update
issue8012
review45901002
2019-01-30 09:45:59 +01:00
Cédric Krier d1bb790cb8 New API to read related fields
issue7888
review58431002
2018-12-21 23:41:56 +01:00
Cédric Krier b3ca13748b Add Exclude constraint
issue1422
review44061002
2018-03-19 16:57:49 +01:00
Cédric Krier f911f48ed4 Delete translations only when model has translatable field
The call to Translation.delete_ids has a cost as it does search queries. So it
is better to not call it if we already know that there is nothing to delete.

issue7118
review37981003
2018-02-11 14:59:58 +01:00
Cédric Krier 478c4e6928 Refactor fields tests
issue7085
review40051002
2018-02-02 00:04:19 +01:00