)]}'
{"designate/sqlalchemy/base.py":[{"author":{"_account_id":15452,"name":"Rahman Syed","email":"rahman.syed@gmail.com","username":"rahmansyed"},"change_message_id":"b5a68339c4cde97e3e1735c2c59db81007bcdaf3","unresolved":false,"context_lines":[{"line_number":311,"context_line":"        except ValueError as value_error:"},{"line_number":312,"context_line":"            raise exceptions.ValueError(six.text_type(value_error))"},{"line_number":313,"context_line":""},{"line_number":314,"context_line":"        if apply_tenant_criteria:"},{"line_number":315,"context_line":"            inner_q \u003d self._apply_tenant_criteria(context, recordsets_table,"},{"line_number":316,"context_line":"                                                  inner_q)"},{"line_number":317,"context_line":"            count_q \u003d self._apply_tenant_criteria(context, recordsets_table,"}],"source_content_type":"text/x-python","patch_set":8,"id":"1a122d0e_916ca7d1","line":314,"updated":"2016-04-19 15:18:49.000000000","message":"Was this simply missing from the previous version of this method? Do you know if this condition is already covered by tests?","commit_id":"474d8d10a450c813f5b8af93ec5f8ac9f8f903e0"},{"author":{"_account_id":6662,"name":"James Li","email":"yueli.m@gmail.com","username":"james-li-3"},"change_message_id":"b8d4325489d8388ffd870f8b74e3e5faf07f4eac","unresolved":false,"context_lines":[{"line_number":311,"context_line":"        except ValueError as value_error:"},{"line_number":312,"context_line":"            raise exceptions.ValueError(six.text_type(value_error))"},{"line_number":313,"context_line":""},{"line_number":314,"context_line":"        if apply_tenant_criteria:"},{"line_number":315,"context_line":"            inner_q \u003d self._apply_tenant_criteria(context, recordsets_table,"},{"line_number":316,"context_line":"                                                  inner_q)"},{"line_number":317,"context_line":"            count_q \u003d self._apply_tenant_criteria(context, recordsets_table,"}],"source_content_type":"text/x-python","patch_set":8,"id":"1a122d0e_dedc6775","line":314,"in_reply_to":"1a122d0e_916ca7d1","updated":"2016-04-19 16:28:17.000000000","message":"missing this if statement previously is OK because we only retrieve recordsets from a single specific zone via /v2/zones/{zid}/recordsets, and we have https://github.com/openstack/designate/blob/master/designate/api/v2/controllers/recordsets.py#L57\n\nBut I applied tenant criteria here to make this method work for retrieving recordsets for all the zones under a tenant.","commit_id":"474d8d10a450c813f5b8af93ec5f8ac9f8f903e0"}],"designate/storage/impl_sqlalchemy/__init__.py":[{"author":{"_account_id":8174,"name":"Tim Simmons","email":"tim.r.simmons@gmail.com","username":"TimSimmons"},"change_message_id":"5eac551609dec707cb09bf967948408f302e2da9","unresolved":false,"context_lines":[{"line_number":626,"context_line":"        inner_q \u003d select([tables.recordsets.c.id]).select_from(rzjoin).\\"},{"line_number":627,"context_line":"            where(tables.zones.c.deleted \u003d\u003d \u00270\u0027)"},{"line_number":628,"context_line":"        count_q \u003d select([func.count(distinct(tables.recordsets.c.id))]).\\"},{"line_number":629,"context_line":"            select_from(rzjoin).where(tables.zones.c.deleted \u003d\u003d \u00270\u0027)"},{"line_number":630,"context_line":""},{"line_number":631,"context_line":"        if marker is not None:"},{"line_number":632,"context_line":"            marker \u003d utils.check_marker(tables.recordsets, marker,"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a122d0e_029a4263","line":629,"updated":"2016-04-18 15:20:04.000000000","message":"Perhaps I\u0027m wrong, but I thought Designate deleted recordsets for zones that have been deleted.\n\nIf so, it looks like you could save a join here?","commit_id":"97bdcf6b87629a1840a4bf8f882741cdf8ab6620"},{"author":{"_account_id":6662,"name":"James Li","email":"yueli.m@gmail.com","username":"james-li-3"},"change_message_id":"b7ffef5a61f596af184327bf38a1b7e23be2228a","unresolved":false,"context_lines":[{"line_number":626,"context_line":"        inner_q \u003d select([tables.recordsets.c.id]).select_from(rzjoin).\\"},{"line_number":627,"context_line":"            where(tables.zones.c.deleted \u003d\u003d \u00270\u0027)"},{"line_number":628,"context_line":"        count_q \u003d select([func.count(distinct(tables.recordsets.c.id))]).\\"},{"line_number":629,"context_line":"            select_from(rzjoin).where(tables.zones.c.deleted \u003d\u003d \u00270\u0027)"},{"line_number":630,"context_line":""},{"line_number":631,"context_line":"        if marker is not None:"},{"line_number":632,"context_line":"            marker \u003d utils.check_marker(tables.recordsets, marker,"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a122d0e_eee8c3b6","line":629,"in_reply_to":"1a122d0e_029a4263","updated":"2016-04-18 20:53:26.000000000","message":"@Tim Simmons we cannot save a join here. Designate never delete recordsets in DB after deleting a zone.\n\nsee:\nhttps://gist.github.com/jamesyli/63baf2a96ed12c887dc8bc9b1d703810","commit_id":"97bdcf6b87629a1840a4bf8f882741cdf8ab6620"},{"author":{"_account_id":15171,"name":"Eric Larson","email":"eric.larson@rackspace.com","username":"elarson"},"change_message_id":"cfd53f71f6248b85fd8fe758509b05a8ec403952","unresolved":false,"context_lines":[{"line_number":626,"context_line":"        inner_q \u003d select([tables.recordsets.c.id]).select_from(rzjoin).\\"},{"line_number":627,"context_line":"            where(tables.zones.c.deleted \u003d\u003d \u00270\u0027)"},{"line_number":628,"context_line":"        count_q \u003d select([func.count(distinct(tables.recordsets.c.id))]).\\"},{"line_number":629,"context_line":"            select_from(rzjoin).where(tables.zones.c.deleted \u003d\u003d \u00270\u0027)"},{"line_number":630,"context_line":""},{"line_number":631,"context_line":"        if marker is not None:"},{"line_number":632,"context_line":"            marker \u003d utils.check_marker(tables.recordsets, marker,"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a122d0e_360dff90","line":629,"in_reply_to":"1a122d0e_029a4263","updated":"2016-04-18 15:30:17.000000000","message":"I suspect that it is b/c it doesn\u0027t necessarily depend on a particular tenant (ie apply_tenant_critera\u003dTrue). James?","commit_id":"97bdcf6b87629a1840a4bf8f882741cdf8ab6620"},{"author":{"_account_id":11662,"name":"Paul Glass","email":"paul.glass@rackspace.com","username":"pglass"},"change_message_id":"86ae7a17650ced6875bf5fa010bd7daa6273a17d","unresolved":false,"context_lines":[{"line_number":626,"context_line":"        inner_q \u003d select([tables.recordsets.c.id]).select_from(rzjoin).\\"},{"line_number":627,"context_line":"            where(tables.zones.c.deleted \u003d\u003d \u00270\u0027)"},{"line_number":628,"context_line":"        count_q \u003d select([func.count(distinct(tables.recordsets.c.id))]).\\"},{"line_number":629,"context_line":"            select_from(rzjoin).where(tables.zones.c.deleted \u003d\u003d \u00270\u0027)"},{"line_number":630,"context_line":""},{"line_number":631,"context_line":"        if marker is not None:"},{"line_number":632,"context_line":"            marker \u003d utils.check_marker(tables.recordsets, marker,"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a122d0e_f91258b3","line":629,"in_reply_to":"1a122d0e_360dff90","updated":"2016-04-18 15:54:58.000000000","message":"If it\u0027s not obvious, then we should be cautious and leave this as-is. We can optimize it later if it becomes an issue.\n\nAnd if it is the case that soft-deleting a zone will hard-delete the recordsets, then it\u0027s inconsistent behavior. If that behavior ever changes, then all the code that assumes hard-deletion of recordsets will break.","commit_id":"97bdcf6b87629a1840a4bf8f882741cdf8ab6620"},{"author":{"_account_id":15452,"name":"Rahman Syed","email":"rahman.syed@gmail.com","username":"rahmansyed"},"change_message_id":"b5a68339c4cde97e3e1735c2c59db81007bcdaf3","unresolved":false,"context_lines":[{"line_number":635,"context_line":"                    tables.records, limit\u003dlimit, marker\u003dmarker,"},{"line_number":636,"context_line":"                    sort_key\u003dsort_key, sort_dir\u003dsort_dir)"},{"line_number":637,"context_line":""},{"line_number":638,"context_line":"            recordsets.total_count \u003d tc"},{"line_number":639,"context_line":""},{"line_number":640,"context_line":"        return recordsets"},{"line_number":641,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"1a122d0e_71a8ebdb","line":638,"updated":"2016-04-19 15:18:49.000000000","message":"Minor question: what was the reason you decided to return tc separately, rather than setting total_count inside the _find_recordsets_with_records method?\n\nIf the convention is to include the total_count in a RecordSetList object, then you may as well just set it inside the method, no?","commit_id":"474d8d10a450c813f5b8af93ec5f8ac9f8f903e0"},{"author":{"_account_id":6662,"name":"James Li","email":"yueli.m@gmail.com","username":"james-li-3"},"change_message_id":"b8d4325489d8388ffd870f8b74e3e5faf07f4eac","unresolved":false,"context_lines":[{"line_number":635,"context_line":"                    tables.records, limit\u003dlimit, marker\u003dmarker,"},{"line_number":636,"context_line":"                    sort_key\u003dsort_key, sort_dir\u003dsort_dir)"},{"line_number":637,"context_line":""},{"line_number":638,"context_line":"            recordsets.total_count \u003d tc"},{"line_number":639,"context_line":""},{"line_number":640,"context_line":"        return recordsets"},{"line_number":641,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"1a122d0e_9eeaefaa","line":638,"in_reply_to":"1a122d0e_71a8ebdb","updated":"2016-04-19 16:28:17.000000000","message":"I thought about that, either one works. Maybe the reason was to keep that method one-line shorter as it is already big :)","commit_id":"474d8d10a450c813f5b8af93ec5f8ac9f8f903e0"}],"functionaltests/api/v2/test_recordset.py":[{"author":{"_account_id":15171,"name":"Eric Larson","email":"eric.larson@rackspace.com","username":"elarson"},"change_message_id":"193c75b67190854841e39436c443b6b7da6c2e93","unresolved":false,"context_lines":[{"line_number":95,"context_line":"                                                    ip\u003d\u002710.0.1.{}\u0027.format(i))"},{"line_number":96,"context_line":"            self.useFixture(RecordsetFixture(self.zone.id, post_model))"},{"line_number":97,"context_line":""},{"line_number":98,"context_line":"        filters \u003d {\"data\": \"10.*\", \"limit\": 2}"},{"line_number":99,"context_line":"        resp, model \u003d RecordsetClient.as_user(\u0027default\u0027) \\"},{"line_number":100,"context_line":"            .list_recordsets(self.zone.id, filters\u003dfilters)"},{"line_number":101,"context_line":"        self.assertEqual(200, resp.status)"}],"source_content_type":"text/x-python","patch_set":7,"id":"1a122d0e_c0764fd6","line":98,"updated":"2016-04-19 14:45:59.000000000","message":"It seems worthwhile to add a comment to reflect the limit introduces pagination, hence proving the bug is squashed! I think that also sorts out Graham\u0027s comment regarding ensuring we don\u0027t mess it up again ;)","commit_id":"3b05693201d81d8dbc4eec501a783ed76739603e"},{"author":{"_account_id":6662,"name":"James Li","email":"yueli.m@gmail.com","username":"james-li-3"},"change_message_id":"e7976fb5842f9a41a9be01f9ef3f1ccad1cb91f8","unresolved":false,"context_lines":[{"line_number":95,"context_line":"                                                    ip\u003d\u002710.0.1.{}\u0027.format(i))"},{"line_number":96,"context_line":"            self.useFixture(RecordsetFixture(self.zone.id, post_model))"},{"line_number":97,"context_line":""},{"line_number":98,"context_line":"        filters \u003d {\"data\": \"10.*\", \"limit\": 2}"},{"line_number":99,"context_line":"        resp, model \u003d RecordsetClient.as_user(\u0027default\u0027) \\"},{"line_number":100,"context_line":"            .list_recordsets(self.zone.id, filters\u003dfilters)"},{"line_number":101,"context_line":"        self.assertEqual(200, resp.status)"}],"source_content_type":"text/x-python","patch_set":7,"id":"1a122d0e_b676f9d4","line":98,"in_reply_to":"1a122d0e_c0764fd6","updated":"2016-04-19 15:15:28.000000000","message":"Done","commit_id":"3b05693201d81d8dbc4eec501a783ed76739603e"}]}
