1. 16 Jan, 2014 1 commit
  2. 14 Jan, 2014 2 commits
    • Sofia Papagiannaki's avatar
    • Sofia Papagiannaki's avatar
      pithos: Reduce database interactions for access control. · 7ba6ad34
      Sofia Papagiannaki authored
      Each frontend method calls several backend methods.
      Each backend method checks whether the user has permission to access the
      specific path.
      This results to several identical queries to the database.
      This commit introduces the following optimization:
      We keep 2 dictionaries:
      * one for the allowed paths for read per user and
      * another for the allowed paths for write per user
      The lifespan of these dictionaries is a database transaction.
      The dictionaries are updated appropriately after each successful query for
      permissions and after actions that affect permissions
      (delete & update object permissions).
      Especially in the latter case the dictionaries are reset because it was
      estimated that this is less expensive than identifying the affected paths.
      7ba6ad34
  3. 09 Jan, 2014 9 commits
  4. 08 Jan, 2014 28 commits