)]}'
{"doc/source/contributor/filtering-responsibilities.rst":[{"author":{"_account_id":8482,"name":"Colleen Murphy","email":"colleen@gazlene.net","username":"krinkle"},"change_message_id":"d0247879548d08b939ece777bc86f530d4a93854","unresolved":false,"context_lines":[{"line_number":15,"context_line":"      under the License."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":18,"context_line":"Filtering responsibilities between API and drivers"},{"line_number":19,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Keystone supports the specification of filtering on list queries as part of the"}],"source_content_type":"text/x-rst","patch_set":3,"id":"ff570b3c_858f0c22","line":18,"range":{"start_line":18,"start_character":35,"end_line":18,"end_character":38},"updated":"2020-05-12 22:55:38.000000000","message":"I would maybe say \"API resources\" or something else. \"API\" is very generic, it means the REST interface, not the implementation of the interface.","commit_id":"10d597528611f7803ea915d938a1d3906b4dd36f"},{"author":{"_account_id":27621,"name":"Vishakha Agarwal","email":"agarwalvishakha18@gmail.com","username":"Vishakha"},"change_message_id":"60f52ff3c550ed563234016d9478c177703a54bf","unresolved":false,"context_lines":[{"line_number":15,"context_line":"      under the License."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":18,"context_line":"Filtering responsibilities between API and drivers"},{"line_number":19,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Keystone supports the specification of filtering on list queries as part of the"}],"source_content_type":"text/x-rst","patch_set":3,"id":"ff570b3c_4cbf7f60","line":18,"range":{"start_line":18,"start_character":35,"end_line":18,"end_character":38},"in_reply_to":"ff570b3c_858f0c22","updated":"2020-05-18 11:13:27.000000000","message":"I think API resource is good to use","commit_id":"10d597528611f7803ea915d938a1d3906b4dd36f"},{"author":{"_account_id":8482,"name":"Colleen Murphy","email":"colleen@gazlene.net","username":"krinkle"},"change_message_id":"d0247879548d08b939ece777bc86f530d4a93854","unresolved":false,"context_lines":[{"line_number":16,"context_line":""},{"line_number":17,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":18,"context_line":"Filtering responsibilities between API and drivers"},{"line_number":19,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Keystone supports the specification of filtering on list queries as part of the"},{"line_number":22,"context_line":"v3 identity API. By default these queries are satisfied in the API when it calls"}],"source_content_type":"text/x-rst","patch_set":3,"id":"ff570b3c_6508f8d8","line":19,"updated":"2020-05-12 22:55:38.000000000","message":"Underline and overline are mismatched from the header now","commit_id":"10d597528611f7803ea915d938a1d3906b4dd36f"},{"author":{"_account_id":27621,"name":"Vishakha Agarwal","email":"agarwalvishakha18@gmail.com","username":"Vishakha"},"change_message_id":"60f52ff3c550ed563234016d9478c177703a54bf","unresolved":false,"context_lines":[{"line_number":16,"context_line":""},{"line_number":17,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":18,"context_line":"Filtering responsibilities between API and drivers"},{"line_number":19,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Keystone supports the specification of filtering on list queries as part of the"},{"line_number":22,"context_line":"v3 identity API. By default these queries are satisfied in the API when it calls"}],"source_content_type":"text/x-rst","patch_set":3,"id":"ff570b3c_acaf3b28","line":19,"in_reply_to":"ff570b3c_6508f8d8","updated":"2020-05-18 11:13:27.000000000","message":"Done","commit_id":"10d597528611f7803ea915d938a1d3906b4dd36f"},{"author":{"_account_id":8482,"name":"Colleen Murphy","email":"colleen@gazlene.net","username":"krinkle"},"change_message_id":"d0247879548d08b939ece777bc86f530d4a93854","unresolved":false,"context_lines":[{"line_number":19,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Keystone supports the specification of filtering on list queries as part of the"},{"line_number":22,"context_line":"v3 identity API. By default these queries are satisfied in the API when it calls"},{"line_number":23,"context_line":"the ``wrap_collection`` method at the end of a ``get`` method.  However, to"},{"line_number":24,"context_line":"enable optimum performance, any driver can implement some or all of the specified"},{"line_number":25,"context_line":"filters (for example, by adding filtering to the generated SQL statements to"}],"source_content_type":"text/x-rst","patch_set":3,"id":"ff570b3c_a59cd05d","line":22,"range":{"start_line":22,"start_character":63,"end_line":22,"end_character":66},"updated":"2020-05-12 22:55:38.000000000","message":"\"API resource\" or \"Flask resource\"","commit_id":"10d597528611f7803ea915d938a1d3906b4dd36f"},{"author":{"_account_id":27621,"name":"Vishakha Agarwal","email":"agarwalvishakha18@gmail.com","username":"Vishakha"},"change_message_id":"60f52ff3c550ed563234016d9478c177703a54bf","unresolved":false,"context_lines":[{"line_number":19,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Keystone supports the specification of filtering on list queries as part of the"},{"line_number":22,"context_line":"v3 identity API. By default these queries are satisfied in the API when it calls"},{"line_number":23,"context_line":"the ``wrap_collection`` method at the end of a ``get`` method.  However, to"},{"line_number":24,"context_line":"enable optimum performance, any driver can implement some or all of the specified"},{"line_number":25,"context_line":"filters (for example, by adding filtering to the generated SQL statements to"}],"source_content_type":"text/x-rst","patch_set":3,"id":"ff570b3c_ccb26f94","line":22,"range":{"start_line":22,"start_character":63,"end_line":22,"end_character":66},"in_reply_to":"ff570b3c_a59cd05d","updated":"2020-05-18 11:13:27.000000000","message":"Done","commit_id":"10d597528611f7803ea915d938a1d3906b4dd36f"},{"author":{"_account_id":8482,"name":"Colleen Murphy","email":"colleen@gazlene.net","username":"krinkle"},"change_message_id":"d0247879548d08b939ece777bc86f530d4a93854","unresolved":false,"context_lines":[{"line_number":25,"context_line":"filters (for example, by adding filtering to the generated SQL statements to"},{"line_number":26,"context_line":"generate the list)."},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"The communication of the filter details between API and its drivers is handled by"},{"line_number":29,"context_line":"the passing of a reference to a Hints object, which is a list of dicts describing"},{"line_number":30,"context_line":"the filters. A driver that satisfies a filter must delete the filter from the Hints"},{"line_number":31,"context_line":"object so that when it is returned to the API, it knows to only execute any"}],"source_content_type":"text/x-rst","patch_set":3,"id":"ff570b3c_45adf486","line":28,"range":{"start_line":28,"start_character":48,"end_line":28,"end_character":51},"updated":"2020-05-12 22:55:38.000000000","message":"\"the API\" or \"the API resource\"","commit_id":"10d597528611f7803ea915d938a1d3906b4dd36f"},{"author":{"_account_id":27621,"name":"Vishakha Agarwal","email":"agarwalvishakha18@gmail.com","username":"Vishakha"},"change_message_id":"60f52ff3c550ed563234016d9478c177703a54bf","unresolved":false,"context_lines":[{"line_number":25,"context_line":"filters (for example, by adding filtering to the generated SQL statements to"},{"line_number":26,"context_line":"generate the list)."},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"The communication of the filter details between API and its drivers is handled by"},{"line_number":29,"context_line":"the passing of a reference to a Hints object, which is a list of dicts describing"},{"line_number":30,"context_line":"the filters. A driver that satisfies a filter must delete the filter from the Hints"},{"line_number":31,"context_line":"object so that when it is returned to the API, it knows to only execute any"}],"source_content_type":"text/x-rst","patch_set":3,"id":"ff570b3c_0ca90723","line":28,"range":{"start_line":28,"start_character":48,"end_line":28,"end_character":51},"in_reply_to":"ff570b3c_45adf486","updated":"2020-05-18 11:13:27.000000000","message":"Done","commit_id":"10d597528611f7803ea915d938a1d3906b4dd36f"},{"author":{"_account_id":8482,"name":"Colleen Murphy","email":"colleen@gazlene.net","username":"krinkle"},"change_message_id":"d0247879548d08b939ece777bc86f530d4a93854","unresolved":false,"context_lines":[{"line_number":31,"context_line":"object so that when it is returned to the API, it knows to only execute any"},{"line_number":32,"context_line":"unsatisfied filters."},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"The contract for a driver for ``get`` method is therefore:"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"* It MUST return a list of entities of the specified type"},{"line_number":37,"context_line":"* It MAY either just return all such entities, or alternatively reduce the"}],"source_content_type":"text/x-rst","patch_set":3,"id":"ff570b3c_454974ce","line":34,"range":{"start_line":34,"start_character":30,"end_line":34,"end_character":37},"updated":"2020-05-12 22:55:38.000000000","message":"Before flask, the list methods of the controller and driver were usually named the same thing, for example ``list_users`` was used both in keystone/identity/controllers.py and keystone/identity/backend/sql.py. On this line, ``list_{entity}`` wasn\u0027t referring to the controller but to the driver. The drivers don\u0027t use methods like get(), they still use ``list_{entity}``. So I wouldn\u0027t change this line.","commit_id":"10d597528611f7803ea915d938a1d3906b4dd36f"},{"author":{"_account_id":27621,"name":"Vishakha Agarwal","email":"agarwalvishakha18@gmail.com","username":"Vishakha"},"change_message_id":"60f52ff3c550ed563234016d9478c177703a54bf","unresolved":false,"context_lines":[{"line_number":31,"context_line":"object so that when it is returned to the API, it knows to only execute any"},{"line_number":32,"context_line":"unsatisfied filters."},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"The contract for a driver for ``get`` method is therefore:"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"* It MUST return a list of entities of the specified type"},{"line_number":37,"context_line":"* It MAY either just return all such entities, or alternatively reduce the"}],"source_content_type":"text/x-rst","patch_set":3,"id":"ff570b3c_6c6fe3fb","line":34,"range":{"start_line":34,"start_character":30,"end_line":34,"end_character":37},"in_reply_to":"ff570b3c_454974ce","updated":"2020-05-18 11:13:27.000000000","message":"Thanks for the clarification here. Done","commit_id":"10d597528611f7803ea915d938a1d3906b4dd36f"}],"doc/source/contributor/list-truncation.rst":[{"author":{"_account_id":8482,"name":"Colleen Murphy","email":"colleen@gazlene.net","username":"krinkle"},"change_message_id":"d0247879548d08b939ece777bc86f530d4a93854","unresolved":false,"context_lines":[{"line_number":19,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Keystone supports the ability for a deployment to restrict the number of"},{"line_number":22,"context_line":"entries returned from ``get`` method, typically to prevent poorly"},{"line_number":23,"context_line":"formed searches (e.g. without sufficient filters) from becoming a performance"},{"line_number":24,"context_line":"issue."},{"line_number":25,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"ff570b3c_e5224801","line":22,"range":{"start_line":22,"start_character":22,"end_line":22,"end_character":36},"updated":"2020-05-12 22:55:38.000000000","message":"It\u0027s unclear whether the original doc meant this to mean in the driver or controller, let\u0027s just say \"list operations\"","commit_id":"10d597528611f7803ea915d938a1d3906b4dd36f"},{"author":{"_account_id":8482,"name":"Colleen Murphy","email":"colleen@gazlene.net","username":"krinkle"},"change_message_id":"d0247879548d08b939ece777bc86f530d4a93854","unresolved":false,"context_lines":[{"line_number":24,"context_line":"issue."},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"These limits are set in the configuration file, either for a specific driver or"},{"line_number":27,"context_line":"across all drivers. A global limit is considered from configuration in case no"},{"line_number":28,"context_line":"limit is set for specific driver. These limits are read at the Manager level and"},{"line_number":29,"context_line":"passed into individual drivers as part of the Hints list object. A driver should try and"},{"line_number":30,"context_line":"honor any such limit if possible, but if it is unable to do so then it may"}],"source_content_type":"text/x-rst","patch_set":3,"id":"ff570b3c_4577b403","line":27,"range":{"start_line":27,"start_character":22,"end_line":27,"end_character":34},"updated":"2020-05-12 22:55:38.000000000","message":"If you\u0027re referring to ``[DEFAULT]/list_limit`` then mention that","commit_id":"10d597528611f7803ea915d938a1d3906b4dd36f"},{"author":{"_account_id":8482,"name":"Colleen Murphy","email":"colleen@gazlene.net","username":"krinkle"},"change_message_id":"9608881e0fae338674ceb6c7f3bfa7d96378ef5d","unresolved":false,"context_lines":[{"line_number":19,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Keystone supports the ability for a deployment to restrict the number of"},{"line_number":22,"context_line":"entries returned from ``get`` method, typically to prevent poorly"},{"line_number":23,"context_line":"formed searches (e.g. without sufficient filters) from becoming a performance"},{"line_number":24,"context_line":"issue."},{"line_number":25,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"ff570b3c_0fca7219","line":22,"range":{"start_line":22,"start_character":22,"end_line":22,"end_character":36},"updated":"2020-05-19 20:13:17.000000000","message":"see comment on ps3","commit_id":"0742a162e8b0ce3525ea529e8d3ab3b9b1976a5c"},{"author":{"_account_id":8482,"name":"Colleen Murphy","email":"colleen@gazlene.net","username":"krinkle"},"change_message_id":"9608881e0fae338674ceb6c7f3bfa7d96378ef5d","unresolved":false,"context_lines":[{"line_number":24,"context_line":"issue."},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"These limits are set in the configuration file, either for a specific driver or"},{"line_number":27,"context_line":"across all drivers. A global limit is considered from configuration in case no"},{"line_number":28,"context_line":"limit is set for specific driver. These limits are read at the Manager level and"},{"line_number":29,"context_line":"passed into individual drivers as part of the Hints list object. A driver should try and"},{"line_number":30,"context_line":"honor any such limit if possible, but if it is unable to do so then it may"}],"source_content_type":"text/x-rst","patch_set":5,"id":"ff570b3c_efcc5e36","line":27,"range":{"start_line":27,"start_character":22,"end_line":27,"end_character":35},"updated":"2020-05-19 20:13:17.000000000","message":"see comment on ps3","commit_id":"0742a162e8b0ce3525ea529e8d3ab3b9b1976a5c"}]}
