GitHub PullRequestEvent at 2014-02-03 04:03:27
Repository: belongs_to_hstore
Actor: evanlok
Payload: {"action":"closed","number":1,"pull_request":{"url":"https://api.github.com/repos/evanlok/belongs_to_hstore/pulls/1","id":12119101,"html_url":"https://github.com/evanlok/belongs_to_hstore/pull/1","diff_url":"https://github.com/evanlok/belongs_to_hstore/pull/1.diff","patch_url":"https://github.com/evanlok/belongs_to_hstore/pull/1.patch","issue_url":"https://api.github.com/repos/evanlok/belongs_to_hstore/issues/1","number":1,"state":"closed","title":"Improve performance of read_attribute","user":{"login":"dgynn","id":103968,"avatar_url":"https://gravatar.com/avatar/d2765cd9e13e0662785325315b187b14?d=https%3A%2F%2Fidenticons.github.com%2F494c9ccfa27cbc0348b8569acb0dffa4.png&r=x","gravatar_id":"d2765cd9e13e0662785325315b187b14","url":"https://api.github.com/users/dgynn","html_url":"https://github.com/dgynn","followers_url":"https://api.github.com/users/dgynn/followers","following_url":"https://api.github.com/users/dgynn/following{/other_user}","gists_url":"https://api.github.com/users/dgynn/gists{/gist_id}","starred_url":"https://api.github.com/users/dgynn/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dgynn/subscriptions","organizations_url":"https://api.github.com/users/dgynn/orgs","repos_url":"https://api.github.com/users/dgynn/repos","events_url":"https://api.github.com/users/dgynn/events{/privacy}","received_events_url":"https://api.github.com/users/dgynn/received_events","type":"User","site_admin":false},"body":"The modifications injected into the AR::Base class for read/write_attribute cause a performance slowdown on all ActiveRecord attribute reads. This refactoring removes the Railtie which includes BelongsToHstore in AR::Base so that classes without hstore attributes are not impacted.\r\n\r\nThis is a breaking change and requires that the BelongsToHstore is included into any class that uses it.\r\n\r\nWe've seen a 5-10% speed improvement across the board with this change and a reduction in the number of Strings created.","created_at":"2014-02-02T23:12:50Z","updated_at":"2014-02-03T04:03:27Z","closed_at":"2014-02-03T04:03:27Z","merged_at":"2014-02-03T04:03:27Z","merge_commit_sha":"787a9ebc282567446634d2e6c614b19400f509d4","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/evanlok/belongs_to_hstore/pulls/1/commits","review_comments_url":"https://api.github.com/repos/evanlok/belongs_to_hstore/pulls/1/comments","review_comment_url":"https://api.github.com/repos/evanlok/belongs_to_hstore/pulls/comments/{number}","comments_url":"https://api.github.com/repos/evanlok/belongs_to_hstore/issues/1/comments","statuses_url":"https://api.github.com/repos/evanlok/belongs_to_hstore/statuses/43c7f9fc3b5807467d83a10341a8113d2e1691ac","head":{"label":"universitynow:feature/performance_tuning","ref":"feature/performance_tuning","sha":"43c7f9fc3b5807467d83a10341a8113d2e1691ac","user":{"login":"universitynow","id":810335,"avatar_url":"https://gravatar.com/avatar/69688d71f14ccdb946a73425c35c2887?d=https%3A%2F%2Fidenticons.github.com%2F3d6d343b207fd78e40511d2e5d008378.png&r=x","gravatar_id":"69688d71f14ccdb946a73425c35c2887","url":"https://api.github.com/users/universitynow","html_url":"https://github.com/universitynow","followers_url":"https://api.github.com/users/universitynow/followers","following_url":"https://api.github.com/users/universitynow/following{/other_user}","gists_url":"https://api.github.com/users/universitynow/gists{/gist_id}","starred_url":"https://api.github.com/users/universitynow/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/universitynow/subscriptions","organizations_url":"https://api.github.com/users/universitynow/orgs","repos_url":"https://api.github.com/users/universitynow/repos","events_url":"https://api.github.com/users/universitynow/events{/privacy}","received_events_url":"https://api.github.com/users/universitynow/received_events","type":"Organization","site_admin":false},"repo":{"id":16334455,"name":"belongs_to_hstore","full_name":"universitynow/belongs_to_hstore","owner":{"login":"universitynow","id":810335,"avatar_url":"https://gravatar.com/avatar/69688d71f14ccdb946a73425c35c2887?d=https%3A%2F%2Fidenticons.github.com%2F3d6d343b207fd78e40511d2e5d008378.png&r=x","gravatar_id":"69688d71f14ccdb946a73425c35c2887","url":"https://api.github.com/users/universitynow","html_url":"https://github.com/universitynow","followers_url":"https://api.github.com/users/universitynow/followers","following_url":"https://api.github.com/users/universitynow/following{/other_user}","gists_url":"https://api.github.com/users/universitynow/gists{/gist_id}","starred_url":"https://api.github.com/users/universitynow/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/universitynow/subscriptions","organizations_url":"https://api.github.com/users/universitynow/orgs","repos_url":"https://api.github.com/users/universitynow/repos","events_url":"https://api.github.com/users/universitynow/events{/privacy}","received_events_url":"https://api.github.com/users/universitynow/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/universitynow/belongs_to_hstore","description":"Create ActiveRecord belongs_to associations using postgresql hstore columns","fork":true,"url":"https://api.github.com/repos/universitynow/belongs_to_hstore","forks_url":"https://api.github.com/repos/universitynow/belongs_to_hstore/forks","keys_url":"https://api.github.com/repos/universitynow/belongs_to_hstore/keys{/key_id}","collaborators_url":"https://api.github.com/repos/universitynow/belongs_to_hstore/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/universitynow/belongs_to_hstore/teams","hooks_url":"https://api.github.com/repos/universitynow/belongs_to_hstore/hooks","issue_events_url":"https://api.github.com/repos/universitynow/belongs_to_hstore/issues/events{/number}","events_url":"https://api.github.com/repos/universitynow/belongs_to_hstore/events","assignees_url":"https://api.github.com/repos/universitynow/belongs_to_hstore/assignees{/user}","branches_url":"https://api.github.com/repos/universitynow/belongs_to_hstore/branches{/branch}","tags_url":"https://api.github.com/repos/universitynow/belongs_to_hstore/tags","blobs_url":"https://api.github.com/repos/universitynow/belongs_to_hstore/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/universitynow/belongs_to_hstore/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/universitynow/belongs_to_hstore/git/refs{/sha}","trees_url":"https://api.github.com/repos/universitynow/belongs_to_hstore/git/trees{/sha}","statuses_url":"https://api.github.com/repos/universitynow/belongs_to_hstore/statuses/{sha}","languages_url":"https://api.github.com/repos/universitynow/belongs_to_hstore/languages","stargazers_url":"https://api.github.com/repos/universitynow/belongs_to_hstore/stargazers","contributors_url":"https://api.github.com/repos/universitynow/belongs_to_hstore/contributors","subscribers_url":"https://api.github.com/repos/universitynow/belongs_to_hstore/subscribers","subscription_url":"https://api.github.com/repos/universitynow/belongs_to_hstore/subscription","commits_url":"https://api.github.com/repos/universitynow/belongs_to_hstore/commits{/sha}","git_commits_url":"https://api.github.com/repos/universitynow/belongs_to_hstore/git/commits{/sha}","comments_url":"https://api.github.com/repos/universitynow/belongs_to_hstore/comments{/number}","issue_comment_url":"https://api.github.com/repos/universitynow/belongs_to_hstore/issues/comments/{number}","contents_url":"https://api.github.com/repos/universitynow/belongs_to_hstore/contents/{+path}","compare_url":"https://api.github.com/repos/universitynow/belongs_to_hstore/compare/{base}...{head}","merges_url":"https://api.github.com/repos/universitynow/belongs_to_hstore/merges","archive_url":"https://api.github.com/repos/universitynow/belongs_to_hstore/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/universitynow/belongs_to_hstore/downloads","issues_url":"https://api.github.com/repos/universitynow/belongs_to_hstore/issues{/number}","pulls_url":"https://api.github.com/repos/universitynow/belongs_to_hstore/pulls{/number}","milestones_url":"https://api.github.com/repos/universitynow/belongs_to_hstore/milestones{/number}","notifications_url":"https://api.github.com/repos/universitynow/belongs_to_hstore/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/universitynow/belongs_to_hstore/labels{/name}","releases_url":"https://api.github.com/repos/universitynow/belongs_to_hstore/releases{/id}","created_at":"2014-01-29T03:34:02Z","updated_at":"2014-02-03T04:03:27Z","pushed_at":"2014-01-30T07:06:29Z","git_url":"git://github.com/universitynow/belongs_to_hstore.git","ssh_url":"git@github.com:universitynow/belongs_to_hstore.git","clone_url":"https://github.com/universitynow/belongs_to_hstore.git","svn_url":"https://github.com/universitynow/belongs_to_hstore","homepage":null,"size":109,"stargazers_count":1,"watchers_count":1,"language":"Ruby","has_issues":false,"has_downloads":true,"has_wiki":true,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":1,"default_branch":"master","master_branch":"master"}},"base":{"label":"evanlok:master","ref":"master","sha":"87ec0ad5808e28d87e4f176fdf00d00a4deed441","user":{"login":"evanlok","id":146904,"avatar_url":"https://gravatar.com/avatar/ae05365e9f44ade75dfa0e6e83cf76fc?d=https%3A%2F%2Fidenticons.github.com%2F1f25abe9570e9954be7b58b359fbaee8.png&r=x","gravatar_id":"ae05365e9f44ade75dfa0e6e83cf76fc","url":"https://api.github.com/users/evanlok","html_url":"https://github.com/evanlok","followers_url":"https://api.github.com/users/evanlok/followers","following_url":"https://api.github.com/users/evanlok/following{/other_user}","gists_url":"https://api.github.com/users/evanlok/gists{/gist_id}","starred_url":"https://api.github.com/users/evanlok/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/evanlok/subscriptions","organizations_url":"https://api.github.com/users/evanlok/orgs","repos_url":"https://api.github.com/users/evanlok/repos","events_url":"https://api.github.com/users/evanlok/events{/privacy}","received_events_url":"https://api.github.com/users/evanlok/received_events","type":"User","site_admin":false},"repo":{"id":13914996,"name":"belongs_to_hstore","full_name":"evanlok/belongs_to_hstore","owner":{"login":"evanlok","id":146904,"avatar_url":"https://gravatar.com/avatar/ae05365e9f44ade75dfa0e6e83cf76fc?d=https%3A%2F%2Fidenticons.github.com%2F1f25abe9570e9954be7b58b359fbaee8.png&r=x","gravatar_id":"ae05365e9f44ade75dfa0e6e83cf76fc","url":"https://api.github.com/users/evanlok","html_url":"https://github.com/evanlok","followers_url":"https://api.github.com/users/evanlok/followers","following_url":"https://api.github.com/users/evanlok/following{/other_user}","gists_url":"https://api.github.com/users/evanlok/gists{/gist_id}","starred_url":"https://api.github.com/users/evanlok/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/evanlok/subscriptions","organizations_url":"https://api.github.com/users/evanlok/orgs","repos_url":"https://api.github.com/users/evanlok/repos","events_url":"https://api.github.com/users/evanlok/events{/privacy}","received_events_url":"https://api.github.com/users/evanlok/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/evanlok/belongs_to_hstore","description":"Create ActiveRecord belongs_to associations using postgresql hstore columns","fork":false,"url":"https://api.github.com/repos/evanlok/belongs_to_hstore","forks_url":"https://api.github.com/repos/evanlok/belongs_to_hstore/forks","keys_url":"https://api.github.com/repos/evanlok/belongs_to_hstore/keys{/key_id}","collaborators_url":"https://api.github.com/repos/evanlok/belongs_to_hstore/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/evanlok/belongs_to_hstore/teams","hooks_url":"https://api.github.com/repos/evanlok/belongs_to_hstore/hooks","issue_events_url":"https://api.github.com/repos/evanlok/belongs_to_hstore/issues/events{/number}","events_url":"https://api.github.com/repos/evanlok/belongs_to_hstore/events","assignees_url":"https://api.github.com/repos/evanlok/belongs_to_hstore/assignees{/user}","branches_url":"https://api.github.com/repos/evanlok/belongs_to_hstore/branches{/branch}","tags_url":"https://api.github.com/repos/evanlok/belongs_to_hstore/tags","blobs_url":"https://api.github.com/repos/evanlok/belongs_to_hstore/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/evanlok/belongs_to_hstore/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/evanlok/belongs_to_hstore/git/refs{/sha}","trees_url":"https://api.github.com/repos/evanlok/belongs_to_hstore/git/trees{/sha}","statuses_url":"https://api.github.com/repos/evanlok/belongs_to_hstore/statuses/{sha}","languages_url":"https://api.github.com/repos/evanlok/belongs_to_hstore/languages","stargazers_url":"https://api.github.com/repos/evanlok/belongs_to_hstore/stargazers","contributors_url":"https://api.github.com/repos/evanlok/belongs_to_hstore/contributors","subscribers_url":"https://api.github.com/repos/evanlok/belongs_to_hstore/subscribers","subscription_url":"https://api.github.com/repos/evanlok/belongs_to_hstore/subscription","commits_url":"https://api.github.com/repos/evanlok/belongs_to_hstore/commits{/sha}","git_commits_url":"https://api.github.com/repos/evanlok/belongs_to_hstore/git/commits{/sha}","comments_url":"https://api.github.com/repos/evanlok/belongs_to_hstore/comments{/number}","issue_comment_url":"https://api.github.com/repos/evanlok/belongs_to_hstore/issues/comments/{number}","contents_url":"https://api.github.com/repos/evanlok/belongs_to_hstore/contents/{+path}","compare_url":"https://api.github.com/repos/evanlok/belongs_to_hstore/compare/{base}...{head}","merges_url":"https://api.github.com/repos/evanlok/belongs_to_hstore/merges","archive_url":"https://api.github.com/repos/evanlok/belongs_to_hstore/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/evanlok/belongs_to_hstore/downloads","issues_url":"https://api.github.com/repos/evanlok/belongs_to_hstore/issues{/number}","pulls_url":"https://api.github.com/repos/evanlok/belongs_to_hstore/pulls{/number}","milestones_url":"https://api.github.com/repos/evanlok/belongs_to_hstore/milestones{/number}","notifications_url":"https://api.github.com/repos/evanlok/belongs_to_hstore/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/evanlok/belongs_to_hstore/labels{/name}","releases_url":"https://api.github.com/repos/evanlok/belongs_to_hstore/releases{/id}","created_at":"2013-10-28T02:34:16Z","updated_at":"2014-02-03T04:03:27Z","pushed_at":"2014-02-03T04:03:27Z","git_url":"git://github.com/evanlok/belongs_to_hstore.git","ssh_url":"git@github.com:evanlok/belongs_to_hstore.git","clone_url":"https://github.com/evanlok/belongs_to_hstore.git","svn_url":"https://github.com/evanlok/belongs_to_hstore","homepage":null,"size":140,"stargazers_count":4,"watchers_count":4,"language":"Ruby","has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":1,"mirror_url":null,"open_issues_count":0,"forks":1,"open_issues":0,"watchers":4,"default_branch":"master","master_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/evanlok/belongs_to_hstore/pulls/1"},"html":{"href":"https://github.com/evanlok/belongs_to_hstore/pull/1"},"issue":{"href":"https://api.github.com/repos/evanlok/belongs_to_hstore/issues/1"},"comments":{"href":"https://api.github.com/repos/evanlok/belongs_to_hstore/issues/1/comments"},"review_comments":{"href":"https://api.github.com/repos/evanlok/belongs_to_hstore/pulls/1/comments"},"review_comment":{"href":"https://api.github.com/repos/evanlok/belongs_to_hstore/pulls/comments/{number}"},"commits":{"href":"https://api.github.com/repos/evanlok/belongs_to_hstore/pulls/1/commits"},"statuses":{"href":"https://api.github.com/repos/evanlok/belongs_to_hstore/statuses/43c7f9fc3b5807467d83a10341a8113d2e1691ac"}},"merged":true,"mergeable":null,"mergeable_state":"unknown","merged_by":{"login":"evanlok","id":146904,"avatar_url":"https://gravatar.com/avatar/ae05365e9f44ade75dfa0e6e83cf76fc?d=https%3A%2F%2Fidenticons.github.com%2F1f25abe9570e9954be7b58b359fbaee8.png&r=x","gravatar_id":"ae05365e9f44ade75dfa0e6e83cf76fc","url":"https://api.github.com/users/evanlok","html_url":"https://github.com/evanlok","followers_url":"https://api.github.com/users/evanlok/followers","following_url":"https://api.github.com/users/evanlok/following{/other_user}","gists_url":"https://api.github.com/users/evanlok/gists{/gist_id}","starred_url":"https://api.github.com/users/evanlok/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/evanlok/subscriptions","organizations_url":"https://api.github.com/users/evanlok/orgs","repos_url":"https://api.github.com/users/evanlok/repos","events_url":"https://api.github.com/users/evanlok/events{/privacy}","received_events_url":"https://api.github.com/users/evanlok/received_events","type":"User","site_admin":false},"comments":0,"review_comments":0,"commits":2,"additions":49,"deletions":22,"changed_files":6}}