{"action":"created","issue":{"url":"https://api.github.com/repos/apache/spark/issues/8200","labels_url":"https://api.github.com/repos/apache/spark/issues/8200/labels{/name}","comments_url":"https://api.github.com/repos/apache/spark/issues/8200/comments","events_url":"https://api.github.com/repos/apache/spark/issues/8200/events","html_url":"https://github.com/apache/spark/pull/8200","id":100999580,"number":8200,"title":"[SPARK-6624][SQL]Convert filters into CNF for data sources","user":{"login":"yjshen","id":1387718,"avatar_url":"https://avatars.githubusercontent.com/u/1387718?v=3","gravatar_id":"","url":"https://api.github.com/users/yjshen","html_url":"https://github.com/yjshen","followers_url":"https://api.github.com/users/yjshen/followers","following_url":"https://api.github.com/users/yjshen/following{/other_user}","gists_url":"https://api.github.com/users/yjshen/gists{/gist_id}","starred_url":"https://api.github.com/users/yjshen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/yjshen/subscriptions","organizations_url":"https://api.github.com/users/yjshen/orgs","repos_url":"https://api.github.com/users/yjshen/repos","events_url":"https://api.github.com/users/yjshen/events{/privacy}","received_events_url":"https://api.github.com/users/yjshen/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":15,"created_at":"2015-08-14T12:18:15Z","updated_at":"2015-09-15T21:53:14Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/apache/spark/pulls/8200","html_url":"https://github.com/apache/spark/pull/8200","diff_url":"https://github.com/apache/spark/pull/8200.diff","patch_url":"https://github.com/apache/spark/pull/8200.patch"},"body":"This PR aims at converting filters into CNF, i.e. AND of ORs. By doing this, we can possibly push more filters into datasource.\r\n\r\nFor example:\r\n```\r\na && b || f => (a || f) && (b || f)\r\na || b || c && d => (a || b || c) && (a || b || d)\r\na || (b && c || d) => (a || b || d) && (a || c || d)\r\n```\r\n\r\nJIRA: https://issues.apache.org/jira/browse/SPARK-6624"},"comment":{"url":"https://api.github.com/repos/apache/spark/issues/comments/140557486","html_url":"https://github.com/apache/spark/pull/8200#issuecomment-140557486","issue_url":"https://api.github.com/repos/apache/spark/issues/8200","id":140557486,"user":{"login":"marmbrus","id":527,"avatar_url":"https://avatars.githubusercontent.com/u/527?v=3","gravatar_id":"","url":"https://api.github.com/users/marmbrus","html_url":"https://github.com/marmbrus","followers_url":"https://api.github.com/users/marmbrus/followers","following_url":"https://api.github.com/users/marmbrus/following{/other_user}","gists_url":"https://api.github.com/users/marmbrus/gists{/gist_id}","starred_url":"https://api.github.com/users/marmbrus/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/marmbrus/subscriptions","organizations_url":"https://api.github.com/users/marmbrus/orgs","repos_url":"https://api.github.com/users/marmbrus/repos","events_url":"https://api.github.com/users/marmbrus/events{/privacy}","received_events_url":"https://api.github.com/users/marmbrus/received_events","type":"User","site_admin":false},"created_at":"2015-09-15T21:53:14Z","updated_at":"2015-09-15T21:53:14Z","body":"Is there a reason to not do all of this in the optimizer?"}}