{"action":"created","issue":{"url":"https://api.github.com/repos/apache/spark/issues/9693","labels_url":"https://api.github.com/repos/apache/spark/issues/9693/labels{/name}","comments_url":"https://api.github.com/repos/apache/spark/issues/9693/comments","events_url":"https://api.github.com/repos/apache/spark/issues/9693/events","html_url":"https://github.com/apache/spark/pull/9693","id":116786462,"number":9693,"title":"[SPARK-11727][SQL] Split ExpressionEncoder into FlatEncoder and ProductEncoder","user":{"login":"cloud-fan","id":3182036,"avatar_url":"https://avatars.githubusercontent.com/u/3182036?v=3","gravatar_id":"","url":"https://api.github.com/users/cloud-fan","html_url":"https://github.com/cloud-fan","followers_url":"https://api.github.com/users/cloud-fan/followers","following_url":"https://api.github.com/users/cloud-fan/following{/other_user}","gists_url":"https://api.github.com/users/cloud-fan/gists{/gist_id}","starred_url":"https://api.github.com/users/cloud-fan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cloud-fan/subscriptions","organizations_url":"https://api.github.com/users/cloud-fan/orgs","repos_url":"https://api.github.com/users/cloud-fan/repos","events_url":"https://api.github.com/users/cloud-fan/events{/privacy}","received_events_url":"https://api.github.com/users/cloud-fan/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":4,"created_at":"2015-11-13T15:10:43Z","updated_at":"2015-11-13T18:33:40Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/apache/spark/pulls/9693","html_url":"https://github.com/apache/spark/pull/9693","diff_url":"https://github.com/apache/spark/pull/9693.diff","patch_url":"https://github.com/apache/spark/pull/9693.patch"},"body":"also add more tests for encoders, and fix bugs that I found:\r\n\r\n* when convert array to catalyst array, we can only skip element conversion for native types(e.g. int, long, boolean), not `AtomicType`(String is AtomicType but we need to convert it)\r\n* we should also handle scala `BigDecimal` when convert from catalyst `Decimal`.\r\n* complex map type should be supported\r\n\r\nother issues that still in investigation:\r\n\r\n* encode java `BigDecimal` and decode it back, seems we will loss precision info.\r\n* when encode case class that defined inside a object, `ClassNotFound` exception will be thrown.\r\n\r\nI'll remove unused code in a follow-up PR."},"comment":{"url":"https://api.github.com/repos/apache/spark/issues/comments/156511715","html_url":"https://github.com/apache/spark/pull/9693#issuecomment-156511715","issue_url":"https://api.github.com/repos/apache/spark/issues/9693","id":156511715,"user":{"login":"AmplabJenkins","id":4031291,"avatar_url":"https://avatars.githubusercontent.com/u/4031291?v=3","gravatar_id":"","url":"https://api.github.com/users/AmplabJenkins","html_url":"https://github.com/AmplabJenkins","followers_url":"https://api.github.com/users/AmplabJenkins/followers","following_url":"https://api.github.com/users/AmplabJenkins/following{/other_user}","gists_url":"https://api.github.com/users/AmplabJenkins/gists{/gist_id}","starred_url":"https://api.github.com/users/AmplabJenkins/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/AmplabJenkins/subscriptions","organizations_url":"https://api.github.com/users/AmplabJenkins/orgs","repos_url":"https://api.github.com/users/AmplabJenkins/repos","events_url":"https://api.github.com/users/AmplabJenkins/events{/privacy}","received_events_url":"https://api.github.com/users/AmplabJenkins/received_events","type":"User","site_admin":false},"created_at":"2015-11-13T18:33:40Z","updated_at":"2015-11-13T18:33:40Z","body":"Merged build finished. Test PASSed."}}