{"action":"created","issue":{"url":"https://api.github.com/repos/financialforcedev/fflib-apex-common/issues/50","labels_url":"https://api.github.com/repos/financialforcedev/fflib-apex-common/issues/50/labels{/name}","comments_url":"https://api.github.com/repos/financialforcedev/fflib-apex-common/issues/50/comments","events_url":"https://api.github.com/repos/financialforcedev/fflib-apex-common/issues/50/events","html_url":"https://github.com/financialforcedev/fflib-apex-common/pull/50","id":85781998,"number":50,"title":"Use StringBuilder in the QueryFactory","user":{"login":"ForceComDeveloper","id":522422,"avatar_url":"https://avatars.githubusercontent.com/u/522422?v=3","gravatar_id":"","url":"https://api.github.com/users/ForceComDeveloper","html_url":"https://github.com/ForceComDeveloper","followers_url":"https://api.github.com/users/ForceComDeveloper/followers","following_url":"https://api.github.com/users/ForceComDeveloper/following{/other_user}","gists_url":"https://api.github.com/users/ForceComDeveloper/gists{/gist_id}","starred_url":"https://api.github.com/users/ForceComDeveloper/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ForceComDeveloper/subscriptions","organizations_url":"https://api.github.com/users/ForceComDeveloper/orgs","repos_url":"https://api.github.com/users/ForceComDeveloper/repos","events_url":"https://api.github.com/users/ForceComDeveloper/events{/privacy}","received_events_url":"https://api.github.com/users/ForceComDeveloper/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":7,"created_at":"2015-06-06T17:08:24Z","updated_at":"2015-07-25T11:24:21Z","closed_at":"2015-07-25T11:24:21Z","pull_request":{"url":"https://api.github.com/repos/financialforcedev/fflib-apex-common/pulls/50","html_url":"https://github.com/financialforcedev/fflib-apex-common/pull/50","diff_url":"https://github.com/financialforcedev/fflib-apex-common/pull/50.diff","patch_url":"https://github.com/financialforcedev/fflib-apex-common/pull/50.patch"},"body":"Modification of the StringBuilder : \r\n* Added a constructor with single string\r\n* Added remove method\r\n* Added size method\r\n\r\nModification in the QueryFactory : \r\n* toSOQL implemented with StringBuilder\r\n\r\nAdded a Benchmarker tool"},"comment":{"url":"https://api.github.com/repos/financialforcedev/fflib-apex-common/issues/comments/124835819","html_url":"https://github.com/financialforcedev/fflib-apex-common/pull/50#issuecomment-124835819","issue_url":"https://api.github.com/repos/financialforcedev/fflib-apex-common/issues/50","id":124835819,"user":{"login":"afawcett","id":1167760,"avatar_url":"https://avatars.githubusercontent.com/u/1167760?v=3","gravatar_id":"","url":"https://api.github.com/users/afawcett","html_url":"https://github.com/afawcett","followers_url":"https://api.github.com/users/afawcett/followers","following_url":"https://api.github.com/users/afawcett/following{/other_user}","gists_url":"https://api.github.com/users/afawcett/gists{/gist_id}","starred_url":"https://api.github.com/users/afawcett/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/afawcett/subscriptions","organizations_url":"https://api.github.com/users/afawcett/orgs","repos_url":"https://api.github.com/users/afawcett/repos","events_url":"https://api.github.com/users/afawcett/events{/privacy}","received_events_url":"https://api.github.com/users/afawcett/received_events","type":"User","site_admin":false},"created_at":"2015-07-25T11:24:21Z","updated_at":"2015-07-25T11:24:21Z","body":"@ForceComDeveloper there is some great work here, but this PR has become a little complex with multiple things in it, let me try to summarise...\r\n\r\n- The main part of this is a performance improvement, i think if this is for sure going to benifit and you can prove with some more complex examples (as per my last comment there are a few in the sample app repo), then i'd be happy to accept a PR for just the changes to the query factory class.\r\n- There is also a change to 'Fixing IdSet implementation of the memoization pattern', did you have any thoughts on my response to this change? Again, it would be good if you want to progress that to open that as its own issue and PR if so.\r\n- Finally you have written what looks like an excellent benchmarking framework, worth of its own repo in my view. Have you thought about perhaps hosting on your own GitHub account. With the CPU Governor being more and more the controlling factor, I think there is a gap that needs to be filled for tools and approaches that help measure execution times btw.\r\n\r\nSo please do not take this as my wanting to dismiss any of this, quite the opposite! :+1:  But i think its best if we close this PR and review next steps in respect to the items above. Hope this makes sense and please do keep supporting this library, really do appreciate it, look forward to your thoughts!"}}