Commit History

Author SHA1 Message Date
  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 years ago
  romainq 3109a0a7ca Internal: 8 years ago
  glajarige 4988d1d8d7 Internal: OQL error reporting 8 years ago
  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 years ago
  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 years ago
  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 years ago
  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 years ago
  romainq d43ef8ceb7 Continuing [r4488] N.536 Regression introduced in [r4469] (N.505), itself fixing a regression introduced in [r4404]. REQUIRES TESTING 8 years ago
  romainq f58c412702 N.536 Regression introduced in [r4469] (N.505), itself fixing a regression introduced in [r4404]. REQUIRES TESTING 8 years ago
  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 years ago
  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 years ago
  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 years ago
  romainq c05b6818e5 N°436 Core API: Correctly (mathematically!) handle the "allow all data" flag, with UNIONS and INTERSECTIONS. Requires testing 8 years ago
  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 years ago
  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 years ago
  dflaven ccef399cfa Support of date and time custom formats... continuing towards the beta ! 9 years ago
  romainq 0064a82cd2 Fixed regression introduced with [3912] : autocomplete not working (new User request with lots of existing user requests) 9 years ago
  glajarige 682a9c7b5d DBSearch : Allow join between DBUnionSearch by adding the DBUnionSearch::Join verb 9 years ago
  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 years ago
  romainq 0dff1739a5 Internal: fixed the verb DBObjectSearch::IsAny 9 years ago
  romainq b5c84b99ca Internal: dehardcoded OqlUnionQuery::GetClass against the metamodel reflection API 9 years ago
  romainq 5f0de18ba6 Core API: added DBSearch:SetSelectedClasses 9 years ago
  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 years ago
  romainq 9628e5b4a1 Fixed regression introduced in 2.2.0 beta. Warning issued when opening an organization for modification 9 years ago
  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 years ago
  dflaven 3473e5259b Bug fix: typo causing the generation of invalid SQL queries (in some rare cases). 10 years ago
  romainq 5ed735e8d0 #942 OQL now supporting unions. Unions support polymorphism and can be used anywhere in the application. 10 years ago
  dflaven fc2c1498a6 Better error reporting (thanks to Stefan Goethals for suggesting it). 10 years ago
  romainq a97ec14388 #983 Sortering not possible on multi-column queries 10 years ago
  dflaven b6cefa790f Fix for a warning about mysql_free() revealing a problem with DBObjectSet 11 years ago