{"action":"opened","issue":{"url":"https://api.github.com/repos/facebook/presto/issues/4075","labels_url":"https://api.github.com/repos/facebook/presto/issues/4075/labels{/name}","comments_url":"https://api.github.com/repos/facebook/presto/issues/4075/comments","events_url":"https://api.github.com/repos/facebook/presto/issues/4075/events","html_url":"https://github.com/facebook/presto/issues/4075","id":120055816,"number":4075,"title":"Make IS NOT DISTINCT FROM work in JOIN operator","user":{"login":"123subhadeep","id":8406392,"avatar_url":"https://avatars.githubusercontent.com/u/8406392?v=3","gravatar_id":"","url":"https://api.github.com/users/123subhadeep","html_url":"https://github.com/123subhadeep","followers_url":"https://api.github.com/users/123subhadeep/followers","following_url":"https://api.github.com/users/123subhadeep/following{/other_user}","gists_url":"https://api.github.com/users/123subhadeep/gists{/gist_id}","starred_url":"https://api.github.com/users/123subhadeep/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/123subhadeep/subscriptions","organizations_url":"https://api.github.com/users/123subhadeep/orgs","repos_url":"https://api.github.com/users/123subhadeep/repos","events_url":"https://api.github.com/users/123subhadeep/events{/privacy}","received_events_url":"https://api.github.com/users/123subhadeep/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":0,"created_at":"2015-12-02T23:02:36Z","updated_at":"2015-12-02T23:02:36Z","closed_at":null,"body":"Using IS NOT DISTINCT FROM in the ON clause of JOIN operator causes with the following error:\r\nQuery 20151202_225147_95781_6wv54 failed: Unsupported comparison: IS_DISTINCT_FROM\r\njava.lang.IllegalArgumentException: Unsupported comparison: IS_DISTINCT_FROM\r\n\tat com.facebook.presto.sql.ExpressionUtils.negate(ExpressionUtils.java:249)\r\n\tat com.facebook.presto.sql.ExpressionUtils.normalize(ExpressionUtils.java:259)\r\n\tat com.facebook.presto.sql.analyzer.StatementAnalyzer.visitJoin(StatementAnalyzer.java:1104)\r\n\tat com.facebook.presto.sql.analyzer.StatementAnalyzer.visitJoin(StatementAnalyzer.java:211)\r\n\tat com.facebook.presto.sql.tree.Join.accept(Join.java:86)\r\n\tat com.facebook.presto.sql.tree.AstVisitor.process(AstVisitor.java:22)\r\n\tat com.facebook.presto.sql.analyzer.StatementAnalyzer.visitJoin(StatementAnalyzer.java:1030)\r\n\tat com.facebook.presto.sql.analyzer.StatementAnalyzer.visitJoin(StatementAnalyzer.java:211)\r\n\tat com.facebook.presto.sql.tree.Join.accept(Join.java:86)\r\n\tat com.facebook.presto.sql.tree.AstVisitor.process(AstVisitor.java:22)\r\n\tat com.facebook.presto.sql.analyzer.StatementAnalyzer.analyzeFrom(StatementAnalyzer.java:1605)\r\n\tat com.facebook.presto.sql.analyzer.StatementAnalyzer.visitQuerySpecification(StatementAnalyzer.java:933)\r\n\tat com.facebook.presto.sql.analyzer.StatementAnalyzer.visitQuerySpecification(StatementAnalyzer.java:211)\r\n\tat com.facebook.presto.sql.tree.QuerySpecification.accept(QuerySpecification.java:125)\r\n\tat com.facebook.presto.sql.tree.AstVisitor.process(AstVisitor.java:22)\r\n\tat com.facebook.presto.sql.analyzer.StatementAnalyzer.visitQuery(StatementAnalyzer.java:733)\r\n\tat com.facebook.presto.sql.analyzer.StatementAnalyzer.visitQuery(StatementAnalyzer.java:211)\r\n\tat com.facebook.presto.sql.tree.Query.accept(Query.java:103)\r\n\tat com.facebook.presto.sql.tree.AstVisitor.process(AstVisitor.java:22)\r\n\tat com.facebook.presto.sql.analyzer.StatementAnalyzer.visitTableSubquery(StatementAnalyzer.java:918)\r\n\tat com.facebook.presto.sql.analyzer.StatementAnalyzer.visitTableSubquery(StatementAnalyzer.java:211)\r\n\tat com.facebook.presto.sql.tree.TableSubquery.accept(TableSubquery.java:49)\r\n\tat com.facebook.presto.sql.tree.AstVisitor.process(AstVisitor.java:22)\r\n\tat com.facebook.presto.sql.analyzer.StatementAnalyzer.analyzeFrom(StatementAnalyzer.java:1605)\r\n\tat com.facebook.presto.sql.analyzer.StatementAnalyzer.visitQuerySpecification(StatementAnalyzer.java:933)\r\n\tat com.facebook.presto.sql.analyzer.StatementAnalyzer.visitQuerySpecification(StatementAnalyzer.java:211)\r\n\tat com.facebook.presto.sql.tree.QuerySpecification.accept(QuerySpecification.java:125)\r\n\tat com.facebook.presto.sql.tree.AstVisitor.process(AstVisitor.java:22)\r\n\tat com.facebook.presto.sql.analyzer.StatementAnalyzer.visitQuery(StatementAnalyzer.java:733)\r\n\tat com.facebook.presto.sql.analyzer.StatementAnalyzer.visitQuery(StatementAnalyzer.java:211)\r\n\tat com.facebook.presto.sql.tree.Query.accept(Query.java:103)\r\n\tat com.facebook.presto.sql.tree.AstVisitor.process(AstVisitor.java:22)\r\n\tat com.facebook.presto.sql.analyzer.StatementAnalyzer.visitCreateTableAsSelect(StatementAnalyzer.java:625)\r\n\tat com.facebook.presto.sql.analyzer.StatementAnalyzer.visitCreateTableAsSelect(StatementAnalyzer.java:211)\r\n\tat com.facebook.presto.sql.tree.CreateTableAsSelect.accept(CreateTableAsSelect.java:75)\r\n\tat com.facebook.presto.sql.tree.AstVisitor.process(AstVisitor.java:22)\r\n\tat com.facebook.presto.sql.analyzer.Analyzer.analyze(Analyzer.java:60)\r\n\tat com.facebook.presto.execution.SqlQueryExecution.doAnalyzeQuery(SqlQueryExecution.java:259)\r\n\tat com.facebook.presto.execution.SqlQueryExecution.analyzeQuery(SqlQueryExecution.java:245)\r\n\tat com.facebook.presto.execution.SqlQueryExecution.start(SqlQueryExecution.java:209)\r\n\tat com.facebook.presto.execution.QueuedExecution.lambda$start$183(QueuedExecution.java:68)\r\n\tat java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)\r\n\tat java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)\r\n\tat java.lang.Thread.run(Thread.java:745)"}}