{"action":"created","issue":{"url":"https://api.github.com/repos/apache/spark/issues/11792","repository_url":"https://api.github.com/repos/apache/spark","labels_url":"https://api.github.com/repos/apache/spark/issues/11792/labels{/name}","comments_url":"https://api.github.com/repos/apache/spark/issues/11792/comments","events_url":"https://api.github.com/repos/apache/spark/issues/11792/events","html_url":"https://github.com/apache/spark/pull/11792","id":141692005,"number":11792,"title":"[SPARK-13981][SQL] Defer evaluating variables within Filter operator.","user":{"login":"nongli","id":242468,"avatar_url":"https://avatars.githubusercontent.com/u/242468?v=3","gravatar_id":"","url":"https://api.github.com/users/nongli","html_url":"https://github.com/nongli","followers_url":"https://api.github.com/users/nongli/followers","following_url":"https://api.github.com/users/nongli/following{/other_user}","gists_url":"https://api.github.com/users/nongli/gists{/gist_id}","starred_url":"https://api.github.com/users/nongli/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nongli/subscriptions","organizations_url":"https://api.github.com/users/nongli/orgs","repos_url":"https://api.github.com/users/nongli/repos","events_url":"https://api.github.com/users/nongli/events{/privacy}","received_events_url":"https://api.github.com/users/nongli/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":4,"created_at":"2016-03-17T20:01:39Z","updated_at":"2016-03-21T23:33:33Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/apache/spark/pulls/11792","html_url":"https://github.com/apache/spark/pull/11792","diff_url":"https://github.com/apache/spark/pull/11792.diff","patch_url":"https://github.com/apache/spark/pull/11792.patch"},"body":"## What changes were proposed in this pull request?\r\n\r\nThis improves the Filter codegen to defer loading variables within the generated\r\nfilter code. This is useful since the filter logic naturally short circuits and\r\nthe deferred logic doesn't need to be run.\r\n\r\n## How was this patch tested?\r\n\r\nOn tpcds q55, this fixes the regression from introducing the IsNotNull predicates.\r\n\r\n```\r\nTPCDS Snappy:                       Best/Avg Time(ms)    Rate(M/s)   Per Row(ns)\r\n--------------------------------------------------------------------------------\r\nq55  (master)                            5562 / 5822         20.7          48.3\r\nq55  (this patch)                        5079 / 5190         22.7          44.1\r\n```"},"comment":{"url":"https://api.github.com/repos/apache/spark/issues/comments/199536766","html_url":"https://github.com/apache/spark/pull/11792#issuecomment-199536766","issue_url":"https://api.github.com/repos/apache/spark/issues/11792","id":199536766,"user":{"login":"SparkQA","id":8108735,"avatar_url":"https://avatars.githubusercontent.com/u/8108735?v=3","gravatar_id":"","url":"https://api.github.com/users/SparkQA","html_url":"https://github.com/SparkQA","followers_url":"https://api.github.com/users/SparkQA/followers","following_url":"https://api.github.com/users/SparkQA/following{/other_user}","gists_url":"https://api.github.com/users/SparkQA/gists{/gist_id}","starred_url":"https://api.github.com/users/SparkQA/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/SparkQA/subscriptions","organizations_url":"https://api.github.com/users/SparkQA/orgs","repos_url":"https://api.github.com/users/SparkQA/repos","events_url":"https://api.github.com/users/SparkQA/events{/privacy}","received_events_url":"https://api.github.com/users/SparkQA/received_events","type":"User","site_admin":false},"created_at":"2016-03-21T23:33:33Z","updated_at":"2016-03-21T23:33:33Z","body":"**[Test build #53715 has finished](https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/53715/consoleFull)** for PR 11792 at commit [`dd35e2e`](https://github.com/apache/spark/commit/dd35e2e38a9ffc53300269c2cc618272d3900ed8).\n * This patch passes all tests.\n * This patch merges cleanly.\n * This patch adds no public classes."}}