- 20 Jan, 2019 4 commits
-
-
Jérome Perrin authored
-
Jérome Perrin authored
-
Jérome Perrin authored
-
Jérome Perrin authored
-
- 12 Jan, 2019 10 commits
-
-
Jérome Perrin authored
-
Jérome Perrin authored
-
Jérome Perrin authored
-
Jérome Perrin authored
-
Jérome Perrin authored
-
Jérome Perrin authored
-
Jérome Perrin authored
-
Jérome Perrin authored
-
Jérome Perrin authored
-
Jérome Perrin authored
-
- 10 Jan, 2019 7 commits
-
-
Jérome Perrin authored
-
Jérome Perrin authored
-
Jérome Perrin authored
-
Jérome Perrin authored
* go's `when` does not support "chains" like `2.years.3.months.ago`. * `10am noon` is ambigious, we don't want so support it. * date only `2008-12-01` should not retain "current" hour:minute
-
Jérome Perrin authored
-
Jérome Perrin authored
-
Jérome Perrin authored
-
- 09 Jan, 2019 1 commit
-
-
Jérome Perrin authored
-
- 06 Jan, 2019 5 commits
-
-
Jérome Perrin authored
-
Jérome Perrin authored
-
Jérome Perrin authored
Parsing dates is really slow. On the other hand, this optimization might cause error if entering a date looking like a TID, but I'm not sure there is.
-
Jérome Perrin authored
-
Jérome Perrin authored
-
- 30 Dec, 2018 4 commits
-
-
Kirill Smelkov authored
-
Kirill Smelkov authored
- add help tidrange topic. - change all commands to refer to it. - add TODO to parse tid from absolute and relative dates (e.g. 1.month.ago, similarly to how git can do). Dateparser https://dateparser.readthedocs.io/ will probably be of help here. /reviewed-on nexedi/zodbtools!7
-
Kirill Smelkov authored
Currently zodbanalyze analyzes whole storage. However it becomes non practical to make a full zodbanalyze run on whole storage because usually there are many transactions and objects and the time to run full zodbanalyze is huge. However, similarly to zodbdump, we can teach zodbanalyze to analyze a particular range of transactions. This should help to analyze a range of changes for e.g. yesterday, or for last week or similar. /reviewed-on nexedi/zodbtools!7
-
Kirill Smelkov authored
Analyze uses regular ZODB storage API: .iterator() & friends. This way it should be possible apply it not only to FileStorage, but to other type of storages as well - for example to NEO and ZEO. Use zodbtools.util.storageFromURL to open a storage by knowing its URL. Preserve support to directly apply zodbanalyze to FileStorage deltas. /reviewed-on !7
-
- 17 Dec, 2018 1 commit
-
-
Kirill Smelkov authored
Storages need to be closed to indicate a clean access end. If a storage is not closed cleanly it might require to spend time and resources on next open. For example FileStorage might need to recompute the index. /reviewed-on nexedi/zodbtools!6
-
- 13 Dec, 2018 5 commits
-
-
Kirill Smelkov authored
-
Kirill Smelkov authored
This should be in 7f0bbf7e (zodbdump: Add golden test).
-
Kirill Smelkov authored
Zodbcommit reads transaction description from stdin and commits read data into ZODB. The transaction to be committed is read in zodbdump format, but without first 'txn' header line. For example: user "author" description "change 123" extension "" obj 0000000000000001 4 null:00 ZZZZ This tool could be useful for testing and for low-level database maintenance. Please see zodbcommit.py docstring for more details.
-
Kirill Smelkov authored
We will likely need this reader for `zodb restore` in the future. We will also use this reader for `zodb commit` in the next patch. pygolang dependency v↑ becuase we use recently introduced golang.strconv to unquote user/desc/extension strings. Python2 works. Python3 support is only minimal and incomplete.
-
Kirill Smelkov authored
hashRegistry will be needed for zodbdump reader to create a hasher by its name. Since std hashlib does not have adler32/crc32 nor null - let's add our own implementation for those hashers too. The code is based on kirr/neo@a60c472c, and kirr/neo@3f578560
-
- 12 Dec, 2018 1 commit
-
-
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.
-
- 02 Jul, 2018 1 commit
-
-
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: kirr/pygolang@afa46cf5 and then further improved there to work under both Python2 and Python3 and to not escape printable UTF-8 characters: kirr/pygolang@02dddb97 So stop the duplication and simply switch to the better version.
-
- 11 May, 2018 1 commit
-
-
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
-