{"action":"created","issue":{"url":"https://api.github.com/repos/apache/spark/issues/7689","labels_url":"https://api.github.com/repos/apache/spark/issues/7689/labels{/name}","comments_url":"https://api.github.com/repos/apache/spark/issues/7689/comments","events_url":"https://api.github.com/repos/apache/spark/issues/7689/events","html_url":"https://github.com/apache/spark/pull/7689","id":97399257,"number":7689,"title":"[SPARK-9373][SQL] Support StructType in Tungsten projection","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},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":20,"created_at":"2015-07-27T06:55:05Z","updated_at":"2015-07-27T22:49:16Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/apache/spark/pulls/7689","html_url":"https://github.com/apache/spark/pull/7689","diff_url":"https://github.com/apache/spark/pull/7689.diff","patch_url":"https://github.com/apache/spark/pull/7689.patch"},"body":"This pull request updates GenerateUnsafeProjection to support StructType. If an input struct type is backed already by an UnsafeRow, GenerateUnsafeProjection copies the bytes directly into its buffer space without any conversion. However, if the input is not an UnsafeRow, GenerateUnsafeProjection runs the code generated recursively to convert the input into an UnsafeRow and then copies it into the buffer space.\r\n\r\nAlso create a TungstenProject operator that projects data directly into UnsafeRow. Note that I'm not sure if this is the way we want to structure Unsafe+codegen operators, but we can defer that decision to follow-up pull requests."},"comment":{"url":"https://api.github.com/repos/apache/spark/issues/comments/125372423","html_url":"https://github.com/apache/spark/pull/7689#issuecomment-125372423","issue_url":"https://api.github.com/repos/apache/spark/issues/7689","id":125372423,"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-07-27T22:49:15Z","updated_at":"2015-07-27T22:49:15Z","body":" Merged build triggered."}}