提交历史

作者 SHA1 备注 提交日期
  romainq 4b36e9e017 Obsolescence: introduction of this new concept (wording could change later). The obsolescence of an object is computed after other attributes, by the mean of an OQL expression. The code has been refactored (again) so as to factorize between the computation of friendly names and the computation of obsolescence flags. The refactoring involved a significant AND RISKY change: external key friendly names (magic attributes) have been changed from AttributeFriendlyName to AttributeExternalField, which simplifies the SQL query build logic. 8 年之前
  romainq 34ab6cd77b NEW! Archiving data. Archiving is a soft delete. It can be undone. Enter the archive mode to see all the data including archives (everything is read-only in that mode). Archiving must be enabled per class (data model). Archiving is achieved by the mean of the API DBObject::Archive (or Unarchive). 8 年之前
  romainq 43d294e036 Internal: query arguments could be array values, making it easier to build dynamic IN() clauses 9 年之前
  romainq 353e6a0ffc OQL arguments: when the value of a query argument is null, it must be considered as being a valid argument (was reported as missing). Improved the error reporting when the argument is in the form :this->attcode and the attcode is not valid for the class of 'this'. 9 年之前
  romainq 0dff1739a5 Internal: fixed the verb DBObjectSearch::IsAny 9 年之前
  dflaven cda7f3861f Code refactoring to make the OQL parsing self contained in the "oql" subdirectory. 9 年之前