)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"f702b236049c7e87e06cae840f24798813547f7b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"78c40de3_378459ac","updated":"2026-07-15 14:56:15.000000000","message":"I want a refresher on why the null namespace doesn\u0027t cut it. I sure there *is* a reason, I just don\u0027t remember it...","commit_id":"5d3df8ffb6490ff6364e2a4cbaf6c73d5934ce05"}],"swift/container/backend.py":[{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"32270445b4bf51cc7a151d9802422e2b6715d76e","unresolved":true,"context_lines":[{"line_number":1148,"context_line":"        elif include_deleted is False:"},{"line_number":1149,"context_line":"            deleted_arg \u003d \u0027 \u003d 0\u0027"},{"line_number":1150,"context_line":"        else:"},{"line_number":1151,"context_line":"            deleted_arg \u003d \u0027 in (0, 1)\u0027"},{"line_number":1152,"context_line":""},{"line_number":1153,"context_line":"        if transform_func is None:"},{"line_number":1154,"context_line":"            transform_func \u003d self._transform_record"}],"source_content_type":"text/x-python","patch_set":6,"id":"60144a4f_0c1fec4a","side":"PARENT","line":1151,"updated":"2026-07-15 15:09:46.000000000","message":"Oh, also: this has me a little worried about upgrade issues when we finally add a new state. Specifically, during a rolling upgrade you could have\n\n1. upgraded node A starts writing new rows with state\u003d2\n2. A rsyncs DB to un-upgraded node B\n3. sharding gets enabled\n4. sharder on B skips all state\u003d2 rows as it\u0027s cleaving and deletes old DB","commit_id":"a991fdf18b15af3835ccc8abcfce2bd8cb862ffe"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"f702b236049c7e87e06cae840f24798813547f7b","unresolved":true,"context_lines":[{"line_number":82,"context_line":"\u0027\u0027\u0027"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"# note: sqlite booleans are in fact integer 0 or 1, so in the following"},{"line_number":85,"context_line":"# statement (new.deleted \u003d\u003d 0) is an int with value 0 or 1."},{"line_number":86,"context_line":"POLICY_STAT_TRIGGER_SCRIPT \u003d \u0027\u0027\u0027"},{"line_number":87,"context_line":"    CREATE TRIGGER object_insert_policy_stat AFTER INSERT ON object"},{"line_number":88,"context_line":"    BEGIN"}],"source_content_type":"text/x-python","patch_set":6,"id":"d13804a8_03a7c38a","line":85,"updated":"2026-07-15 14:56:15.000000000","message":"This is only going to work for newly-created containers, right? Do we have any guard against having `deleted` values not in {0, 1} for old containers? Or is there going to be some plan for migrating the triggers?","commit_id":"5d3df8ffb6490ff6364e2a4cbaf6c73d5934ce05"}]}
