Commit History

作者 SHA1 備註 提交日期
  eespie 9e56c1be9c N.1065 Fix performance issues (caches added on query build) 7 年之前
  romainq 0e1f3d02b9 Rework of the edition of 1-N and N-N links: managed as a delta from the GUI down to the the lowest APIs. 8 年之前
  romainq 5bb516195d N.897 Object having too many external keys could not be recorded (61 tables) 8 年之前
  romainq ff986c63aa Internal: DBObjectSearch->AddCondition, allow the case $value = null (otherwise failing because the keyword null has not yet been implemented in OQL) 8 年之前
  romainq b246164f18 Obsolescence: finalizing the implementation of the flag (hide obsolete objects, show an icon on hyperlinks and a tag on the object details, user preference defaulting to the new setting 'show_obsolete_data') 8 年之前
  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 3109a0a7ca Internal: 8 年之前
  glajarige 4988d1d8d7 Internal: OQL error reporting 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 5e615a435d N.718 (continuation) Audit failing with message "Attempting to merge a filter of class A with a filter of class B" (regression introduced in branch 2.3).... 8 年之前
  romainq dbbd1d4e56 N.718 Audit failing with message "Attempting to merge a filter of class A with a filter of class B" (regression introduced in branch 2.3). There are circumstances for which the queries cannot (yet) be optimized (fallback to the original algorithm) 8 年之前
  romainq 7711c1aeb7 N.539 Regression introduced in [r4451] on oct 7th. Some OQL were issuing a notice and some were generating a SQL query that would fail with error "Column 'functionalci_id' in where clause is ambiguous" (See CI details) 8 年之前
  romainq d43ef8ceb7 Continuing [r4488] N.536 Regression introduced in [r4469] (N.505), itself fixing a regression introduced in [r4404]. REQUIRES TESTING 8 年之前
  romainq f58c412702 N.536 Regression introduced in [r4469] (N.505), itself fixing a regression introduced in [r4404]. REQUIRES TESTING 8 年之前
  romainq ad34ae5628 N.505 Regression introduced in [r4404]. Security issue - Object visibility totally screwed the APC cache (user data) is enabled. This is a change in the way SQL queries are built and therefore requires testing. 8 年之前
  romainq 8fd191860b N.434 ... Continuation... Fixed regression introduced in [r4448]. OQL (parsed) queries are optimized too but the SQL query cannot be executed. See example herebelow: 8 年之前
  romainq 81cac08849 N.434 Optimized the DB queries. As an example, the query that shows the service catalog in the enhanced customer portal is now made of 5 nodes (at the class level) whereas it used to be made of 11 nodes... for the exact same results. This optimization impacts almost each queries built by iTop. The expected benefit can insignificant or not, depending on the cardinality of the data, the datamodel and the original OQL queries. We found one case where the query execution would apparently never end and it takes now less than a second. The risk with such a change is that is affects most of the queries built by iTop -requires testing! 8 年之前
  romainq c05b6818e5 N°436 Core API: Correctly (mathematically!) handle the "allow all data" flag, with UNIONS and INTERSECTIONS. Requires testing 8 年之前
  romainq 1d69c5f27c OQL: fixed an old limitation, hierarchies can now be expressed both ways. Example of a query that now works fine: SELECT Organization AS root JOIN Organization AS child ON child.parent_id BELOW root.id WHERE child.name LIKE 'Combodo'. In the previous implementation, the operator was interpreted as '='. 9 年之前
  romainq 99ec255431 Internal: DBSearch::Intersect to throw an exception whenever any of the merged queries have a queried class that does not correspond to the first joined class. This is a limitation of the current implementation of Intersect. Allowing such use cases would require quite a rework of that API. 9 年之前
  dflaven ccef399cfa Support of date and time custom formats... continuing towards the beta ! 9 年之前
  romainq 0064a82cd2 Fixed regression introduced with [3912] : autocomplete not working (new User request with lots of existing user requests) 9 年之前
  glajarige 682a9c7b5d DBSearch : Allow join between DBUnionSearch by adding the DBUnionSearch::Join verb 9 年之前
  romainq 3c7638bf00 Exclude magic parameters when listing query parameters (refactoring from run_query) This enables the use of magic parameters in the exports. The issue was less exposed in iTop 2.2.0 because only one single magic parameter was available. 9 年之前
  romainq 0dff1739a5 Internal: fixed the verb DBObjectSearch::IsAny 9 年之前
  romainq b5c84b99ca Internal: dehardcoded OqlUnionQuery::GetClass against the metamodel reflection API 9 年之前
  romainq 5f0de18ba6 Core API: added DBSearch:SetSelectedClasses 9 年之前
  romainq e8b4c78402 #1140 UNION queries not working -in fact, loss of the optimization on column load when filtering on org hierarchies (retrofit possible but the fix will be located in MetaModel) 9 年之前
  romainq 9628e5b4a1 Fixed regression introduced in 2.2.0 beta. Warning issued when opening an organization for modification 9 年之前
  romainq 61383b5378 #1123/#1133 The optimization on loaded columns in SQL queries was inoperant for some queries, resulting in a stopper issue if such queries were added to a union query (2.2.0 beta) 9 年之前