{"action":"created","issue":{"url":"https://api.github.com/repos/apache/flink/issues/1958","repository_url":"https://api.github.com/repos/apache/flink","labels_url":"https://api.github.com/repos/apache/flink/issues/1958/labels{/name}","comments_url":"https://api.github.com/repos/apache/flink/issues/1958/comments","events_url":"https://api.github.com/repos/apache/flink/issues/1958/events","html_url":"https://github.com/apache/flink/pull/1958","id":152739983,"number":1958,"title":"[FLINK-3754][Table]Add a validation phase before construct RelNode using TableAPI","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":3,"created_at":"2016-05-03T10:07:46Z","updated_at":"2016-05-03T11:39:15Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/apache/flink/pulls/1958","html_url":"https://github.com/apache/flink/pull/1958","diff_url":"https://github.com/apache/flink/pull/1958.diff","patch_url":"https://github.com/apache/flink/pull/1958.patch"},"body":"This PR aims at adding an extra phase of **validation** for plans generated from Table API, matches the functionality of Calcite's Validator that are called during we execute an query expressed in SQL String.\r\n\r\nIn order to do this, I inserted a new layer between TableAPI and `RelNode` construction: The `Logical Plan`.\r\n\r\nAnd the main procedure of validation work as follows:\r\n\r\n1. Constructing a logical plan node\r\n2. Do resolution using schema and `FunctionCatalog`\r\n3. Do validation on the type annotated logical plan node\r\n\r\nAfter we finish the validation successfully, it's safe to construct `RelNode`."},"comment":{"url":"https://api.github.com/repos/apache/flink/issues/comments/216502690","html_url":"https://github.com/apache/flink/pull/1958#issuecomment-216502690","issue_url":"https://api.github.com/repos/apache/flink/issues/1958","id":216502690,"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},"created_at":"2016-05-03T11:39:15Z","updated_at":"2016-05-03T11:39:15Z","body":"@zentol OK, I've closed it."}}