1. 29 Aug, 2018 1 commit
    • Vincent Pelletier's avatar
      ZMySQLDA: Optimise date & datetime parsing in results. · 0057272c
      Vincent Pelletier authored
      A pprofile run shows DateTime_or_None costing 3ms per value (including all
      callees).
      While this may seem low, it is common to receive hundreds of such values
      in single query results (ex: web mode document & webpage lookups),
      so the total time spent parting dates per query can become significantly
      larger than the time to execute the query itself.
      In the case of this measure setup, 504 dates were processed for a total of
      1.5 seconds.
      DateTime is slow to parse strings because it cannot rely on a pre-known
      format. With MySQL/MariaDB, the format is know for those column types, so
      implement specific parsing to get better performance.
      On the same setup, pprofile run shows a parsing time of 72µs per value in
      DATETIME_to_DateTime_or_None, or 39ms total.
      DATE_to_DateTime_or_None should not deviate significantly from this.
      0057272c
  2. 28 Aug, 2018 1 commit
    • Jérome Perrin's avatar
      Category self membership after move and clone · 524b5443
      Jérome Perrin authored
      Categories are member of themselves. When a category is renamed, the membership to self was already preserved thanks to 7f2e8eb2
      , but this was not the case when a category was cut and pasted.
      
      There are two different cases:
       * When just created, a category is member of itself because this is the [default behavior](https://lab.nexedi.com/nexedi/erp5/blob/b705495de0f04645b7b3ad3b74c46de00c923876/product/CMFCategory/CategoryTool.py#L1193-1196) for categories not having categories set. In this case, it's dynamic.
       * When category has some categories set ( in `self.categories` ) - this happens for example after being renamed - then behavior is different and `self.categories` has to be updated.
      
      7f2e8eb2 was handling properly the later case after a clone, but not in a cut and paste ( move ) scenario, because in this case "after clone" hook is not called.
      
      The first idea was to move the same hook at another level by overloading `_postCopy` but after some discussion and thinking, it seemed more logical to make sure `CategoryTool.setCategoryList` does not save categories membership to self, which is consistent in the way `CategoryTool.getCategoryList` adds the membership to self dynamically.
      
      This MR brings a few more tests, so that we can claim [#1900](https://nexedi.erp5.net/bug_module/1900) and [#704](https://nexedi.erp5.net/bug_module/704) are tested enough and close these old bugs.
      
      
      /reviewed-on !664
      524b5443
  3. 27 Aug, 2018 2 commits
  4. 24 Aug, 2018 3 commits
  5. 23 Aug, 2018 14 commits
  6. 22 Aug, 2018 1 commit
    • Xiaowu Zhang's avatar
      erp5_web_renderjs_ui_test: wait for page loaded · 8aa74de6
      Xiaowu Zhang authored
      this commit should fix random plus button not present issue when open sort editor
      the reason is sort editor is opened before launcher call editor_panel.close()
      so wait for page loaded before open sort editor
      8aa74de6
  7. 21 Aug, 2018 6 commits
  8. 20 Aug, 2018 2 commits
  9. 17 Aug, 2018 6 commits
  10. 16 Aug, 2018 4 commits