)]}'
{"specs/mitaka/approved/mistral-item-filtering.rst":[{"author":{"_account_id":8592,"name":"Anastasia Kuznetsova","email":"akuznetsova@mirantis.com","username":"nastya-kuz"},"change_message_id":"069a12813552f85cad2cd9215e1f4350c97bb6e1","unresolved":false,"context_lines":[{"line_number":5,"context_line":" http://creativecommons.org/licenses/by/3.0/legalcode"},{"line_number":6,"context_line":""},{"line_number":7,"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"},{"line_number":8,"context_line":"Item filtering in Mistral"},{"line_number":9,"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"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"https://blueprints.launchpad.net/mistral/+spec/mistral-items-filtering"}],"source_content_type":"text/x-rst","patch_set":1,"id":"ba63e191_56fff566","line":8,"updated":"2016-01-20 09:22:49.000000000","message":"Item -\u003e Items","commit_id":"36372f805769e8a21bea4803a667047020e1c286"},{"author":{"_account_id":18238,"name":"Hardik Parekh","email":"hardik.parekh047@gmail.com","username":"hparekh"},"change_message_id":"8e17e7df05a57ce7823fb763150e6b08a8b3ddd2","unresolved":false,"context_lines":[{"line_number":5,"context_line":" http://creativecommons.org/licenses/by/3.0/legalcode"},{"line_number":6,"context_line":""},{"line_number":7,"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"},{"line_number":8,"context_line":"Item filtering in Mistral"},{"line_number":9,"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"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"https://blueprints.launchpad.net/mistral/+spec/mistral-items-filtering"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a68dd71_6204f714","line":8,"in_reply_to":"ba63e191_56fff566","updated":"2016-01-21 00:20:52.000000000","message":"Done, Thanks","commit_id":"36372f805769e8a21bea4803a667047020e1c286"},{"author":{"_account_id":8592,"name":"Anastasia Kuznetsova","email":"akuznetsova@mirantis.com","username":"nastya-kuz"},"change_message_id":"069a12813552f85cad2cd9215e1f4350c97bb6e1","unresolved":false,"context_lines":[{"line_number":15,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"Currently, we don\u0027t have any support for items filtering. It is very difficult"},{"line_number":18,"context_line":"to find specific data from the list api. For example, we have a lot of"},{"line_number":19,"context_line":"\u0027standard\u0027 OpenStack actions. So it is not very convenient to look through all"},{"line_number":20,"context_line":"of them to find actions for nova"},{"line_number":21,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"ba63e191_ac2aa47c","line":18,"updated":"2016-01-20 09:22:49.000000000","message":"from the list api -\u003e in the list of returned items.","commit_id":"36372f805769e8a21bea4803a667047020e1c286"},{"author":{"_account_id":18238,"name":"Hardik Parekh","email":"hardik.parekh047@gmail.com","username":"hparekh"},"change_message_id":"8e17e7df05a57ce7823fb763150e6b08a8b3ddd2","unresolved":false,"context_lines":[{"line_number":15,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"Currently, we don\u0027t have any support for items filtering. It is very difficult"},{"line_number":18,"context_line":"to find specific data from the list api. For example, we have a lot of"},{"line_number":19,"context_line":"\u0027standard\u0027 OpenStack actions. So it is not very convenient to look through all"},{"line_number":20,"context_line":"of them to find actions for nova"},{"line_number":21,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a68dd71_c213635b","line":18,"in_reply_to":"ba63e191_ac2aa47c","updated":"2016-01-21 00:20:52.000000000","message":"Done, Thanks","commit_id":"36372f805769e8a21bea4803a667047020e1c286"},{"author":{"_account_id":8592,"name":"Anastasia Kuznetsova","email":"akuznetsova@mirantis.com","username":"nastya-kuz"},"change_message_id":"069a12813552f85cad2cd9215e1f4350c97bb6e1","unresolved":false,"context_lines":[{"line_number":17,"context_line":"Currently, we don\u0027t have any support for items filtering. It is very difficult"},{"line_number":18,"context_line":"to find specific data from the list api. For example, we have a lot of"},{"line_number":19,"context_line":"\u0027standard\u0027 OpenStack actions. So it is not very convenient to look through all"},{"line_number":20,"context_line":"of them to find actions for nova"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"Use Cases"},{"line_number":23,"context_line":"---------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"ba63e191_168bbdc4","line":20,"updated":"2016-01-20 09:22:49.000000000","message":"Dot at the end of the sentence is missed.","commit_id":"36372f805769e8a21bea4803a667047020e1c286"},{"author":{"_account_id":18238,"name":"Hardik Parekh","email":"hardik.parekh047@gmail.com","username":"hparekh"},"change_message_id":"8e17e7df05a57ce7823fb763150e6b08a8b3ddd2","unresolved":false,"context_lines":[{"line_number":17,"context_line":"Currently, we don\u0027t have any support for items filtering. It is very difficult"},{"line_number":18,"context_line":"to find specific data from the list api. For example, we have a lot of"},{"line_number":19,"context_line":"\u0027standard\u0027 OpenStack actions. So it is not very convenient to look through all"},{"line_number":20,"context_line":"of them to find actions for nova"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"Use Cases"},{"line_number":23,"context_line":"---------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a68dd71_e210e750","line":20,"in_reply_to":"ba63e191_168bbdc4","updated":"2016-01-21 00:20:52.000000000","message":"Done, Thanks","commit_id":"36372f805769e8a21bea4803a667047020e1c286"},{"author":{"_account_id":8592,"name":"Anastasia Kuznetsova","email":"akuznetsova@mirantis.com","username":"nastya-kuz"},"change_message_id":"069a12813552f85cad2cd9215e1f4350c97bb6e1","unresolved":false,"context_lines":[{"line_number":22,"context_line":"Use Cases"},{"line_number":23,"context_line":"---------"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"As a user, I want to see only filtered data."},{"line_number":26,"context_line":""},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"Proposed change"}],"source_content_type":"text/x-rst","patch_set":1,"id":"ba63e191_f654e921","line":25,"updated":"2016-01-20 09:22:49.000000000","message":"Probably it is better to say:\nAs a user, I want to have an ability to filter data.","commit_id":"36372f805769e8a21bea4803a667047020e1c286"},{"author":{"_account_id":18238,"name":"Hardik Parekh","email":"hardik.parekh047@gmail.com","username":"hparekh"},"change_message_id":"8e17e7df05a57ce7823fb763150e6b08a8b3ddd2","unresolved":false,"context_lines":[{"line_number":22,"context_line":"Use Cases"},{"line_number":23,"context_line":"---------"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"As a user, I want to see only filtered data."},{"line_number":26,"context_line":""},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"Proposed change"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a68dd71_622b9783","line":25,"in_reply_to":"ba63e191_f654e921","updated":"2016-01-21 00:20:52.000000000","message":"Done, Thanks","commit_id":"36372f805769e8a21bea4803a667047020e1c286"},{"author":{"_account_id":8592,"name":"Anastasia Kuznetsova","email":"akuznetsova@mirantis.com","username":"nastya-kuz"},"change_message_id":"069a12813552f85cad2cd9215e1f4350c97bb6e1","unresolved":false,"context_lines":[{"line_number":31,"context_line":"To solve this problem, I would like to add new parameter to endpoints. We"},{"line_number":32,"context_line":"already have \u0027marker\u0027, \u0027limit\u0027, \u0027sort_dirs\u0027 and \u0027sort_keys\u0027 parameters. New"},{"line_number":33,"context_line":"\u0027f\u0027 parameter will be added. I would like to use just \u0027f\u0027 instead of \u0027filter\u0027"},{"line_number":34,"context_line":"because user can filter as much column as he/she want, So it will increase"},{"line_number":35,"context_line":"url length unnecessarily if we use \u0027filter\u0027."},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"Alternatives"}],"source_content_type":"text/x-rst","patch_set":1,"id":"ba63e191_297466cd","line":34,"updated":"2016-01-20 09:22:49.000000000","message":"he/she want -\u003e he/she wants, so","commit_id":"36372f805769e8a21bea4803a667047020e1c286"},{"author":{"_account_id":18238,"name":"Hardik Parekh","email":"hardik.parekh047@gmail.com","username":"hparekh"},"change_message_id":"8e17e7df05a57ce7823fb763150e6b08a8b3ddd2","unresolved":false,"context_lines":[{"line_number":31,"context_line":"To solve this problem, I would like to add new parameter to endpoints. We"},{"line_number":32,"context_line":"already have \u0027marker\u0027, \u0027limit\u0027, \u0027sort_dirs\u0027 and \u0027sort_keys\u0027 parameters. New"},{"line_number":33,"context_line":"\u0027f\u0027 parameter will be added. I would like to use just \u0027f\u0027 instead of \u0027filter\u0027"},{"line_number":34,"context_line":"because user can filter as much column as he/she want, So it will increase"},{"line_number":35,"context_line":"url length unnecessarily if we use \u0027filter\u0027."},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"Alternatives"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a68dd71_02209b9a","line":34,"in_reply_to":"ba63e191_297466cd","updated":"2016-01-21 00:20:52.000000000","message":"Done, Thanks","commit_id":"36372f805769e8a21bea4803a667047020e1c286"},{"author":{"_account_id":8592,"name":"Anastasia Kuznetsova","email":"akuznetsova@mirantis.com","username":"nastya-kuz"},"change_message_id":"069a12813552f85cad2cd9215e1f4350c97bb6e1","unresolved":false,"context_lines":[{"line_number":57,"context_line":"End user impact"},{"line_number":58,"context_line":"---------------"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"User can add new oprtion in CLI. For instance ::"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"    mistral action-list --filter tag\u003dnova"},{"line_number":63,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"ba63e191_092722cb","line":60,"updated":"2016-01-20 09:22:49.000000000","message":"oprtion -\u003e option","commit_id":"36372f805769e8a21bea4803a667047020e1c286"},{"author":{"_account_id":18238,"name":"Hardik Parekh","email":"hardik.parekh047@gmail.com","username":"hparekh"},"change_message_id":"8e17e7df05a57ce7823fb763150e6b08a8b3ddd2","unresolved":false,"context_lines":[{"line_number":57,"context_line":"End user impact"},{"line_number":58,"context_line":"---------------"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"User can add new oprtion in CLI. For instance ::"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"    mistral action-list --filter tag\u003dnova"},{"line_number":63,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a68dd71_22259faa","line":60,"in_reply_to":"ba63e191_092722cb","updated":"2016-01-21 00:20:52.000000000","message":"Done, Thanks","commit_id":"36372f805769e8a21bea4803a667047020e1c286"},{"author":{"_account_id":8592,"name":"Anastasia Kuznetsova","email":"akuznetsova@mirantis.com","username":"nastya-kuz"},"change_message_id":"6f7369fb4835390dc5c9aa88db8a5e44e7af8f96","unresolved":false,"context_lines":[{"line_number":15,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"Currently, we don\u0027t have any support for items filtering. It is very difficult"},{"line_number":18,"context_line":"to find specific data n the list of returned items. For example, we have a lot"},{"line_number":19,"context_line":"of \u0027standard\u0027 OpenStack actions. So it is not very convenient to look through"},{"line_number":20,"context_line":"all of them to find actions for nova."},{"line_number":21,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"9a68dd71_0571dc75","line":18,"updated":"2016-01-25 11:27:00.000000000","message":"Typo: n -\u003e in","commit_id":"0ced5a972fa389bde9b495d0c434a1166819429e"},{"author":{"_account_id":18238,"name":"Hardik Parekh","email":"hardik.parekh047@gmail.com","username":"hparekh"},"change_message_id":"ee84c068b78bee6b9b87e25892f04d2fe04f14d1","unresolved":false,"context_lines":[{"line_number":15,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"Currently, we don\u0027t have any support for items filtering. It is very difficult"},{"line_number":18,"context_line":"to find specific data n the list of returned items. For example, we have a lot"},{"line_number":19,"context_line":"of \u0027standard\u0027 OpenStack actions. So it is not very convenient to look through"},{"line_number":20,"context_line":"all of them to find actions for nova."},{"line_number":21,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"9a68dd71_db14d8a0","line":18,"in_reply_to":"9a68dd71_0571dc75","updated":"2016-01-26 05:26:30.000000000","message":"Ok thanks","commit_id":"0ced5a972fa389bde9b495d0c434a1166819429e"},{"author":{"_account_id":8592,"name":"Anastasia Kuznetsova","email":"akuznetsova@mirantis.com","username":"nastya-kuz"},"change_message_id":"6f7369fb4835390dc5c9aa88db8a5e44e7af8f96","unresolved":false,"context_lines":[{"line_number":47,"context_line":"REST API impact"},{"line_number":48,"context_line":"---------------"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"1. Gets only those actions which have \u0027nova\u0027 as tag value."},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"GET http://127.0.0.1:8989/v2/actions?f.field\u003dtag\u0026f.type\u003dstring\u0026f.value\u003dnova"},{"line_number":53,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"9a68dd71_a5c7b062","line":50,"updated":"2016-01-25 11:27:00.000000000","message":"What do you think of making this description more common:\n1. Gets only those actions which have some tag value.\nGET http://127.0.0.1:8989/v2/actions?f.field\u003dtag\u0026f.type\u003dstring\u0026f.value\u003d\u003csome_value\u003e ?","commit_id":"0ced5a972fa389bde9b495d0c434a1166819429e"},{"author":{"_account_id":18238,"name":"Hardik Parekh","email":"hardik.parekh047@gmail.com","username":"hparekh"},"change_message_id":"ee84c068b78bee6b9b87e25892f04d2fe04f14d1","unresolved":false,"context_lines":[{"line_number":47,"context_line":"REST API impact"},{"line_number":48,"context_line":"---------------"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"1. Gets only those actions which have \u0027nova\u0027 as tag value."},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"GET http://127.0.0.1:8989/v2/actions?f.field\u003dtag\u0026f.type\u003dstring\u0026f.value\u003dnova"},{"line_number":53,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"9a68dd71_bb0d6490","line":50,"in_reply_to":"9a68dd71_a5c7b062","updated":"2016-01-26 05:26:30.000000000","message":"Yeah sure thanks","commit_id":"0ced5a972fa389bde9b495d0c434a1166819429e"},{"author":{"_account_id":6732,"name":"Lingxian Kong","email":"anlin.kong@gmail.com","username":"kong"},"change_message_id":"0c832204da7a022f25cbec5d9cc6b3f32acf3c57","unresolved":false,"context_lines":[{"line_number":50,"context_line":"1. Gets only those actions which have \u0027nova\u0027 as tag value."},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"GET http://127.0.0.1:8989/v2/actions?f.field\u003dtag\u0026f.type\u003dstring\u0026f.value\u003dnova"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"Same change is proposed for workflows, workbooks, cron triggers, executions,"},{"line_number":55,"context_line":"tasks etc."},{"line_number":56,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"9a68dd71_5348decb","line":53,"updated":"2016-01-25 21:27:35.000000000","message":"Why not just use http://127.0.0.1:8989/v2/actions?tag\u003dnova?\n\nDo you want to support something like OR or IN or LIKE filters?\n\nBTW, have you explored how other projects do for the filtering feature? and have you read what the API working group recommend for API filtering feature?","commit_id":"0ced5a972fa389bde9b495d0c434a1166819429e"},{"author":{"_account_id":18238,"name":"Hardik Parekh","email":"hardik.parekh047@gmail.com","username":"hparekh"},"change_message_id":"ee84c068b78bee6b9b87e25892f04d2fe04f14d1","unresolved":false,"context_lines":[{"line_number":50,"context_line":"1. Gets only those actions which have \u0027nova\u0027 as tag value."},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"GET http://127.0.0.1:8989/v2/actions?f.field\u003dtag\u0026f.type\u003dstring\u0026f.value\u003dnova"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"Same change is proposed for workflows, workbooks, cron triggers, executions,"},{"line_number":55,"context_line":"tasks etc."},{"line_number":56,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"9a68dd71_7bd92cf2","line":53,"in_reply_to":"9a68dd71_5348decb","updated":"2016-01-26 05:26:30.000000000","message":"\u003e\u003e\u003eWhy not just use http://127.0.0.1:8989/v2/actions?tag\u003dnova?\n\nActually it will increase input parameters for \u0027get_all\u0027 functions and i don\u0027t think, increase input parameter as per columns is good idea.\n\n\u003e\u003e\u003e\u003eDo you want to support something like OR or IN or LIKE filters?\n\nNo right now i am focusing on implementing simple filter for all apis which return list. I enhance this later.\n\n\u003e\u003e\u003e\u003eBTW, have you explored how other projects do for the filtering feature? and have you read what the API working group recommend for API filtering feature?\n\nYes, I have taken reference from the ceilometer project.","commit_id":"0ced5a972fa389bde9b495d0c434a1166819429e"},{"author":{"_account_id":8592,"name":"Anastasia Kuznetsova","email":"akuznetsova@mirantis.com","username":"nastya-kuz"},"change_message_id":"6f7369fb4835390dc5c9aa88db8a5e44e7af8f96","unresolved":false,"context_lines":[{"line_number":59,"context_line":""},{"line_number":60,"context_line":"User can add new option in CLI. For instance ::"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"    mistral action-list --filter tag\u003dnova"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"Performance Impact"},{"line_number":65,"context_line":"------------------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"9a68dd71_c5c2e452","line":62,"updated":"2016-01-25 11:27:00.000000000","message":"Same here","commit_id":"0ced5a972fa389bde9b495d0c434a1166819429e"},{"author":{"_account_id":18238,"name":"Hardik Parekh","email":"hardik.parekh047@gmail.com","username":"hparekh"},"change_message_id":"ee84c068b78bee6b9b87e25892f04d2fe04f14d1","unresolved":false,"context_lines":[{"line_number":59,"context_line":""},{"line_number":60,"context_line":"User can add new option in CLI. For instance ::"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"    mistral action-list --filter tag\u003dnova"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"Performance Impact"},{"line_number":65,"context_line":"------------------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"9a68dd71_5b054843","line":62,"in_reply_to":"9a68dd71_c5c2e452","updated":"2016-01-26 05:26:30.000000000","message":"Thanks","commit_id":"0ced5a972fa389bde9b495d0c434a1166819429e"},{"author":{"_account_id":8731,"name":"Renat Akhmerov","email":"renat.akhmerov@gmail.com","username":"rakhmerov"},"change_message_id":"13e9321ff08364a413f21dcb8ce12c140c349a41","unresolved":false,"context_lines":[{"line_number":16,"context_line":""},{"line_number":17,"context_line":"Currently, we don\u0027t have any support for items filtering. It is very difficult"},{"line_number":18,"context_line":"to find specific data in the list of returned items. For example, we have a lot"},{"line_number":19,"context_line":"of \u0027standard\u0027 OpenStack actions. So it is not very convenient to look through"},{"line_number":20,"context_line":"all of them to find actions for nova."},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"Use Cases"}],"source_content_type":"text/x-rst","patch_set":5,"id":"5a5ae5dd_6945eb40","line":19,"range":{"start_line":19,"start_character":24,"end_line":19,"end_character":31},"updated":"2016-02-08 19:25:49.000000000","message":"\"grep\" is always available but yes, it\u0027s inconvenient. More importantly, there\u0027s no way to apply filtering on the server side which affects performance badly. As time goes we\u0027ll have thousands of actions and we should be able to filter items before transferring them over the network.","commit_id":"066cf0a2d23ae0e061e746f8a530c006edd596b0"},{"author":{"_account_id":8731,"name":"Renat Akhmerov","email":"renat.akhmerov@gmail.com","username":"rakhmerov"},"change_message_id":"13e9321ff08364a413f21dcb8ce12c140c349a41","unresolved":false,"context_lines":[{"line_number":29,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"To solve this problem, I would like to add new parameter to endpoints. We"},{"line_number":32,"context_line":"already have \u0027marker\u0027, \u0027limit\u0027, \u0027sort_dirs\u0027 and \u0027sort_keys\u0027 parameters. New"},{"line_number":33,"context_line":"\u0027f\u0027 parameter will be added. I would like to use just \u0027f\u0027 instead of \u0027filter\u0027"},{"line_number":34,"context_line":"because user can filter as much column as he/she wants, so it will increase"},{"line_number":35,"context_line":"url length unnecessarily if we use \u0027filter\u0027."}],"source_content_type":"text/x-rst","patch_set":5,"id":"5a5ae5dd_293db38e","line":32,"range":{"start_line":32,"start_character":13,"end_line":32,"end_character":59},"updated":"2016-02-08 19:25:49.000000000","message":"This doesn\u0027t actually relate with filtering except maybe \u0027limit\u0027. I suggest we remove it from the spec so that we stay 100% precise about our intentions.","commit_id":"066cf0a2d23ae0e061e746f8a530c006edd596b0"},{"author":{"_account_id":8731,"name":"Renat Akhmerov","email":"renat.akhmerov@gmail.com","username":"rakhmerov"},"change_message_id":"13e9321ff08364a413f21dcb8ce12c140c349a41","unresolved":false,"context_lines":[{"line_number":30,"context_line":""},{"line_number":31,"context_line":"To solve this problem, I would like to add new parameter to endpoints. We"},{"line_number":32,"context_line":"already have \u0027marker\u0027, \u0027limit\u0027, \u0027sort_dirs\u0027 and \u0027sort_keys\u0027 parameters. New"},{"line_number":33,"context_line":"\u0027f\u0027 parameter will be added. I would like to use just \u0027f\u0027 instead of \u0027filter\u0027"},{"line_number":34,"context_line":"because user can filter as much column as he/she wants, so it will increase"},{"line_number":35,"context_line":"url length unnecessarily if we use \u0027filter\u0027."},{"line_number":36,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"5a5ae5dd_a993e359","line":33,"range":{"start_line":33,"start_character":54,"end_line":33,"end_character":57},"updated":"2016-02-08 19:25:49.000000000","message":"On \u0027f\u0027 vs \u0027filter\u0027 thing we need to clearly specify what it is all about. API or CLI? If we are talking about CLI then I\u0027d agree that \u0027f\u0027 is better (just for its conciseness) but I\u0027d keep \u0027filter\u0027 on API because API isn\u0027t often used directly and hence it should be as precise as possible on naming.","commit_id":"066cf0a2d23ae0e061e746f8a530c006edd596b0"},{"author":{"_account_id":8731,"name":"Renat Akhmerov","email":"renat.akhmerov@gmail.com","username":"rakhmerov"},"change_message_id":"13e9321ff08364a413f21dcb8ce12c140c349a41","unresolved":false,"context_lines":[{"line_number":31,"context_line":"To solve this problem, I would like to add new parameter to endpoints. We"},{"line_number":32,"context_line":"already have \u0027marker\u0027, \u0027limit\u0027, \u0027sort_dirs\u0027 and \u0027sort_keys\u0027 parameters. New"},{"line_number":33,"context_line":"\u0027f\u0027 parameter will be added. I would like to use just \u0027f\u0027 instead of \u0027filter\u0027"},{"line_number":34,"context_line":"because user can filter as much column as he/she wants, so it will increase"},{"line_number":35,"context_line":"url length unnecessarily if we use \u0027filter\u0027."},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"Alternatives"}],"source_content_type":"text/x-rst","patch_set":5,"id":"5a5ae5dd_290b73d7","line":34,"range":{"start_line":34,"start_character":27,"end_line":34,"end_character":38},"updated":"2016-02-08 19:25:49.000000000","message":"-\u003e many columns","commit_id":"066cf0a2d23ae0e061e746f8a530c006edd596b0"},{"author":{"_account_id":8731,"name":"Renat Akhmerov","email":"renat.akhmerov@gmail.com","username":"rakhmerov"},"change_message_id":"13e9321ff08364a413f21dcb8ce12c140c349a41","unresolved":false,"context_lines":[{"line_number":32,"context_line":"already have \u0027marker\u0027, \u0027limit\u0027, \u0027sort_dirs\u0027 and \u0027sort_keys\u0027 parameters. New"},{"line_number":33,"context_line":"\u0027f\u0027 parameter will be added. I would like to use just \u0027f\u0027 instead of \u0027filter\u0027"},{"line_number":34,"context_line":"because user can filter as much column as he/she wants, so it will increase"},{"line_number":35,"context_line":"url length unnecessarily if we use \u0027filter\u0027."},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"Alternatives"},{"line_number":38,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":5,"id":"5a5ae5dd_89cdc767","line":35,"range":{"start_line":35,"start_character":36,"end_line":35,"end_character":42},"updated":"2016-02-08 19:25:49.000000000","message":"I\u0027d like to see a full description of how this new field is supposed to be processed.","commit_id":"066cf0a2d23ae0e061e746f8a530c006edd596b0"},{"author":{"_account_id":8731,"name":"Renat Akhmerov","email":"renat.akhmerov@gmail.com","username":"rakhmerov"},"change_message_id":"13e9321ff08364a413f21dcb8ce12c140c349a41","unresolved":false,"context_lines":[{"line_number":49,"context_line":""},{"line_number":50,"context_line":"1. Gets only those actions which have \u0027\u003csome_value\u003e\u0027 as tag value."},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"GET http://127.0.0.1:8989/v2/actions?f.field\u003dtag\u0026f.type\u003dstring\u0026f.value\u003d\u003csome_value\u003e"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"Same change is proposed for workflows, workbooks, cron triggers, executions,"},{"line_number":55,"context_line":"tasks etc."}],"source_content_type":"text/x-rst","patch_set":5,"id":"5a5ae5dd_4461f6d1","line":52,"range":{"start_line":52,"start_character":37,"end_line":52,"end_character":83},"updated":"2016-02-08 19:25:49.000000000","message":"I\u0027d like to see a description of how this should affect the endpoint behavior.\n\nI also have questions:\n* Do we really need \"f.type\" param?\n* Does \"f.value\u003dval\" always mean the exact equality? Can we have, for example, regexp matching or anything similar (e.g. \"like\" from SQL). Maybe we can also have something like \"f.operation\" (or \"f.op\") to define how we apply filtering.\n* How can we process filtering by multiple fields?","commit_id":"066cf0a2d23ae0e061e746f8a530c006edd596b0"},{"author":{"_account_id":6732,"name":"Lingxian Kong","email":"anlin.kong@gmail.com","username":"kong"},"change_message_id":"e230f38654f5440139e46d071c44dc8007575552","unresolved":false,"context_lines":[{"line_number":50,"context_line":"1. Gets only those actions which have \u0027\u003csome_value\u003e\u0027 as tag value."},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"GET http://127.0.0.1:8989/v2/actions?f.field\u003dtag\u0026f.type\u003dstring\u0026f.value\u003d\u003csome_value\u003e"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"Same change is proposed for workflows, workbooks, cron triggers, executions,"},{"line_number":55,"context_line":"tasks etc."},{"line_number":56,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"7a5de9d1_93df6639","line":53,"updated":"2016-02-01 10:19:56.000000000","message":"I mean, the API working group has a reference for filtering, especially for projects who want to implement such feature. the ceilometer\u0027s implementation may not be the standard one.","commit_id":"066cf0a2d23ae0e061e746f8a530c006edd596b0"},{"author":{"_account_id":8731,"name":"Renat Akhmerov","email":"renat.akhmerov@gmail.com","username":"rakhmerov"},"change_message_id":"13e9321ff08364a413f21dcb8ce12c140c349a41","unresolved":false,"context_lines":[{"line_number":50,"context_line":"1. Gets only those actions which have \u0027\u003csome_value\u003e\u0027 as tag value."},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"GET http://127.0.0.1:8989/v2/actions?f.field\u003dtag\u0026f.type\u003dstring\u0026f.value\u003d\u003csome_value\u003e"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"Same change is proposed for workflows, workbooks, cron triggers, executions,"},{"line_number":55,"context_line":"tasks etc."},{"line_number":56,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"5a5ae5dd_89d4e7eb","line":53,"in_reply_to":"7a5de9d1_93df6639","updated":"2016-02-08 19:25:49.000000000","message":"Agree, we should be consistent with API working group\u0027s ideas as much as possible. Even if we want more features then ideally we should contribute to them.","commit_id":"066cf0a2d23ae0e061e746f8a530c006edd596b0"},{"author":{"_account_id":8731,"name":"Renat Akhmerov","email":"renat.akhmerov@gmail.com","username":"rakhmerov"},"change_message_id":"13e9321ff08364a413f21dcb8ce12c140c349a41","unresolved":false,"context_lines":[{"line_number":83,"context_line":"Work Items"},{"line_number":84,"context_line":"----------"},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"* Add new parameter to REST api."},{"line_number":87,"context_line":""},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"Dependencies"}],"source_content_type":"text/x-rst","patch_set":5,"id":"5a5ae5dd_89570757","line":86,"range":{"start_line":86,"start_character":23,"end_line":86,"end_character":31},"updated":"2016-02-08 19:25:49.000000000","message":"Also CLI?","commit_id":"066cf0a2d23ae0e061e746f8a530c006edd596b0"},{"author":{"_account_id":6732,"name":"Lingxian Kong","email":"anlin.kong@gmail.com","username":"kong"},"change_message_id":"b8818ff3ea8bfc1b3c8d983e79472b986d1b0399","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"dae33548_6ff52fca","line":145,"updated":"2016-02-19 08:24:52.000000000","message":"http://specs.openstack.org/openstack/api-wg/guidelines/pagination_filter_sort.html should also be referenced here.","commit_id":"529f939920adc3a85c2631ddaff66c9b822427ec"},{"author":{"_account_id":8592,"name":"Anastasia Kuznetsova","email":"akuznetsova@mirantis.com","username":"nastya-kuz"},"change_message_id":"7d5afc4ccbd7717da22569d1021026a0e9621275","unresolved":false,"context_lines":[{"line_number":16,"context_line":""},{"line_number":17,"context_line":"Currently, we don\u0027t have any support for items filtering on the server side"},{"line_number":18,"context_line":"which affects performance badly. In future, we may have thousands of actions."},{"line_number":19,"context_line":"so, we should be able to filter items before transferring them over the"},{"line_number":20,"context_line":"network. Also, It is very difficult to find specific data in the list of"},{"line_number":21,"context_line":"returned items. For example, we have a lot of \u0027standard\u0027 OpenStack actions."},{"line_number":22,"context_line":"So it is not very convenient to look through all of them to find actions"}],"source_content_type":"text/x-rst","patch_set":7,"id":"bae84128_e40f792c","line":19,"range":{"start_line":19,"start_character":0,"end_line":19,"end_character":1},"updated":"2016-02-25 15:09:34.000000000","message":"Please, make \u0027s\u0027 capital.","commit_id":"4f53f7ab6805b8e6d0466daea9f88bc68b02280a"},{"author":{"_account_id":18238,"name":"Hardik Parekh","email":"hardik.parekh047@gmail.com","username":"hparekh"},"change_message_id":"a5d76e7b82454d23fb8814cdaf10707e57ef9c25","unresolved":false,"context_lines":[{"line_number":16,"context_line":""},{"line_number":17,"context_line":"Currently, we don\u0027t have any support for items filtering on the server side"},{"line_number":18,"context_line":"which affects performance badly. In future, we may have thousands of actions."},{"line_number":19,"context_line":"so, we should be able to filter items before transferring them over the"},{"line_number":20,"context_line":"network. Also, It is very difficult to find specific data in the list of"},{"line_number":21,"context_line":"returned items. For example, we have a lot of \u0027standard\u0027 OpenStack actions."},{"line_number":22,"context_line":"So it is not very convenient to look through all of them to find actions"}],"source_content_type":"text/x-rst","patch_set":7,"id":"7af24918_0459acfe","line":19,"range":{"start_line":19,"start_character":0,"end_line":19,"end_character":1},"in_reply_to":"bae84128_e40f792c","updated":"2016-03-02 10:55:55.000000000","message":"Done","commit_id":"4f53f7ab6805b8e6d0466daea9f88bc68b02280a"},{"author":{"_account_id":8592,"name":"Anastasia Kuznetsova","email":"akuznetsova@mirantis.com","username":"nastya-kuz"},"change_message_id":"7d5afc4ccbd7717da22569d1021026a0e9621275","unresolved":false,"context_lines":[{"line_number":17,"context_line":"Currently, we don\u0027t have any support for items filtering on the server side"},{"line_number":18,"context_line":"which affects performance badly. In future, we may have thousands of actions."},{"line_number":19,"context_line":"so, we should be able to filter items before transferring them over the"},{"line_number":20,"context_line":"network. Also, It is very difficult to find specific data in the list of"},{"line_number":21,"context_line":"returned items. For example, we have a lot of \u0027standard\u0027 OpenStack actions."},{"line_number":22,"context_line":"So it is not very convenient to look through all of them to find actions"},{"line_number":23,"context_line":"for nova."}],"source_content_type":"text/x-rst","patch_set":7,"id":"bae84128_64788990","line":20,"range":{"start_line":20,"start_character":15,"end_line":20,"end_character":16},"updated":"2016-02-25 15:09:34.000000000","message":"Please, make \u0027i\u0027 in lowercase","commit_id":"4f53f7ab6805b8e6d0466daea9f88bc68b02280a"},{"author":{"_account_id":18238,"name":"Hardik Parekh","email":"hardik.parekh047@gmail.com","username":"hparekh"},"change_message_id":"a5d76e7b82454d23fb8814cdaf10707e57ef9c25","unresolved":false,"context_lines":[{"line_number":17,"context_line":"Currently, we don\u0027t have any support for items filtering on the server side"},{"line_number":18,"context_line":"which affects performance badly. In future, we may have thousands of actions."},{"line_number":19,"context_line":"so, we should be able to filter items before transferring them over the"},{"line_number":20,"context_line":"network. Also, It is very difficult to find specific data in the list of"},{"line_number":21,"context_line":"returned items. For example, we have a lot of \u0027standard\u0027 OpenStack actions."},{"line_number":22,"context_line":"So it is not very convenient to look through all of them to find actions"},{"line_number":23,"context_line":"for nova."}],"source_content_type":"text/x-rst","patch_set":7,"id":"7af24918_e45be0f4","line":20,"range":{"start_line":20,"start_character":15,"end_line":20,"end_character":16},"in_reply_to":"bae84128_64788990","updated":"2016-03-02 10:55:55.000000000","message":"Done","commit_id":"4f53f7ab6805b8e6d0466daea9f88bc68b02280a"},{"author":{"_account_id":8592,"name":"Anastasia Kuznetsova","email":"akuznetsova@mirantis.com","username":"nastya-kuz"},"change_message_id":"7d5afc4ccbd7717da22569d1021026a0e9621275","unresolved":false,"context_lines":[{"line_number":32,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"To solve this problem, I would like to implement customized filter for"},{"line_number":35,"context_line":"database. This filter will support \"in\", \"\u003e\", \"\u003e\u003d\", \"\u003c\" and \"\u003c\u003d\" operations."},{"line_number":36,"context_line":"Also, new paramters will be allowed in REST API. These parametres are the"},{"line_number":37,"context_line":"name of columns by which users are allowed to filter data."},{"line_number":38,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"bae84128_24aa0171","line":35,"updated":"2016-02-25 15:09:34.000000000","message":"Why don\u0027t you add support for some operator like \"not in\"? What if I want to get all actions except nova actions?","commit_id":"4f53f7ab6805b8e6d0466daea9f88bc68b02280a"},{"author":{"_account_id":18238,"name":"Hardik Parekh","email":"hardik.parekh047@gmail.com","username":"hparekh"},"change_message_id":"a5d76e7b82454d23fb8814cdaf10707e57ef9c25","unresolved":false,"context_lines":[{"line_number":32,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"To solve this problem, I would like to implement customized filter for"},{"line_number":35,"context_line":"database. This filter will support \"in\", \"\u003e\", \"\u003e\u003d\", \"\u003c\" and \"\u003c\u003d\" operations."},{"line_number":36,"context_line":"Also, new paramters will be allowed in REST API. These parametres are the"},{"line_number":37,"context_line":"name of columns by which users are allowed to filter data."},{"line_number":38,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"7af24918_04decc3e","line":35,"in_reply_to":"bae84128_24aa0171","updated":"2016-03-02 10:55:55.000000000","message":"Yeah Ok, Thanks for suggestion.\nI will add support for \"not in\" also.","commit_id":"4f53f7ab6805b8e6d0466daea9f88bc68b02280a"},{"author":{"_account_id":8592,"name":"Anastasia Kuznetsova","email":"akuznetsova@mirantis.com","username":"nastya-kuz"},"change_message_id":"7d5afc4ccbd7717da22569d1021026a0e9621275","unresolved":false,"context_lines":[{"line_number":33,"context_line":""},{"line_number":34,"context_line":"To solve this problem, I would like to implement customized filter for"},{"line_number":35,"context_line":"database. This filter will support \"in\", \"\u003e\", \"\u003e\u003d\", \"\u003c\" and \"\u003c\u003d\" operations."},{"line_number":36,"context_line":"Also, new paramters will be allowed in REST API. These parametres are the"},{"line_number":37,"context_line":"name of columns by which users are allowed to filter data."},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"Alternatives"}],"source_content_type":"text/x-rst","patch_set":7,"id":"bae84128_24d8411d","line":36,"updated":"2016-02-25 15:09:34.000000000","message":"Typo in \u0027parameters\u0027 in both sentences.","commit_id":"4f53f7ab6805b8e6d0466daea9f88bc68b02280a"},{"author":{"_account_id":18238,"name":"Hardik Parekh","email":"hardik.parekh047@gmail.com","username":"hparekh"},"change_message_id":"a5d76e7b82454d23fb8814cdaf10707e57ef9c25","unresolved":false,"context_lines":[{"line_number":33,"context_line":""},{"line_number":34,"context_line":"To solve this problem, I would like to implement customized filter for"},{"line_number":35,"context_line":"database. This filter will support \"in\", \"\u003e\", \"\u003e\u003d\", \"\u003c\" and \"\u003c\u003d\" operations."},{"line_number":36,"context_line":"Also, new paramters will be allowed in REST API. These parametres are the"},{"line_number":37,"context_line":"name of columns by which users are allowed to filter data."},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"Alternatives"}],"source_content_type":"text/x-rst","patch_set":7,"id":"7af24918_e4e000fd","line":36,"in_reply_to":"bae84128_24d8411d","updated":"2016-03-02 10:55:55.000000000","message":"Done","commit_id":"4f53f7ab6805b8e6d0466daea9f88bc68b02280a"},{"author":{"_account_id":8731,"name":"Renat Akhmerov","email":"renat.akhmerov@gmail.com","username":"rakhmerov"},"change_message_id":"8f3dfda8183de0fc41ccb6dfb7c9db9b43af3f56","unresolved":false,"context_lines":[{"line_number":49,"context_line":"REST API impact"},{"line_number":50,"context_line":"---------------"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"1. Gets only those actions which have \u0027\u003csome_value\u003e\u0027 as \u003ccolumn_name\u003e value."},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"GET http://127.0.0.1:8989/v2/actions?\u003ccolumn_name\u003e\u003d\u003csome_value\u003e"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"2. Gets only those actions which have \u0027\u003csome_value_1\u003e\u0027 or \u0027\u003csome_value_2\u003e\u0027 as"},{"line_number":58,"context_line":"   \u003ccolumn_name\u003e value."},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"GET http://127.0.0.1:8989/v2/actions?\u003ccolumn_name\u003e\u003din:\u003csome_value_1\u003e,\u003csome_value_2\u003e"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"3. Gets only those actions which have not \u003csome_value\u003e as \u003ccolumn_name\u003e value."},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"GET http://127.0.0.1:8989/v2/actions?\u003ccolumn_name\u003e\u003dneq:\u003csome_value\u003e"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"4. Gets only those actions which have greater value than \u003csome_value\u003e as"},{"line_number":69,"context_line":"   \u003ccolumn_name\u003e value."},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"GET http://127.0.0.1:8989/v2/actions?\u003ccolumn_name\u003e\u003dgt:\u003csome_value\u003e"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"5. Gets only those actions which have greater than or equal to \u003csome_value\u003e as"},{"line_number":75,"context_line":"   \u003ccolumn_name\u003e value."},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"GET http://127.0.0.1:8989/v2/actions?\u003ccolumn_name\u003e\u003dgte:\u003csome_value\u003e"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"6. Gets only those actions which have less value than \u003csome_value\u003e as"},{"line_number":81,"context_line":"   \u003ccolumn_name\u003e value."},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"GET http://127.0.0.1:8989/v2/actions?\u003ccolumn_name\u003e\u003dlt:\u003csome_value\u003e"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"7. Gets only those actions which have less than or equal to \u003csome_value\u003e as"},{"line_number":87,"context_line":"   \u003ccolumn_name\u003e value."},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"GET http://127.0.0.1:8989/v2/actions?\u003ccolumn_name\u003e\u003dlte:\u003csome_value\u003e"},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"Same changes are proposed for workflows, workbooks, cron triggers, executions,"},{"line_number":92,"context_line":"tasks etc."}],"source_content_type":"text/x-rst","patch_set":7,"id":"bae84128_8608472a","line":89,"range":{"start_line":52,"start_character":0,"end_line":89,"end_character":67},"updated":"2016-02-25 09:38:24.000000000","message":"http://specs.openstack.org/openstack/api-wg/guidelines/pagination_filter_sort.html tells about additional aspects of how filters could be applied. For example, we can have a filter using multiple fields by passing a JSON body into GET request. Do you assume we will have the same or similar mechanism?\n\nWhat they have in that user group actually doesn\u0027t look complete to me. Because, for example, we can specify a JSON body with multiple \"key-value\" pairs but I didn\u0027t see anywhere how we can specify operations (aka criterions) for them. Is it always assumed that we have \"\u003d\" in this case? If yes, it\u0027s not flexible.\n\nAnother question: How would multiple fields filtering look like in CLI? As a understand we can\u0027t just use a white space as a delimiter for key-value pairs because they would be considered separate arguments (not values of one argument).","commit_id":"4f53f7ab6805b8e6d0466daea9f88bc68b02280a"},{"author":{"_account_id":8731,"name":"Renat Akhmerov","email":"renat.akhmerov@gmail.com","username":"rakhmerov"},"change_message_id":"5e5e0aa3c40ba7cfbf02dc45f78f255e04e75757","unresolved":false,"context_lines":[{"line_number":49,"context_line":"REST API impact"},{"line_number":50,"context_line":"---------------"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"1. Gets only those actions which have \u0027\u003csome_value\u003e\u0027 as \u003ccolumn_name\u003e value."},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"GET http://127.0.0.1:8989/v2/actions?\u003ccolumn_name\u003e\u003d\u003csome_value\u003e"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"2. Gets only those actions which have \u0027\u003csome_value_1\u003e\u0027 or \u0027\u003csome_value_2\u003e\u0027 as"},{"line_number":58,"context_line":"   \u003ccolumn_name\u003e value."},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"GET http://127.0.0.1:8989/v2/actions?\u003ccolumn_name\u003e\u003din:\u003csome_value_1\u003e,\u003csome_value_2\u003e"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"3. Gets only those actions which have not \u003csome_value\u003e as \u003ccolumn_name\u003e value."},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"GET http://127.0.0.1:8989/v2/actions?\u003ccolumn_name\u003e\u003dneq:\u003csome_value\u003e"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"4. Gets only those actions which have greater value than \u003csome_value\u003e as"},{"line_number":69,"context_line":"   \u003ccolumn_name\u003e value."},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"GET http://127.0.0.1:8989/v2/actions?\u003ccolumn_name\u003e\u003dgt:\u003csome_value\u003e"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"5. Gets only those actions which have greater than or equal to \u003csome_value\u003e as"},{"line_number":75,"context_line":"   \u003ccolumn_name\u003e value."},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"GET http://127.0.0.1:8989/v2/actions?\u003ccolumn_name\u003e\u003dgte:\u003csome_value\u003e"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"6. Gets only those actions which have less value than \u003csome_value\u003e as"},{"line_number":81,"context_line":"   \u003ccolumn_name\u003e value."},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"GET http://127.0.0.1:8989/v2/actions?\u003ccolumn_name\u003e\u003dlt:\u003csome_value\u003e"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"7. Gets only those actions which have less than or equal to \u003csome_value\u003e as"},{"line_number":87,"context_line":"   \u003ccolumn_name\u003e value."},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"GET http://127.0.0.1:8989/v2/actions?\u003ccolumn_name\u003e\u003dlte:\u003csome_value\u003e"},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"Same changes are proposed for workflows, workbooks, cron triggers, executions,"},{"line_number":92,"context_line":"tasks etc."}],"source_content_type":"text/x-rst","patch_set":7,"id":"7af24918_e7d482be","line":89,"range":{"start_line":52,"start_character":0,"end_line":89,"end_character":67},"in_reply_to":"7af24918_44cbb453","updated":"2016-03-02 11:19:13.000000000","message":"Ok with me. Thanks.","commit_id":"4f53f7ab6805b8e6d0466daea9f88bc68b02280a"},{"author":{"_account_id":6732,"name":"Lingxian Kong","email":"anlin.kong@gmail.com","username":"kong"},"change_message_id":"1a66667c8efdfa2252744535cdb1a56a7b87f551","unresolved":false,"context_lines":[{"line_number":49,"context_line":"REST API impact"},{"line_number":50,"context_line":"---------------"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"1. Gets only those actions which have \u0027\u003csome_value\u003e\u0027 as \u003ccolumn_name\u003e value."},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"GET http://127.0.0.1:8989/v2/actions?\u003ccolumn_name\u003e\u003d\u003csome_value\u003e"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"2. Gets only those actions which have \u0027\u003csome_value_1\u003e\u0027 or \u0027\u003csome_value_2\u003e\u0027 as"},{"line_number":58,"context_line":"   \u003ccolumn_name\u003e value."},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"GET http://127.0.0.1:8989/v2/actions?\u003ccolumn_name\u003e\u003din:\u003csome_value_1\u003e,\u003csome_value_2\u003e"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"3. Gets only those actions which have not \u003csome_value\u003e as \u003ccolumn_name\u003e value."},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"GET http://127.0.0.1:8989/v2/actions?\u003ccolumn_name\u003e\u003dneq:\u003csome_value\u003e"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"4. Gets only those actions which have greater value than \u003csome_value\u003e as"},{"line_number":69,"context_line":"   \u003ccolumn_name\u003e value."},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"GET http://127.0.0.1:8989/v2/actions?\u003ccolumn_name\u003e\u003dgt:\u003csome_value\u003e"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"5. Gets only those actions which have greater than or equal to \u003csome_value\u003e as"},{"line_number":75,"context_line":"   \u003ccolumn_name\u003e value."},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"GET http://127.0.0.1:8989/v2/actions?\u003ccolumn_name\u003e\u003dgte:\u003csome_value\u003e"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"6. Gets only those actions which have less value than \u003csome_value\u003e as"},{"line_number":81,"context_line":"   \u003ccolumn_name\u003e value."},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"GET http://127.0.0.1:8989/v2/actions?\u003ccolumn_name\u003e\u003dlt:\u003csome_value\u003e"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"7. Gets only those actions which have less than or equal to \u003csome_value\u003e as"},{"line_number":87,"context_line":"   \u003ccolumn_name\u003e value."},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"GET http://127.0.0.1:8989/v2/actions?\u003ccolumn_name\u003e\u003dlte:\u003csome_value\u003e"},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"Same changes are proposed for workflows, workbooks, cron triggers, executions,"},{"line_number":92,"context_line":"tasks etc."}],"source_content_type":"text/x-rst","patch_set":7,"id":"9aed3d3a_fc2e5ba3","line":89,"range":{"start_line":52,"start_character":0,"end_line":89,"end_character":67},"in_reply_to":"9aed3d3a_466cdf9b","updated":"2016-03-01 08:52:51.000000000","message":"Yes, Renat, I understand your concern. We can wait for Hardik to answer and discuss.","commit_id":"4f53f7ab6805b8e6d0466daea9f88bc68b02280a"},{"author":{"_account_id":8731,"name":"Renat Akhmerov","email":"renat.akhmerov@gmail.com","username":"rakhmerov"},"change_message_id":"d1fe54721604ae0f0950a7bdcc67a950116e7f2e","unresolved":false,"context_lines":[{"line_number":49,"context_line":"REST API impact"},{"line_number":50,"context_line":"---------------"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"1. Gets only those actions which have \u0027\u003csome_value\u003e\u0027 as \u003ccolumn_name\u003e value."},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"GET http://127.0.0.1:8989/v2/actions?\u003ccolumn_name\u003e\u003d\u003csome_value\u003e"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"2. Gets only those actions which have \u0027\u003csome_value_1\u003e\u0027 or \u0027\u003csome_value_2\u003e\u0027 as"},{"line_number":58,"context_line":"   \u003ccolumn_name\u003e value."},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"GET http://127.0.0.1:8989/v2/actions?\u003ccolumn_name\u003e\u003din:\u003csome_value_1\u003e,\u003csome_value_2\u003e"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"3. Gets only those actions which have not \u003csome_value\u003e as \u003ccolumn_name\u003e value."},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"GET http://127.0.0.1:8989/v2/actions?\u003ccolumn_name\u003e\u003dneq:\u003csome_value\u003e"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"4. Gets only those actions which have greater value than \u003csome_value\u003e as"},{"line_number":69,"context_line":"   \u003ccolumn_name\u003e value."},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"GET http://127.0.0.1:8989/v2/actions?\u003ccolumn_name\u003e\u003dgt:\u003csome_value\u003e"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"5. Gets only those actions which have greater than or equal to \u003csome_value\u003e as"},{"line_number":75,"context_line":"   \u003ccolumn_name\u003e value."},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"GET http://127.0.0.1:8989/v2/actions?\u003ccolumn_name\u003e\u003dgte:\u003csome_value\u003e"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"6. Gets only those actions which have less value than \u003csome_value\u003e as"},{"line_number":81,"context_line":"   \u003ccolumn_name\u003e value."},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"GET http://127.0.0.1:8989/v2/actions?\u003ccolumn_name\u003e\u003dlt:\u003csome_value\u003e"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"7. Gets only those actions which have less than or equal to \u003csome_value\u003e as"},{"line_number":87,"context_line":"   \u003ccolumn_name\u003e value."},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"GET http://127.0.0.1:8989/v2/actions?\u003ccolumn_name\u003e\u003dlte:\u003csome_value\u003e"},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"Same changes are proposed for workflows, workbooks, cron triggers, executions,"},{"line_number":92,"context_line":"tasks etc."}],"source_content_type":"text/x-rst","patch_set":7,"id":"9aed3d3a_466cdf9b","line":89,"range":{"start_line":52,"start_character":0,"end_line":89,"end_character":67},"in_reply_to":"9aed3d3a_77418b39","updated":"2016-03-01 05:34:22.000000000","message":"Ooh, yes. Sorry.\n\nIn any case, it doesn\u0027t cancel my question about how we apply multiple filtering. I don\u0027t see how from this spec draft. If we decided to approach this topic with all our seriousness then let\u0027s think about all tiny aspects. Remember this is going to be a part of API. It has to shine.","commit_id":"4f53f7ab6805b8e6d0466daea9f88bc68b02280a"},{"author":{"_account_id":18238,"name":"Hardik Parekh","email":"hardik.parekh047@gmail.com","username":"hparekh"},"change_message_id":"a5d76e7b82454d23fb8814cdaf10707e57ef9c25","unresolved":false,"context_lines":[{"line_number":49,"context_line":"REST API impact"},{"line_number":50,"context_line":"---------------"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"1. Gets only those actions which have \u0027\u003csome_value\u003e\u0027 as \u003ccolumn_name\u003e value."},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"GET http://127.0.0.1:8989/v2/actions?\u003ccolumn_name\u003e\u003d\u003csome_value\u003e"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"2. Gets only those actions which have \u0027\u003csome_value_1\u003e\u0027 or \u0027\u003csome_value_2\u003e\u0027 as"},{"line_number":58,"context_line":"   \u003ccolumn_name\u003e value."},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"GET http://127.0.0.1:8989/v2/actions?\u003ccolumn_name\u003e\u003din:\u003csome_value_1\u003e,\u003csome_value_2\u003e"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"3. Gets only those actions which have not \u003csome_value\u003e as \u003ccolumn_name\u003e value."},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"GET http://127.0.0.1:8989/v2/actions?\u003ccolumn_name\u003e\u003dneq:\u003csome_value\u003e"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"4. Gets only those actions which have greater value than \u003csome_value\u003e as"},{"line_number":69,"context_line":"   \u003ccolumn_name\u003e value."},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"GET http://127.0.0.1:8989/v2/actions?\u003ccolumn_name\u003e\u003dgt:\u003csome_value\u003e"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"5. Gets only those actions which have greater than or equal to \u003csome_value\u003e as"},{"line_number":75,"context_line":"   \u003ccolumn_name\u003e value."},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"GET http://127.0.0.1:8989/v2/actions?\u003ccolumn_name\u003e\u003dgte:\u003csome_value\u003e"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"6. Gets only those actions which have less value than \u003csome_value\u003e as"},{"line_number":81,"context_line":"   \u003ccolumn_name\u003e value."},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"GET http://127.0.0.1:8989/v2/actions?\u003ccolumn_name\u003e\u003dlt:\u003csome_value\u003e"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"7. Gets only those actions which have less than or equal to \u003csome_value\u003e as"},{"line_number":87,"context_line":"   \u003ccolumn_name\u003e value."},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"GET http://127.0.0.1:8989/v2/actions?\u003ccolumn_name\u003e\u003dlte:\u003csome_value\u003e"},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"Same changes are proposed for workflows, workbooks, cron triggers, executions,"},{"line_number":92,"context_line":"tasks etc."}],"source_content_type":"text/x-rst","patch_set":7,"id":"7af24918_44cbb453","line":89,"range":{"start_line":52,"start_character":0,"end_line":89,"end_character":67},"in_reply_to":"9aed3d3a_fc2e5ba3","updated":"2016-03-02 10:55:55.000000000","message":"I planed to use \";\" separated values for multiple values.\nLike key1\u003deq:value1;key2\u003dgt:2","commit_id":"4f53f7ab6805b8e6d0466daea9f88bc68b02280a"},{"author":{"_account_id":6732,"name":"Lingxian Kong","email":"anlin.kong@gmail.com","username":"kong"},"change_message_id":"c64f1247bc6e7d0240c0b72f3f4f5c287097f40a","unresolved":false,"context_lines":[{"line_number":49,"context_line":"REST API impact"},{"line_number":50,"context_line":"---------------"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"1. Gets only those actions which have \u0027\u003csome_value\u003e\u0027 as \u003ccolumn_name\u003e value."},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"GET http://127.0.0.1:8989/v2/actions?\u003ccolumn_name\u003e\u003d\u003csome_value\u003e"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"2. Gets only those actions which have \u0027\u003csome_value_1\u003e\u0027 or \u0027\u003csome_value_2\u003e\u0027 as"},{"line_number":58,"context_line":"   \u003ccolumn_name\u003e value."},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"GET http://127.0.0.1:8989/v2/actions?\u003ccolumn_name\u003e\u003din:\u003csome_value_1\u003e,\u003csome_value_2\u003e"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"3. Gets only those actions which have not \u003csome_value\u003e as \u003ccolumn_name\u003e value."},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"GET http://127.0.0.1:8989/v2/actions?\u003ccolumn_name\u003e\u003dneq:\u003csome_value\u003e"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"4. Gets only those actions which have greater value than \u003csome_value\u003e as"},{"line_number":69,"context_line":"   \u003ccolumn_name\u003e value."},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"GET http://127.0.0.1:8989/v2/actions?\u003ccolumn_name\u003e\u003dgt:\u003csome_value\u003e"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"5. Gets only those actions which have greater than or equal to \u003csome_value\u003e as"},{"line_number":75,"context_line":"   \u003ccolumn_name\u003e value."},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"GET http://127.0.0.1:8989/v2/actions?\u003ccolumn_name\u003e\u003dgte:\u003csome_value\u003e"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"6. Gets only those actions which have less value than \u003csome_value\u003e as"},{"line_number":81,"context_line":"   \u003ccolumn_name\u003e value."},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"GET http://127.0.0.1:8989/v2/actions?\u003ccolumn_name\u003e\u003dlt:\u003csome_value\u003e"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"7. Gets only those actions which have less than or equal to \u003csome_value\u003e as"},{"line_number":87,"context_line":"   \u003ccolumn_name\u003e value."},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"GET http://127.0.0.1:8989/v2/actions?\u003ccolumn_name\u003e\u003dlte:\u003csome_value\u003e"},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"Same changes are proposed for workflows, workbooks, cron triggers, executions,"},{"line_number":92,"context_line":"tasks etc."}],"source_content_type":"text/x-rst","patch_set":7,"id":"9aed3d3a_77418b39","line":89,"range":{"start_line":52,"start_character":0,"end_line":89,"end_character":67},"in_reply_to":"bae84128_8608472a","updated":"2016-02-25 20:25:28.000000000","message":"Hi, Renat, I think you misunderstand the examples in http://specs.openstack.org/openstack/api-wg/guidelines/pagination_filter_sort.html, the json body is not the request, it\u0027s response body of GET.","commit_id":"4f53f7ab6805b8e6d0466daea9f88bc68b02280a"},{"author":{"_account_id":8592,"name":"Anastasia Kuznetsova","email":"akuznetsova@mirantis.com","username":"nastya-kuz"},"change_message_id":"7d5afc4ccbd7717da22569d1021026a0e9621275","unresolved":false,"context_lines":[{"line_number":98,"context_line":""},{"line_number":99,"context_line":"    mistral action-list --filter \u003ccolumn-name\u003e\u003d\u003cop\u003e:\u003csome_value\u003e"},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"Here \u0027\u003cop\u003e\u0027 can be \"\u003d\",  \"!\u003d\", \"\u003e\", \"\u003e\u003d\", \"\u003c\" or \"\u003c\u003d\"."},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"Performance Impact"},{"line_number":104,"context_line":"------------------"}],"source_content_type":"text/x-rst","patch_set":7,"id":"bae84128_1fe46639","line":101,"range":{"start_line":101,"start_character":5,"end_line":101,"end_character":11},"updated":"2016-02-25 15:09:34.000000000","message":"Why do we have different syntax in CLI and API ? Why don\u0027t you use \"neq\", \"lt\", \"gt\" here ?","commit_id":"4f53f7ab6805b8e6d0466daea9f88bc68b02280a"},{"author":{"_account_id":18238,"name":"Hardik Parekh","email":"hardik.parekh047@gmail.com","username":"hparekh"},"change_message_id":"a5d76e7b82454d23fb8814cdaf10707e57ef9c25","unresolved":false,"context_lines":[{"line_number":98,"context_line":""},{"line_number":99,"context_line":"    mistral action-list --filter \u003ccolumn-name\u003e\u003d\u003cop\u003e:\u003csome_value\u003e"},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"Here \u0027\u003cop\u003e\u0027 can be \"\u003d\",  \"!\u003d\", \"\u003e\", \"\u003e\u003d\", \"\u003c\" or \"\u003c\u003d\"."},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"Performance Impact"},{"line_number":104,"context_line":"------------------"}],"source_content_type":"text/x-rst","patch_set":7,"id":"7af24918_e4b760f3","line":101,"range":{"start_line":101,"start_character":5,"end_line":101,"end_character":11},"in_reply_to":"bae84128_1fe46639","updated":"2016-03-02 10:55:55.000000000","message":"Yeah, I agree with you.","commit_id":"4f53f7ab6805b8e6d0466daea9f88bc68b02280a"},{"author":{"_account_id":6732,"name":"Lingxian Kong","email":"anlin.kong@gmail.com","username":"kong"},"change_message_id":"2fef2d46c38d7e9d50108fb81091d9d2b4a9cbf3","unresolved":false,"context_lines":[{"line_number":106,"context_line":"    mistral action-list --filter \u003ccolumn-name\u003e\u003d\u003cop\u003e:\u003csome_value\u003e"},{"line_number":107,"context_line":""},{"line_number":108,"context_line":"Here \u0027\u003cop\u003e\u0027 can be \"eq\", \"neq\", \"gt\", \"gte\", \"lt\", \"lte\", \"in\" or \"nin\"."},{"line_number":109,"context_line":"Multiple values can be provided by using \";\" separator."},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"Performance Impact"},{"line_number":112,"context_line":"------------------"}],"source_content_type":"text/x-rst","patch_set":11,"id":"7af24918_a93976f4","line":109,"updated":"2016-03-03 02:00:26.000000000","message":"If it\u0027s the same with API params, is it more generic to use \u0027\u0026\u0027? like /app/items?foo\u003dfoo1\u0026baz\u003din:baz1,bazk2. From the perspective of implementation, which one is more feasible?","commit_id":"9188443aa42580acc40e4eef7d6b04be35692bef"}]}
