{"action":"created","comment":{"url":"https://api.github.com/repos/apache/spark/pulls/comments/88747950","pull_request_review_id":9315511,"id":88747950,"diff_hunk":"@@ -97,7 +97,7 @@ private[hive] class HiveClientImpl(\n   }\n \n   // Create an internal session state for this HiveClientImpl.\n-  val state = {\n+  val state: SessionState = {","path":"sql/hive/src/main/scala/org/apache/spark/sql/hive/client/HiveClientImpl.scala","position":5,"original_position":5,"commit_id":"1a713fd71040fd5a66483141611675847ce5ff29","original_commit_id":"1a713fd71040fd5a66483141611675847ce5ff29","user":{"login":"rxin","id":323388,"avatar_url":"https://avatars.githubusercontent.com/u/323388?v=3","gravatar_id":"","url":"https://api.github.com/users/rxin","html_url":"https://github.com/rxin","followers_url":"https://api.github.com/users/rxin/followers","following_url":"https://api.github.com/users/rxin/following{/other_user}","gists_url":"https://api.github.com/users/rxin/gists{/gist_id}","starred_url":"https://api.github.com/users/rxin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rxin/subscriptions","organizations_url":"https://api.github.com/users/rxin/orgs","repos_url":"https://api.github.com/users/rxin/repos","events_url":"https://api.github.com/users/rxin/events{/privacy}","received_events_url":"https://api.github.com/users/rxin/received_events","type":"User","site_admin":false},"body":"this was extremely confusing what the return type was, given the size of the block.","created_at":"2016-11-18T22:00:28Z","updated_at":"2016-11-18T22:00:28Z","html_url":"https://github.com/apache/spark/pull/15933#discussion_r88747950","pull_request_url":"https://api.github.com/repos/apache/spark/pulls/15933","_links":{"self":{"href":"https://api.github.com/repos/apache/spark/pulls/comments/88747950"},"html":{"href":"https://github.com/apache/spark/pull/15933#discussion_r88747950"},"pull_request":{"href":"https://api.github.com/repos/apache/spark/pulls/15933"}}},"pull_request":{"url":"https://api.github.com/repos/apache/spark/pulls/15933","id":94444538,"html_url":"https://github.com/apache/spark/pull/15933","diff_url":"https://github.com/apache/spark/pull/15933.diff","patch_url":"https://github.com/apache/spark/pull/15933.patch","issue_url":"https://api.github.com/repos/apache/spark/issues/15933","number":15933,"state":"open","locked":false,"title":"[SPARK-18505][SQL] Simplify AnalyzeColumnCommand","user":{"login":"rxin","id":323388,"avatar_url":"https://avatars.githubusercontent.com/u/323388?v=3","gravatar_id":"","url":"https://api.github.com/users/rxin","html_url":"https://github.com/rxin","followers_url":"https://api.github.com/users/rxin/followers","following_url":"https://api.github.com/users/rxin/following{/other_user}","gists_url":"https://api.github.com/users/rxin/gists{/gist_id}","starred_url":"https://api.github.com/users/rxin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rxin/subscriptions","organizations_url":"https://api.github.com/users/rxin/orgs","repos_url":"https://api.github.com/users/rxin/repos","events_url":"https://api.github.com/users/rxin/events{/privacy}","received_events_url":"https://api.github.com/users/rxin/received_events","type":"User","site_admin":false},"body":"## What changes were proposed in this pull request?\r\nI'm spending more time at the design & code level for cost-based optimizer now, and have found a number of issues related to maintainability and compatibility that I will like to address.\r\n\r\nThis is a small pull request to clean up AnalyzeColumnCommand:\r\n\r\n1. Removed warning on duplicated columns. Warnings in log messages are useless since most users that run SQL don't see them.\r\n2. Removed the nested updateStats function, by just inlining the function.\r\n3. Renamed a few functions to better reflect what they do.\r\n4. Removed the factory apply method for ColumnStatStruct. It is a bad pattern to use a apply method that returns an instantiation of a class that is not of the same type (ColumnStatStruct.apply used to return CreateNamedStruct).\r\n5. Renamed ColumnStatStruct to just AnalyzeColumnCommand.\r\n6. Added more documentation explaining some of the non-obvious return types and code blocks.\r\n\r\nIn follow-up pull requests, I'd like to address the following:\r\n\r\n1. Get rid of the Map[String, ColumnStat] map, since internally we should be using Attribute to reference columns, rather than strings.\r\n2. Decouple the fields exposed by ColumnStat and internals of Spark SQL's execution path. Currently the two are coupled because ColumnStat takes in an InternalRow.\r\n3. Correctness: Remove code path that stores statistics in the catalog using the base64 encoding of the UnsafeRow format, which is not stable across Spark versions.\r\n4. Clearly document the data representation stored in the catalog for statistics.\r\n\r\n## How was this patch tested?\r\nAffected test cases have been updated.","created_at":"2016-11-18T22:00:09Z","updated_at":"2016-11-18T22:00:28Z","closed_at":null,"merged_at":null,"merge_commit_sha":"a26e4d9897afab6cf0354a42da89e5ad5b939f09","assignee":null,"assignees":[],"milestone":null,"commits_url":"https://api.github.com/repos/apache/spark/pulls/15933/commits","review_comments_url":"https://api.github.com/repos/apache/spark/pulls/15933/comments","review_comment_url":"https://api.github.com/repos/apache/spark/pulls/comments{/number}","comments_url":"https://api.github.com/repos/apache/spark/issues/15933/comments","statuses_url":"https://api.github.com/repos/apache/spark/statuses/1a713fd71040fd5a66483141611675847ce5ff29","head":{"label":"rxin:SPARK-18505","ref":"SPARK-18505","sha":"1a713fd71040fd5a66483141611675847ce5ff29","user":{"login":"rxin","id":323388,"avatar_url":"https://avatars.githubusercontent.com/u/323388?v=3","gravatar_id":"","url":"https://api.github.com/users/rxin","html_url":"https://github.com/rxin","followers_url":"https://api.github.com/users/rxin/followers","following_url":"https://api.github.com/users/rxin/following{/other_user}","gists_url":"https://api.github.com/users/rxin/gists{/gist_id}","starred_url":"https://api.github.com/users/rxin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rxin/subscriptions","organizations_url":"https://api.github.com/users/rxin/orgs","repos_url":"https://api.github.com/users/rxin/repos","events_url":"https://api.github.com/users/rxin/events{/privacy}","received_events_url":"https://api.github.com/users/rxin/received_events","type":"User","site_admin":false},"repo":{"id":17192644,"name":"spark","full_name":"rxin/spark","owner":{"login":"rxin","id":323388,"avatar_url":"https://avatars.githubusercontent.com/u/323388?v=3","gravatar_id":"","url":"https://api.github.com/users/rxin","html_url":"https://github.com/rxin","followers_url":"https://api.github.com/users/rxin/followers","following_url":"https://api.github.com/users/rxin/following{/other_user}","gists_url":"https://api.github.com/users/rxin/gists{/gist_id}","starred_url":"https://api.github.com/users/rxin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rxin/subscriptions","organizations_url":"https://api.github.com/users/rxin/orgs","repos_url":"https://api.github.com/users/rxin/repos","events_url":"https://api.github.com/users/rxin/events{/privacy}","received_events_url":"https://api.github.com/users/rxin/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/rxin/spark","description":"Mirror of Apache Spark","fork":true,"url":"https://api.github.com/repos/rxin/spark","forks_url":"https://api.github.com/repos/rxin/spark/forks","keys_url":"https://api.github.com/repos/rxin/spark/keys{/key_id}","collaborators_url":"https://api.github.com/repos/rxin/spark/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/rxin/spark/teams","hooks_url":"https://api.github.com/repos/rxin/spark/hooks","issue_events_url":"https://api.github.com/repos/rxin/spark/issues/events{/number}","events_url":"https://api.github.com/repos/rxin/spark/events","assignees_url":"https://api.github.com/repos/rxin/spark/assignees{/user}","branches_url":"https://api.github.com/repos/rxin/spark/branches{/branch}","tags_url":"https://api.github.com/repos/rxin/spark/tags","blobs_url":"https://api.github.com/repos/rxin/spark/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/rxin/spark/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/rxin/spark/git/refs{/sha}","trees_url":"https://api.github.com/repos/rxin/spark/git/trees{/sha}","statuses_url":"https://api.github.com/repos/rxin/spark/statuses/{sha}","languages_url":"https://api.github.com/repos/rxin/spark/languages","stargazers_url":"https://api.github.com/repos/rxin/spark/stargazers","contributors_url":"https://api.github.com/repos/rxin/spark/contributors","subscribers_url":"https://api.github.com/repos/rxin/spark/subscribers","subscription_url":"https://api.github.com/repos/rxin/spark/subscription","commits_url":"https://api.github.com/repos/rxin/spark/commits{/sha}","git_commits_url":"https://api.github.com/repos/rxin/spark/git/commits{/sha}","comments_url":"https://api.github.com/repos/rxin/spark/comments{/number}","issue_comment_url":"https://api.github.com/repos/rxin/spark/issues/comments{/number}","contents_url":"https://api.github.com/repos/rxin/spark/contents/{+path}","compare_url":"https://api.github.com/repos/rxin/spark/compare/{base}...{head}","merges_url":"https://api.github.com/repos/rxin/spark/merges","archive_url":"https://api.github.com/repos/rxin/spark/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/rxin/spark/downloads","issues_url":"https://api.github.com/repos/rxin/spark/issues{/number}","pulls_url":"https://api.github.com/repos/rxin/spark/pulls{/number}","milestones_url":"https://api.github.com/repos/rxin/spark/milestones{/number}","notifications_url":"https://api.github.com/repos/rxin/spark/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/rxin/spark/labels{/name}","releases_url":"https://api.github.com/repos/rxin/spark/releases{/id}","deployments_url":"https://api.github.com/repos/rxin/spark/deployments","created_at":"2014-02-25T23:55:52Z","updated_at":"2016-09-12T14:40:11Z","pushed_at":"2016-11-18T21:52:45Z","git_url":"git://github.com/rxin/spark.git","ssh_url":"git@github.com:rxin/spark.git","clone_url":"https://github.com/rxin/spark.git","svn_url":"https://github.com/rxin/spark","homepage":null,"size":256275,"stargazers_count":6,"watchers_count":6,"language":"Scala","has_issues":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":12,"mirror_url":null,"open_issues_count":0,"forks":12,"open_issues":0,"watchers":6,"default_branch":"master"}},"base":{"label":"apache:master","ref":"master","sha":"40d59ff5eaac6df237fe3d50186695c3806b268c","user":{"login":"apache","id":47359,"avatar_url":"https://avatars.githubusercontent.com/u/47359?v=3","gravatar_id":"","url":"https://api.github.com/users/apache","html_url":"https://github.com/apache","followers_url":"https://api.github.com/users/apache/followers","following_url":"https://api.github.com/users/apache/following{/other_user}","gists_url":"https://api.github.com/users/apache/gists{/gist_id}","starred_url":"https://api.github.com/users/apache/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/apache/subscriptions","organizations_url":"https://api.github.com/users/apache/orgs","repos_url":"https://api.github.com/users/apache/repos","events_url":"https://api.github.com/users/apache/events{/privacy}","received_events_url":"https://api.github.com/users/apache/received_events","type":"Organization","site_admin":false},"repo":{"id":17165658,"name":"spark","full_name":"apache/spark","owner":{"login":"apache","id":47359,"avatar_url":"https://avatars.githubusercontent.com/u/47359?v=3","gravatar_id":"","url":"https://api.github.com/users/apache","html_url":"https://github.com/apache","followers_url":"https://api.github.com/users/apache/followers","following_url":"https://api.github.com/users/apache/following{/other_user}","gists_url":"https://api.github.com/users/apache/gists{/gist_id}","starred_url":"https://api.github.com/users/apache/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/apache/subscriptions","organizations_url":"https://api.github.com/users/apache/orgs","repos_url":"https://api.github.com/users/apache/repos","events_url":"https://api.github.com/users/apache/events{/privacy}","received_events_url":"https://api.github.com/users/apache/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/apache/spark","description":"Mirror of Apache Spark","fork":false,"url":"https://api.github.com/repos/apache/spark","forks_url":"https://api.github.com/repos/apache/spark/forks","keys_url":"https://api.github.com/repos/apache/spark/keys{/key_id}","collaborators_url":"https://api.github.com/repos/apache/spark/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/apache/spark/teams","hooks_url":"https://api.github.com/repos/apache/spark/hooks","issue_events_url":"https://api.github.com/repos/apache/spark/issues/events{/number}","events_url":"https://api.github.com/repos/apache/spark/events","assignees_url":"https://api.github.com/repos/apache/spark/assignees{/user}","branches_url":"https://api.github.com/repos/apache/spark/branches{/branch}","tags_url":"https://api.github.com/repos/apache/spark/tags","blobs_url":"https://api.github.com/repos/apache/spark/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/apache/spark/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/apache/spark/git/refs{/sha}","trees_url":"https://api.github.com/repos/apache/spark/git/trees{/sha}","statuses_url":"https://api.github.com/repos/apache/spark/statuses/{sha}","languages_url":"https://api.github.com/repos/apache/spark/languages","stargazers_url":"https://api.github.com/repos/apache/spark/stargazers","contributors_url":"https://api.github.com/repos/apache/spark/contributors","subscribers_url":"https://api.github.com/repos/apache/spark/subscribers","subscription_url":"https://api.github.com/repos/apache/spark/subscription","commits_url":"https://api.github.com/repos/apache/spark/commits{/sha}","git_commits_url":"https://api.github.com/repos/apache/spark/git/commits{/sha}","comments_url":"https://api.github.com/repos/apache/spark/comments{/number}","issue_comment_url":"https://api.github.com/repos/apache/spark/issues/comments{/number}","contents_url":"https://api.github.com/repos/apache/spark/contents/{+path}","compare_url":"https://api.github.com/repos/apache/spark/compare/{base}...{head}","merges_url":"https://api.github.com/repos/apache/spark/merges","archive_url":"https://api.github.com/repos/apache/spark/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/apache/spark/downloads","issues_url":"https://api.github.com/repos/apache/spark/issues{/number}","pulls_url":"https://api.github.com/repos/apache/spark/pulls{/number}","milestones_url":"https://api.github.com/repos/apache/spark/milestones{/number}","notifications_url":"https://api.github.com/repos/apache/spark/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/apache/spark/labels{/name}","releases_url":"https://api.github.com/repos/apache/spark/releases{/id}","deployments_url":"https://api.github.com/repos/apache/spark/deployments","created_at":"2014-02-25T08:00:08Z","updated_at":"2016-11-18T21:30:21Z","pushed_at":"2016-11-18T22:00:09Z","git_url":"git://github.com/apache/spark.git","ssh_url":"git@github.com:apache/spark.git","clone_url":"https://github.com/apache/spark.git","svn_url":"https://github.com/apache/spark","homepage":null,"size":611175,"stargazers_count":10778,"watchers_count":10778,"language":"Scala","has_issues":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":10060,"mirror_url":"git://git.apache.org/spark.git","open_issues_count":447,"forks":10060,"open_issues":447,"watchers":10778,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/apache/spark/pulls/15933"},"html":{"href":"https://github.com/apache/spark/pull/15933"},"issue":{"href":"https://api.github.com/repos/apache/spark/issues/15933"},"comments":{"href":"https://api.github.com/repos/apache/spark/issues/15933/comments"},"review_comments":{"href":"https://api.github.com/repos/apache/spark/pulls/15933/comments"},"review_comment":{"href":"https://api.github.com/repos/apache/spark/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/apache/spark/pulls/15933/commits"},"statuses":{"href":"https://api.github.com/repos/apache/spark/statuses/1a713fd71040fd5a66483141611675847ce5ff29"}}}}
{"actor":{"display_login":"rxin"}}