{"action":"opened","issue":{"url":"https://api.github.com/repos/aces/cbrain/issues/130","labels_url":"https://api.github.com/repos/aces/cbrain/issues/130/labels{/name}","comments_url":"https://api.github.com/repos/aces/cbrain/issues/130/comments","events_url":"https://api.github.com/repos/aces/cbrain/issues/130/events","html_url":"https://github.com/aces/cbrain/issues/130","id":86169011,"number":130,"title":" Optimize filter creation code.","user":{"login":"natacha-beck","id":777590,"avatar_url":"https://avatars.githubusercontent.com/u/777590?v=3","gravatar_id":"","url":"https://api.github.com/users/natacha-beck","html_url":"https://github.com/natacha-beck","followers_url":"https://api.github.com/users/natacha-beck/followers","following_url":"https://api.github.com/users/natacha-beck/following{/other_user}","gists_url":"https://api.github.com/users/natacha-beck/gists{/gist_id}","starred_url":"https://api.github.com/users/natacha-beck/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/natacha-beck/subscriptions","organizations_url":"https://api.github.com/users/natacha-beck/orgs","repos_url":"https://api.github.com/users/natacha-beck/repos","events_url":"https://api.github.com/users/natacha-beck/events{/privacy}","received_events_url":"https://api.github.com/users/natacha-beck/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/aces/cbrain/labels/enhancement","name":"enhancement","color":"84b6eb"}],"state":"open","locked":false,"assignee":{"login":"remibernard","id":12155323,"avatar_url":"https://avatars.githubusercontent.com/u/12155323?v=3","gravatar_id":"","url":"https://api.github.com/users/remibernard","html_url":"https://github.com/remibernard","followers_url":"https://api.github.com/users/remibernard/followers","following_url":"https://api.github.com/users/remibernard/following{/other_user}","gists_url":"https://api.github.com/users/remibernard/gists{/gist_id}","starred_url":"https://api.github.com/users/remibernard/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/remibernard/subscriptions","organizations_url":"https://api.github.com/users/remibernard/orgs","repos_url":"https://api.github.com/users/remibernard/repos","events_url":"https://api.github.com/users/remibernard/events{/privacy}","received_events_url":"https://api.github.com/users/remibernard/received_events","type":"User","site_admin":false},"milestone":{"url":"https://api.github.com/repos/aces/cbrain/milestones/3","html_url":"https://github.com/aces/cbrain/milestones/4.2.0","labels_url":"https://api.github.com/repos/aces/cbrain/milestones/3/labels","id":1062263,"number":3,"title":"4.2.0","description":null,"creator":{"login":"prioux","id":777588,"avatar_url":"https://avatars.githubusercontent.com/u/777588?v=3","gravatar_id":"","url":"https://api.github.com/users/prioux","html_url":"https://github.com/prioux","followers_url":"https://api.github.com/users/prioux/followers","following_url":"https://api.github.com/users/prioux/following{/other_user}","gists_url":"https://api.github.com/users/prioux/gists{/gist_id}","starred_url":"https://api.github.com/users/prioux/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/prioux/subscriptions","organizations_url":"https://api.github.com/users/prioux/orgs","repos_url":"https://api.github.com/users/prioux/repos","events_url":"https://api.github.com/users/prioux/events{/privacy}","received_events_url":"https://api.github.com/users/prioux/received_events","type":"User","site_admin":false},"open_issues":16,"closed_issues":0,"state":"open","created_at":"2015-04-10T16:46:49Z","updated_at":"2015-06-08T13:05:53Z","due_on":null,"closed_at":null},"comments":0,"created_at":"2015-06-08T13:05:52Z","updated_at":"2015-06-08T13:05:52Z","closed_at":null,"body":"I'm not sure if it's possible, but I'd like to think of ways to make the code to build filters for index tables more efficient. One thing is I think I could do the query for the full list as a nested query in the second one. Another option is load attributes into memory as arrays (not full objects) using Pierre's raw_rows method, and then do one pass to build the filter lists.\r\n\r\nI'm still not sure if either of these will be much faster then our current code, though.\r\n\r\nRedmine: 3237"}}