{"action":"created","issue":{"url":"https://api.github.com/repos/apache/spark/issues/10296","labels_url":"https://api.github.com/repos/apache/spark/issues/10296/labels{/name}","comments_url":"https://api.github.com/repos/apache/spark/issues/10296/comments","events_url":"https://api.github.com/repos/apache/spark/issues/10296/events","html_url":"https://github.com/apache/spark/pull/10296","id":122094401,"number":10296,"title":"[SPARK-12323][SPARK-12335][SPARK-12336][SPARK-12341][SPARK-12342][SQL] Makes BoundReference respect nullability","user":{"login":"liancheng","id":230655,"avatar_url":"https://avatars.githubusercontent.com/u/230655?v=3","gravatar_id":"","url":"https://api.github.com/users/liancheng","html_url":"https://github.com/liancheng","followers_url":"https://api.github.com/users/liancheng/followers","following_url":"https://api.github.com/users/liancheng/following{/other_user}","gists_url":"https://api.github.com/users/liancheng/gists{/gist_id}","starred_url":"https://api.github.com/users/liancheng/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/liancheng/subscriptions","organizations_url":"https://api.github.com/users/liancheng/orgs","repos_url":"https://api.github.com/users/liancheng/repos","events_url":"https://api.github.com/users/liancheng/events{/privacy}","received_events_url":"https://api.github.com/users/liancheng/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":16,"created_at":"2015-12-14T17:49:15Z","updated_at":"2015-12-16T01:44:53Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/apache/spark/pulls/10296","html_url":"https://github.com/apache/spark/pull/10296","diff_url":"https://github.com/apache/spark/pull/10296.diff","patch_url":"https://github.com/apache/spark/pull/10296.patch"},"body":"This PR partially fixes SPARK-12323 by making `BoundReference` respect nullability. Now if a \"top-level\" column is defined as non-nullable, nulls appear in input data will cause a runtime exception with nice error message.\r\n\r\nTwo other existing nullability bugs are also discovered by this change and fixed in this PR.\r\n\r\nWhat this PR doesn't fix is cases of non-nullable nested fields, which are covered in the 3 newly added ignored test cases. These test cases fail because `NewInstance`, `MakeObjects`, and potentially some other expressions along the way are always nullable. To fix these test cases, these expressions must also respect nullability. Would like to fix them in a follow-up PR."},"comment":{"url":"https://api.github.com/repos/apache/spark/issues/comments/164960361","html_url":"https://github.com/apache/spark/pull/10296#issuecomment-164960361","issue_url":"https://api.github.com/repos/apache/spark/issues/10296","id":164960361,"user":{"login":"liancheng","id":230655,"avatar_url":"https://avatars.githubusercontent.com/u/230655?v=3","gravatar_id":"","url":"https://api.github.com/users/liancheng","html_url":"https://github.com/liancheng","followers_url":"https://api.github.com/users/liancheng/followers","following_url":"https://api.github.com/users/liancheng/following{/other_user}","gists_url":"https://api.github.com/users/liancheng/gists{/gist_id}","starred_url":"https://api.github.com/users/liancheng/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/liancheng/subscriptions","organizations_url":"https://api.github.com/users/liancheng/orgs","repos_url":"https://api.github.com/users/liancheng/repos","events_url":"https://api.github.com/users/liancheng/events{/privacy}","received_events_url":"https://api.github.com/users/liancheng/received_events","type":"User","site_admin":false},"created_at":"2015-12-16T01:44:53Z","updated_at":"2015-12-16T01:44:53Z","body":"@cloud-fan Yeah, that's the plan. Thanks for the review!"}}