1. 20 Jan, 2019 2 commits
  2. 12 Jan, 2019 10 commits
  3. 10 Jan, 2019 7 commits
  4. 09 Jan, 2019 1 commit
  5. 06 Jan, 2019 5 commits
  6. 30 Dec, 2018 4 commits
  7. 17 Dec, 2018 1 commit
  8. 13 Dec, 2018 5 commits
  9. 12 Dec, 2018 1 commit
    • Kirill Smelkov's avatar
      zodbdump: Always end a transaction with LF · 624aeb09
      Kirill Smelkov authored
      Before now we were emitting extra LF only in between transactions as a
      separator. However the dump format states LF always goes after
      transaction, and there is a reason for it:
      
      	without LF in the end, it becomes ambiguous at EOF - whether it
      	is a proper transaction end, or the transaction was cut.
      
      So avoid the ambiguity by always emitting trailing LF after transaction
      record.
      624aeb09
  10. 02 Jul, 2018 1 commit
    • Kirill Smelkov's avatar
      zodbdump: Switch to using qq from pygolang · b1163449
      Kirill Smelkov authored
      I originally added escapeqq as part of 75c03368 (zodbdump: Start to
      stabilize output format) with the task for this utility to quote string
      into valid "..." string always quoted with ".
      
      This utility was later copied to pygolang:
      
      	pygolang@afa46cf5
      
      and then further improved there to work under both Python2 and Python3
      and to not escape printable UTF-8 characters:
      
      	pygolang@02dddb97
      
      So stop the duplication and simply switch to the better version.
      b1163449
  11. 11 May, 2018 3 commits
    • Kirill Smelkov's avatar
      zodbdump: Start to stabilize format + add test · 2801fae9
      Kirill Smelkov authored
      We start to stabilize output format of `zodb dump`. It is actually now robust and the only thing I would contemplate to potentially change is to also cover transaction metadata by hash checksum. So please take a look at updated format (details in patch 1) to provide feedback because it is likely close to what it  will be in its final form.
      
      We also add a program to generate test database which uses various fancy ZODB features and check `zodb dump` output on it to golden one (patch 3).
      
      To be able to dump transaction metadata in raw form ZODB is patched a bit:
      
      https://github.com/zopefoundation/ZODB/pull/183
      
      and we try to detect whether appropriate support is there at runtime and if yes use it to streamline obtaining transaction extension as raw (patch 2).
      Pleae see patch 1 (second half of `zodbdump.py` about what has to be taken on without such support and that it still can't work fully reliably).
      
      /cc @nexedi
      /reviewed-on nexedi/zodbtools!3
      2801fae9
    • Kirill Smelkov's avatar
      zodbdump: Add golden test · 7f0bbf7e
      Kirill Smelkov authored
      We add a program to generate a test database with all fancy features and
      then check `zodb dump` output on it to golden on.
      
      The test database itself is commited to git because we want to make sure
      zodbdump works ok for particular exact data and because transaction
      extension dict is potentially saved differently on various runs.
      
      Quoting
      
        https://docs.python.org/2.7/library/stdtypes.html#dict.items    and
        https://docs.python.org/3.7/library/stdtypes.html#dictionary-view-objects
      
      """ CPython implementation detail: Keys and values are listed in an arbitrary
          order which is non-random, varies across Python implementations, and depends
          on the dictionary’s history of insertions and deletions. """
      
      This way on test/gen_testdata.py changes it has to be run manually, and
      then the output result of the run committed back together with
      gen_testdata.py changes.
      7f0bbf7e
    • Kirill Smelkov's avatar
      zodbdump: Retrieve transaction metadata as raw from ZODB if storage support is available · 33230940
      Kirill Smelkov authored
      This patch test at runtime whether used storage can provide transaction
      metadata in raw form and if so used thi form directly without going
      through long fragile way of stable pickling extension back to bytes.
      
      Corresponding ZODB support is at
      
      https://github.com/zopefoundation/ZODB/pull/183
      33230940