{"action":"created","issue":{"url":"https://api.github.com/repos/prestodb/presto/issues/8806","repository_url":"https://api.github.com/repos/prestodb/presto","labels_url":"https://api.github.com/repos/prestodb/presto/issues/8806/labels{/name}","comments_url":"https://api.github.com/repos/prestodb/presto/issues/8806/comments","events_url":"https://api.github.com/repos/prestodb/presto/issues/8806/events","html_url":"https://github.com/prestodb/presto/issues/8806","id":251869742,"number":8806,"title":"Rewrite `a=a` to `a is not null` in top level where predicates","user":{"login":"sopel39","id":5989165,"avatar_url":"https://avatars1.githubusercontent.com/u/5989165?v=4","gravatar_id":"","url":"https://api.github.com/users/sopel39","html_url":"https://github.com/sopel39","followers_url":"https://api.github.com/users/sopel39/followers","following_url":"https://api.github.com/users/sopel39/following{/other_user}","gists_url":"https://api.github.com/users/sopel39/gists{/gist_id}","starred_url":"https://api.github.com/users/sopel39/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sopel39/subscriptions","organizations_url":"https://api.github.com/users/sopel39/orgs","repos_url":"https://api.github.com/users/sopel39/repos","events_url":"https://api.github.com/users/sopel39/events{/privacy}","received_events_url":"https://api.github.com/users/sopel39/received_events","type":"User","site_admin":false},"labels":[{"id":136288195,"url":"https://api.github.com/repos/prestodb/presto/labels/beginner-task","name":"beginner-task","color":"009800","default":false},{"id":530512817,"url":"https://api.github.com/repos/prestodb/presto/labels/planner","name":"planner","color":"c7def8","default":false}],"state":"open","locked":false,"assignee":{"login":"sopel39","id":5989165,"avatar_url":"https://avatars1.githubusercontent.com/u/5989165?v=4","gravatar_id":"","url":"https://api.github.com/users/sopel39","html_url":"https://github.com/sopel39","followers_url":"https://api.github.com/users/sopel39/followers","following_url":"https://api.github.com/users/sopel39/following{/other_user}","gists_url":"https://api.github.com/users/sopel39/gists{/gist_id}","starred_url":"https://api.github.com/users/sopel39/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sopel39/subscriptions","organizations_url":"https://api.github.com/users/sopel39/orgs","repos_url":"https://api.github.com/users/sopel39/repos","events_url":"https://api.github.com/users/sopel39/events{/privacy}","received_events_url":"https://api.github.com/users/sopel39/received_events","type":"User","site_admin":false},"assignees":[{"login":"sopel39","id":5989165,"avatar_url":"https://avatars1.githubusercontent.com/u/5989165?v=4","gravatar_id":"","url":"https://api.github.com/users/sopel39","html_url":"https://github.com/sopel39","followers_url":"https://api.github.com/users/sopel39/followers","following_url":"https://api.github.com/users/sopel39/following{/other_user}","gists_url":"https://api.github.com/users/sopel39/gists{/gist_id}","starred_url":"https://api.github.com/users/sopel39/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sopel39/subscriptions","organizations_url":"https://api.github.com/users/sopel39/orgs","repos_url":"https://api.github.com/users/sopel39/repos","events_url":"https://api.github.com/users/sopel39/events{/privacy}","received_events_url":"https://api.github.com/users/sopel39/received_events","type":"User","site_admin":false}],"milestone":null,"comments":0,"created_at":"2017-08-22T07:59:48Z","updated_at":"2017-08-22T13:22:25Z","closed_at":null,"body":"TPC-DS Q78 has predicates like:\r\n```\r\n...\r\nLEFT JOIN cs ON (\"cs_sold_year\" = \"ss_sold_year\")\r\n   AND (\"cs_item_sk\" = \"cs_item_sk\")\r\n   AND (\"cs_customer_sk\" = \"ss_customer_sk\"))\r\n...\r\n```\r\nRewriting `\"cs_item_sk\" = \"cs_item_sk\"` to `is not null` might improve performance since no actual comparison is required and not null predicate can be pushed down to connector\r\n\r\nFYI: @findepi "},"comment":{"url":"https://api.github.com/repos/prestodb/presto/issues/comments/324024257","html_url":"https://github.com/prestodb/presto/issues/8806#issuecomment-324024257","issue_url":"https://api.github.com/repos/prestodb/presto/issues/8806","id":324024257,"user":{"login":"electrum","id":9230,"avatar_url":"https://avatars1.githubusercontent.com/u/9230?v=4","gravatar_id":"","url":"https://api.github.com/users/electrum","html_url":"https://github.com/electrum","followers_url":"https://api.github.com/users/electrum/followers","following_url":"https://api.github.com/users/electrum/following{/other_user}","gists_url":"https://api.github.com/users/electrum/gists{/gist_id}","starred_url":"https://api.github.com/users/electrum/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/electrum/subscriptions","organizations_url":"https://api.github.com/users/electrum/orgs","repos_url":"https://api.github.com/users/electrum/repos","events_url":"https://api.github.com/users/electrum/events{/privacy}","received_events_url":"https://api.github.com/users/electrum/received_events","type":"User","site_admin":false},"created_at":"2017-08-22T13:22:25Z","updated_at":"2017-08-22T13:22:25Z","body":"This won't be correct for float/double (NaN) or other types that have weird equality."}}
{"actor":{"display_login":"electrum"}}