1. 21 Apr, 2001 3 commits
    • Chris McDonough's avatar
      Windows compatibility and --today flag. · fbcf2b5c
      Chris McDonough authored
      fbcf2b5c
    • Andreas Jung's avatar
      fix for collector #2178 (zopesh issue) · 0f055c5c
      Andreas Jung authored
      0f055c5c
    • Chris McDonough's avatar
      Adding request log profiler. · 82bd5aa9
      Chris McDonough authored
      Usage: requestprofiler.py filename [--sort=spec] [--top=n] [--verbose] [--help]
      
      Provides a profile of the detailed (-M) Zope request log.
      
      Each line in the profile indicates information about a Zope method (URL)
      collected via the detailed request log (the -M log).
      
      'filename' is the path to the '-M' log that contains detailed request data.
      
      If a 'sort' value is specified, sort the profile info by the spec. The sort
      spec may be any of 'hits', 'hangs', 'max', 'min', 'mean', 'median', or 'total'.
      The default is 'total'.  The sort order is decending unless indicated.
      
        'hits'       -- the number of hits against the method
        'hangs'      -- the number of unfinished requests to the method
        'max'        -- the maximum time in secs taken by a request to this method
        'min'        -- the minimum time in secs taken by a request to this method
        'mean'       -- the mean time in secs taken by a request to this method
        'median'     -- the median time in secs taken by a request to this method
        'total'      -- the total time in secs across all requests to this method
        'url'        -- the URL/method name (ascending)
      
      If the 'top' argument is specified, only report on the top 'n' requests in
      the log (as per the sort).  The default is 10.
      
      If the 'verbose' argument is specified, do not trim url to fit into 80 cols."""
      82bd5aa9
  2. 20 Apr, 2001 4 commits
    • Barry Warsaw's avatar
      _zaprevision(): Watch out for the key being missing from the metadata · 3e5f106f
      Barry Warsaw authored
      table; use a safer way of pulling out the lrevid.
      
      pack(): The previous logic was broken, now we first gather up all the
      oids of the objects affected by packable transactions, then we cruise
      through the metadata records of each of those in a separate loop.
      
      Watch out for the call to c.set_range() on the txnoids table to raise
      a DBNotFoundError.  This just means we're trying to access a time
      stamp past the last one in this table, so just use c.last() if that
      happens, and pack all transactions.
      
      When cruising through the txnoids table, stop when you see the first
      PROTECTED_TRANSACTION.  That means that we've already packed back to
      this transaction (Jim, is this right?  Would we ever want to re-pack a
      transaction that's already been packed?)
      3e5f106f
    • Andreas Jung's avatar
      partial regex free - and still working :-) · f983c923
      Andreas Jung authored
      f983c923
    • Andreas Jung's avatar
      StructuredText locale added · 9b3cd6c0
      Andreas Jung authored
      9b3cd6c0
    • Andreas Jung's avatar
      added locale support · 9ae055f8
      Andreas Jung authored
      9ae055f8
  3. 19 Apr, 2001 4 commits
  4. 18 Apr, 2001 5 commits
  5. 17 Apr, 2001 9 commits
  6. 16 Apr, 2001 13 commits
  7. 13 Apr, 2001 2 commits
    • Barry Warsaw's avatar
      Added some debugging aids: · b8f6efe9
      Barry Warsaw authored
          - DNE='nonexist' (it must be 8-bytes and this is easier to pick out)
      
          - _setupDBs(): use self._nextserial to choose the next serial
            number; this is easier to follow than the timestamps the base
            class uses.
      
          - _begin(): increment the next serial counter and assign that to
            self._serial
      
      Also,
      
      ObjectDoesNotExist: Removed, we use a straight KeyError instead since
      undoInfo() obviates the need for this hack.
      
      _vote(): Removed, base class implements this.
      
      _finish(): At the point we increment the refcounts of the objects
      refered to by the pickle, add a FIXME note.  Since objects can be
      revised multiple times in a single transaction, we need to make sure
      not to increment the refcounts too many times (not tested, so fix is
      deferred for later).
      
      abortVersion(): The API requires a VersionError if we try to abort the
      empty version.
      
      load(): The API requires that if we try to load an object on a
      non-existant version, or a version on which the object hasn't been
      changed, that we return the non-version revision of the object instead
      of raising an exception.
      
      transactionalUndo(): Fixed (as yet untested) bug in extraction of
      pack-protection flag from transaction's metadata.
      
      Rewrote the "revid <> tid" branch to check the commit log for any
      promised revisions to the object committed earlier in this
      transaction.  It's possible to revise an object multiple times in the
      same transaction.  Along those lines, record modified oids in a set
      (i.e. dictionary) so we don't get duplicates in the return value.
      
      Use write_object_undo() instead of write_moved_object() so previous
      revisions in the same transaction get recorded by the commit log.
      
      undoLog(): The API defines default arguments, and their semantics, so
      use them!  Also fix typos in cursor method calls and in unpacking the
      user/desc/ext information in the transaction metadata.
      b8f6efe9
    • 's avatar
      Merged fixes for typos, missing docs · 98f0dea1
      authored
      98f0dea1