Hide Forgot
Running queries to match text current lowers the database field and then matches against a like query i.e. select name from tag where lower(name) like '%something%'; This style of query effectively means indexes can not be used, and is resulting in a lot of entries in the slow query table. We should look to extend the query endpoint to allow for queries like select name from tag where name = 'something'; where appropriate.
Added in 1.2-SNAPSHOT build 20130919-1021. As discussed you can now append "-matches" to any String parameter, to change the query logic to "equals" instead of "like". (You can also append "-contains" but since it's the default value it will have no effect.) eg. /rest/1/tags/get/json/query;tagName-matches=Task?expand=%7B%22branches%22%3A%5B%7B%22trunk%22%3A%7B%22name%22%3A%20%22tags%22%7D%7D%5D%7D
Note: This version is currently live on the dev/test server. The next step is to modify any other components to use this new logic, instead of the old contains/like logic.
Confirmed that the tag name match with 'tagName-matches' does not add an entry to the MySQL slow query log.