0d0df37 | Stefano Zacchiroli | 04 March 2016, 16:48:18 UTC | revision.metadata JSON schema: origin_artifact is a list... ... of objects with the previously declared properties | 04 March 2016, 16:48:18 UTC |
6f3cb2e | Stefano Zacchiroli | 04 March 2016, 16:41:12 UTC | json schemas: fix whitespace issues (and a few typos) | 04 March 2016, 16:41:12 UTC |
e2195ca | Stefano Zacchiroli | 04 March 2016, 16:28:57 UTC | sql/json/: first stab at documenting JSON(B) values using JSON Schema This is still very preliminar. I've merely extracted all examples from the current real DB, looking at all columns with type JSON or JSONB. Based on the examples I've documented all properties, applying the most reasonable types. The largest example is the revision.metadata column. A lot of documentation work is still missing; - required properties are not declared (but should, most notably in revision.metadata, given that a large part of that schema is valid only for Debian packages). Note that by default in JSON Schema all properties are *optional* so this aspect shoult not affect validity - title/description generic properties are seldomly used and should be used more - default generic property is never used, but probably should On the validation front we should: - validate all JSON(B) values in the DB against these schemas. Some upcoming validation errors are already evident. In particular: tarball artifacts do not have a "length" property, and symmetrically debian source package artifacts lack an "archive_type" property - validate the JSON Schema itself, as I might have gotten the spec wrong | 04 March 2016, 16:28:57 UTC |
9ec836e | Nicolas Dandrimont | 04 March 2016, 15:30:05 UTC | storage: add entity_get_one to retrieve a single entity | 04 March 2016, 15:30:05 UTC |
911086f | Nicolas Dandrimont | 04 March 2016, 13:46:08 UTC | sql/swh-func: make the entity update trigger lighter | 04 March 2016, 13:47:38 UTC |
6daf5fc | Nicolas Dandrimont | 04 March 2016, 11:28:59 UTC | sql/swh-func: drop temporary entity-related tables on commit | 04 March 2016, 13:44:25 UTC |
c5374c3 | Nicolas Dandrimont | 04 March 2016, 11:05:24 UTC | db: allow passing UUIDs back and forth with the database | 04 March 2016, 11:05:24 UTC |
e6c0959 | Nicolas Dandrimont | 25 February 2016, 14:19:15 UTC | storage: add new method object_find_by_sha1_git The new method looks for objects with the given sha1_gits and returns some information about them. | 25 February 2016, 14:21:11 UTC |
48ffd2a | Nicolas Dandrimont | 25 February 2016, 13:52:13 UTC | sql: factor out tmp_release_get and tmp_content_get into a single table | 25 February 2016, 13:57:12 UTC |
99e83ca | Antoine R. Dumont (@ardumont) | 11 February 2016, 11:34:33 UTC | Fix pep8 compliance | 11 February 2016, 11:34:33 UTC |
3172337 | Antoine R. Dumont (@ardumont) | 11 February 2016, 11:19:10 UTC | sql/upgrades/058: add 057 → 058 upgrade script | 11 February 2016, 11:33:36 UTC |
456f44d | Antoine R. Dumont (@ardumont) | 11 February 2016, 11:18:57 UTC | Open content_missing_per_sha1 | 11 February 2016, 11:33:36 UTC |
a401d86 | Nicolas Dandrimont | 10 February 2016, 11:22:10 UTC | swh.storage: Allow storage of extra git headers in revisions We store the extra git headers (bytes) in the metadata->'extra_git_headers' field of the revision. The values are decoded as if they were utf-8 strings. When an invalid sequence is encountered, the bytes are encoded as a \x escape. We also encode NUL bytes as such, as U+0000 is invalid in a JSON string and can't be stored in PostgreSQL. | 10 February 2016, 11:22:10 UTC |
26ce6d8 | Nicolas Dandrimont | 08 February 2016, 14:31:10 UTC | sql/swh-schema: add some constraints to occurrence{_history,} | 08 February 2016, 14:37:56 UTC |
2e29497 | Nicolas Dandrimont | 08 February 2016, 14:24:30 UTC | sql/swh-func: Properly deduplicate occurrence_history | 08 February 2016, 14:26:06 UTC |
c64b05e | Nicolas Dandrimont | 08 February 2016, 14:15:24 UTC | sql/upgrades/055: add 054 → 055 upgrade script | 08 February 2016, 14:15:24 UTC |
f6041b6 | Nicolas Dandrimont | 08 February 2016, 14:13:46 UTC | sql/swh-func: Properly increment the visit numbers for origin_visit | 08 February 2016, 14:13:46 UTC |
2a90566 | Nicolas Dandrimont | 08 February 2016, 14:13:01 UTC | sql/upgrades/054: Add 053 → 054 update script | 08 February 2016, 14:13:01 UTC |
12556ab | Nicolas Dandrimont | 08 February 2016, 12:15:25 UTC | swh-func: add prefixes to the occurrence update function names | 08 February 2016, 12:15:25 UTC |
da91787 | Nicolas Dandrimont | 05 February 2016, 14:58:25 UTC | sql/upgrades/053: add 52 → 53 upgrade script | 05 February 2016, 14:58:25 UTC |
9afcea5 | Nicolas Dandrimont | 05 February 2016, 14:54:31 UTC | sql/swh-func: uniformize the tmp_release_get and tmp_release tables | 05 February 2016, 14:54:31 UTC |
137f82c | Nicolas Dandrimont | 05 February 2016, 10:12:55 UTC | sql/upgrades/052: add 051 → 052 upgrade script | 05 February 2016, 10:12:55 UTC |
7cb85e3 | Nicolas Dandrimont | 05 February 2016, 10:08:53 UTC | sql/swh-schema: Handle negative UTC offsets in revision and release dates | 05 February 2016, 10:08:53 UTC |
2083c24 | Nicolas Dandrimont | 02 February 2016, 18:49:58 UTC | storage.py: add a shortlog method only returning revision ids and parents | 02 February 2016, 18:49:58 UTC |
0b7cc7b | Antoine R. Dumont (@ardumont) | 29 January 2016, 16:06:42 UTC | sql/upgrades/051: 050->051 schema change | 29 January 2016, 16:06:42 UTC |
92fa9e1 | Antoine R. Dumont (@ardumont) | 29 January 2016, 16:06:09 UTC | Let the person's id flow T299 | 29 January 2016, 16:06:32 UTC |
ae3f030 | Antoine R. Dumont (@ardumont) | 29 January 2016, 15:18:25 UTC | Force import psycopg2.extras Otherwise: "module 'psycopg2' has no attribute 'extras'" during make test | 29 January 2016, 15:18:25 UTC |
fe91931 | Antoine R. Dumont (@ardumont) | 29 January 2016, 13:55:33 UTC | sql/upgrades/049: 049->050 schema change - Clean up obsolete functions Closes T303 | 29 January 2016, 14:23:24 UTC |
038038a | Antoine R. Dumont (@ardumont) | 29 January 2016, 13:53:15 UTC | Fix, enforce the type coherence with db call T303 | 29 January 2016, 14:23:21 UTC |
3b39048 | Antoine R. Dumont (@ardumont) | 29 January 2016, 13:46:31 UTC | pep8 compliance, remove unused import | 29 January 2016, 13:46:31 UTC |
7cb2c0b | Antoine R. Dumont (@ardumont) | 29 January 2016, 13:46:23 UTC | Fix docstring typo | 29 January 2016, 13:46:23 UTC |
df0303b | Nicolas Dandrimont | 28 January 2016, 17:06:54 UTC | sql/upgrades/049: Final take for 048->049 schema change. | 28 January 2016, 17:06:54 UTC |
618e2ac | Nicolas Dandrimont | 28 January 2016, 12:59:25 UTC | sql/swh-func: make the 048->049 update more robust | 28 January 2016, 12:59:25 UTC |
e4815f4 | Nicolas Dandrimont | 27 January 2016, 17:59:04 UTC | sql/upgrades/049: add upgrade script for 049 | 27 January 2016, 17:59:04 UTC |
8eec29f | Nicolas Dandrimont | 27 January 2016, 16:57:18 UTC | sql/upgrades/048: Add 047→048 migration script | 27 January 2016, 16:57:31 UTC |
de23136 | Nicolas Dandrimont | 27 January 2016, 16:51:52 UTC | test_storage: move backend-agnostic tests to the base class | 27 January 2016, 16:53:18 UTC |
92114e9 | Nicolas Dandrimont | 27 January 2016, 16:50:32 UTC | sql: Use a new schema for occurrences Closes a part of T72 | 27 January 2016, 16:53:18 UTC |
62a7b27 | Nicolas Dandrimont | 27 January 2016, 15:01:29 UTC | sql/Makefile: ignore the psql config file when calling it | 27 January 2016, 16:53:17 UTC |
b9a8526 | Nicolas Dandrimont | 27 January 2016, 15:00:53 UTC | sql/swh-func: Remove object_ids from temporary tables | 27 January 2016, 16:53:17 UTC |
9860942 | Antoine R. Dumont (@ardumont) | 27 January 2016, 15:36:20 UTC | Add missing version number 047 | 27 January 2016, 15:36:20 UTC |
1e345cf | Antoine R. Dumont (@ardumont) | 27 January 2016, 14:43:56 UTC | sql/upgrades/047: add 046→047 migration - Improve conversion. T270 | 27 January 2016, 14:43:56 UTC |
78024bf | Antoine R. Dumont (@ardumont) | 27 January 2016, 12:44:54 UTC | Deal with occurrence_history.branch, release.name as bytes Closes T270 | 27 January 2016, 12:45:54 UTC |
d37411b | Antoine R. Dumont (@ardumont) | 27 January 2016, 11:21:21 UTC | Fix pep8 compliance | 27 January 2016, 11:27:30 UTC |
cd7587c | Antoine R. Dumont (@ardumont) | 27 January 2016, 11:20:59 UTC | sql/upgrades/047: add 046→047 migration T270 | 27 January 2016, 11:27:30 UTC |
2fd9a81 | Antoine R. Dumont (@ardumont) | 27 January 2016, 11:20:13 UTC | Migrate occurrence.branch, occurrence_history.branch and release.name to type bytea T270 | 27 January 2016, 11:27:30 UTC |
dcb4c61 | Nicolas Dandrimont | 25 January 2016, 09:02:46 UTC | sql/upgrades/046: add 045→046 migration | 25 January 2016, 14:30:20 UTC |
e8154c7 | Nicolas Dandrimont | 22 January 2016, 17:29:57 UTC | sql: make occurrences and revisions use type agnostic targets This is a first step towards T78 | 25 January 2016, 09:03:21 UTC |
7f6b657 | Nicolas Dandrimont | 25 January 2016, 09:02:04 UTC | sql/upgrades/045: add 044→045 migration | 25 January 2016, 09:03:21 UTC |
8deaeb3 | Nicolas Dandrimont | 22 January 2016, 17:26:48 UTC | sql/func: account for directory object_id in swh_directory_get | 22 January 2016, 17:26:48 UTC |
8edb796 | Nicolas Dandrimont | 22 January 2016, 14:15:10 UTC | sql/upgrades/044: Add 043→044 upgrade script | 22 January 2016, 14:15:10 UTC |
3a4d887 | Nicolas Dandrimont | 22 January 2016, 13:25:43 UTC | sql/schema: Add object ids to our object types | 22 January 2016, 13:36:24 UTC |
bc0d1d9 | Antoine R. Dumont (@ardumont) | 20 January 2016, 15:02:34 UTC | Deal nicely with communication downtime between clients and storage Related T269 | 20 January 2016, 15:02:34 UTC |
957a780 | Antoine R. Dumont (@ardumont) | 20 January 2016, 14:13:16 UTC | Wrap miscellaneous psycopg2 failures for client in StorageBackendError Miscellaneous failures: - connect to backend into swh.storage.exc.BackendNotAvailableError - erroneous queries - ... | 20 January 2016, 14:29:00 UTC |
58903e5 | Antoine R. Dumont (@ardumont) | 20 January 2016, 11:08:01 UTC | Open occurrence_get(origin_id) to retrieve latest occurrences per origin Related T51 | 20 January 2016, 11:14:08 UTC |
bc23eb9 | Antoine R. Dumont (@ardumont) | 20 January 2016, 10:14:20 UTC | sql/upgrades/043: add 042→043 upgrade script Related T51 | 20 January 2016, 11:08:38 UTC |
d05afde | Antoine R. Dumont (@ardumont) | 20 January 2016, 09:59:52 UTC | revision_log from multiple root revisions Related T51 | 20 January 2016, 11:08:35 UTC |
3a40f00 | Antoine R. Dumont (@ardumont) | 19 January 2016, 11:05:35 UTC | sql/upgrades/042: add 041→042 upgrade script Related T51 | 19 January 2016, 11:07:36 UTC |
f54fd8d | Antoine R. Dumont (@ardumont) | 19 January 2016, 11:03:24 UTC | Open release_get_by to retrieve a release by origin. Related T51 | 19 January 2016, 11:07:31 UTC |
5dc4244 | Antoine R. Dumont (@ardumont) | 19 January 2016, 10:46:44 UTC | revision_get_by: branch name filtering is optional Related T51 | 19 January 2016, 11:07:17 UTC |
7e623c8 | Antoine R. Dumont (@ardumont) | 18 January 2016, 11:27:12 UTC | sql/upgrades/040: add 040→041 upgrade script Close T264 | 18 January 2016, 11:34:03 UTC |
7e2dcbc | Antoine R. Dumont (@ardumont) | 18 January 2016, 11:25:06 UTC | Open directory_get to retrieve information on directory by id Related T264 | 18 January 2016, 11:34:03 UTC |
ac380c9 | Antoine R. Dumont (@ardumont) | 18 January 2016, 10:36:21 UTC | Rename directory_get to directory_ls Related T264 | 18 January 2016, 11:16:15 UTC |
ebe3a29 | Antoine R. Dumont (@ardumont) | 15 January 2016, 14:46:59 UTC | sql/upgrades/040: add 039→040 upgrade script | 15 January 2016, 14:46:59 UTC |
9fe94d3 | Antoine R. Dumont (@ardumont) | 15 January 2016, 14:45:28 UTC | Open entity_get api Related T247 | 15 January 2016, 14:46:52 UTC |
fd77a89 | Antoine R. Dumont (@ardumont) | 15 January 2016, 10:34:22 UTC | sql/upgrades/039: add 038→039 upgrade script - Improve query to lookup a dir_entry by its path | 15 January 2016, 11:39:12 UTC |
3f752fc | Nicolas Dandrimont | 15 January 2016, 09:41:46 UTC | sql/upgrades/038: add 037→038 upgrade script | 15 January 2016, 09:44:08 UTC |
decc15a | Nicolas Dandrimont | 15 January 2016, 09:30:01 UTC | sql/swh-schema: add index on origin(type, url) | 15 January 2016, 09:31:58 UTC |
d91f6dc | Nicolas Dandrimont | 13 January 2016, 18:14:36 UTC | sql/swh-func: simply use a subquery to get commit parents | 15 January 2016, 09:26:24 UTC |
846bef2 | Nicolas Dandrimont | 15 January 2016, 09:21:17 UTC | sql/swh-func: get_revision_by should only return one revision When all filters are populated, there should be one single revision returned. We use the SQL range inclusion operator instead of simple comparisons for validity. | 15 January 2016, 09:25:30 UTC |
9060aa7 | Antoine R. Dumont (@ardumont) | 14 January 2016, 11:59:07 UTC | Open directory_entry_get_by_path api | 14 January 2016, 15:09:56 UTC |
91c1228 | Antoine R. Dumont (@ardumont) | 13 January 2016, 13:09:10 UTC | Fix upgrade script 036 | 13 January 2016, 13:09:10 UTC |
75e9153 | Antoine R. Dumont (@ardumont) | 12 January 2016, 15:00:18 UTC | Update validity timestamp filtering Related T260 | 12 January 2016, 15:00:18 UTC |
6663c34 | Antoine R. Dumont (@ardumont) | 11 January 2016, 15:35:50 UTC | sql/upgrades/036: add 035→036 upgrade script Related T259 | 11 January 2016, 15:45:33 UTC |
32d0486 | Antoine R. Dumont (@ardumont) | 11 January 2016, 14:16:58 UTC | Open revision_get_by to retrieve a revision by occurrence criterion filtering + coverage Related T259 | 11 January 2016, 15:33:05 UTC |
027b0d5 | Stefano Zacchiroli | 08 January 2016, 17:18:38 UTC | bin/swh-objstorage-fsck: port to recent swh-storage changes in particular: - use objstorage.Error top-level exception instead of gone ObjStorageError - do not iterate using os.walk(), breaking encapsulation, but rely on objstorage __iter__ instead, which is also hex/bytes-safe | 08 January 2016, 17:18:38 UTC |
95ff2c8 | Nicolas Dandrimont | 06 January 2016, 15:14:14 UTC | sql/upgrades/035: add 034→035 upgrade script | 06 January 2016, 15:14:14 UTC |
6f26754 | Nicolas Dandrimont | 06 January 2016, 15:02:48 UTC | sql/swh-func: properly limit results in swh_revision_list* | 06 January 2016, 15:10:59 UTC |
9676aa9 | Nicolas Dandrimont | 06 January 2016, 14:12:32 UTC | sql/upgrades/034: properly order function modifications | 06 January 2016, 14:12:32 UTC |
e5deb9b | Nicolas Dandrimont | 06 January 2016, 14:07:56 UTC | sql/upgrades/034: add 033→034 upgrade script | 06 January 2016, 14:07:56 UTC |
a1ae552 | Nicolas Dandrimont | 06 January 2016, 13:56:09 UTC | revision_log: Implement a limit on the number of revisions listed This should help the API avoid error 500s on big revision lists. | 06 January 2016, 13:56:09 UTC |
f52e749 | Nicolas Dandrimont | 06 January 2016, 13:53:17 UTC | sql: Return the parents in the revision "shortlog" | 06 January 2016, 13:55:33 UTC |
d641722 | Antoine R. Dumont (@ardumont) | 05 January 2016, 14:24:27 UTC | Bump to version 033 | 05 January 2016, 14:24:27 UTC |
640e410 | Antoine R. Dumont (@ardumont) | 05 January 2016, 14:10:04 UTC | revision_log is now 'parents' aware Related to T248 | 05 January 2016, 14:10:04 UTC |
420047c | Antoine R. Dumont (@ardumont) | 05 January 2016, 13:34:12 UTC | Revert "List direct parents and children sha1s from a given revision" This reverts commit cc63346c3f594f64d73195f19bb1affeaa6016d7. | 05 January 2016, 13:34:12 UTC |
cc63346 | Antoine R. Dumont (@ardumont) | 04 January 2016, 15:42:16 UTC | List direct parents and children sha1s from a given revision T248 | 05 January 2016, 09:00:20 UTC |
e28b63a | Stefano Zacchiroli | 04 January 2016, 11:47:18 UTC | doc/: check-in archiver blueprint | 04 January 2016, 11:47:18 UTC |
14276dc | Antoine R. Dumont (@ardumont) | 16 December 2015, 13:44:56 UTC | Fix relative path import for remote storage. | 16 December 2015, 13:44:56 UTC |
1938416 | Nicolas Dandrimont | 16 December 2015, 10:20:38 UTC | swh.storage: Add a get_storage function to load either storage implementation | 16 December 2015, 10:20:38 UTC |
d445d24 | Antoine R. Dumont (@ardumont) | 09 December 2015, 14:24:41 UTC | Protect against overflow, wrapped in ValueError for client | 09 December 2015, 14:31:32 UTC |
691e24a | Nicolas Dandrimont | 07 December 2015, 11:51:36 UTC | converters: allow numeric timestamps with offset | 07 December 2015, 11:53:01 UTC |
e60347d | Nicolas Dandrimont | 07 December 2015, 11:51:15 UTC | swh.storage.storage: don't mutate entries | 07 December 2015, 11:53:01 UTC |
10716a0 | Antoine R. Dumont (@ardumont) | 04 December 2015, 16:02:25 UTC | Remove missing debug statement | 04 December 2015, 16:02:25 UTC |
3dffac0 | Antoine R. Dumont (@ardumont) | 04 December 2015, 15:32:06 UTC | Open revision_log api T207 | 04 December 2015, 15:32:06 UTC |
de36fe0 | Nicolas Dandrimont | 30 November 2015, 17:13:38 UTC | swh.storage: new release schema | 30 November 2015, 17:13:38 UTC |
9c84e33 | Nicolas Dandrimont | 30 November 2015, 17:12:57 UTC | swh.storage.storage: rationalize imports | 30 November 2015, 17:12:57 UTC |
ab87b92 | Nicolas Dandrimont | 30 November 2015, 16:38:21 UTC | swh.storage: use new schema for revisions | 30 November 2015, 16:38:21 UTC |
a499554 | Antoine R. Dumont (@ardumont) | 27 November 2015, 12:28:35 UTC | sql/upgrades/032: add 030 → 032 upgrade script | 27 November 2015, 12:28:35 UTC |
91a65ab | Antoine R. Dumont (@ardumont) | 27 November 2015, 10:48:36 UTC | Increment db Missing step from commit f23ff18 | 27 November 2015, 10:48:36 UTC |
c503fac | Antoine R. Dumont (@ardumont) | 27 November 2015, 09:56:18 UTC | Unify content_find api to return dict instead of tuples Related: T209 | 27 November 2015, 10:16:12 UTC |
d303347 | Antoine R. Dumont (@ardumont) | 27 November 2015, 09:30:09 UTC | Remove redundant content_exist and use content_find which returns None if not found. (Only swh-web-ui's depends on it atm) Related T209 | 27 November 2015, 10:16:12 UTC |