{"action":"created","issue":{"url":"https://api.github.com/repos/apache/flink/issues/1052","labels_url":"https://api.github.com/repos/apache/flink/issues/1052/labels{/name}","comments_url":"https://api.github.com/repos/apache/flink/issues/1052/comments","events_url":"https://api.github.com/repos/apache/flink/issues/1052/events","html_url":"https://github.com/apache/flink/pull/1052","id":102903251,"number":1052,"title":"[FLINK-2106] [runtime] add Left-, Right- and Full Outer Join drivers","user":{"login":"r-pogalz","id":5693709,"avatar_url":"https://avatars.githubusercontent.com/u/5693709?v=3","gravatar_id":"","url":"https://api.github.com/users/r-pogalz","html_url":"https://github.com/r-pogalz","followers_url":"https://api.github.com/users/r-pogalz/followers","following_url":"https://api.github.com/users/r-pogalz/following{/other_user}","gists_url":"https://api.github.com/users/r-pogalz/gists{/gist_id}","starred_url":"https://api.github.com/users/r-pogalz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/r-pogalz/subscriptions","organizations_url":"https://api.github.com/users/r-pogalz/orgs","repos_url":"https://api.github.com/users/r-pogalz/repos","events_url":"https://api.github.com/users/r-pogalz/events{/privacy}","received_events_url":"https://api.github.com/users/r-pogalz/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":8,"created_at":"2015-08-24T22:15:08Z","updated_at":"2015-08-26T16:18:24Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/apache/flink/pulls/1052","html_url":"https://github.com/apache/flink/pull/1052","diff_url":"https://github.com/apache/flink/pull/1052.diff","patch_url":"https://github.com/apache/flink/pull/1052.patch"},"body":"This PR includes the implementation of 3 drivers for the specific outer joins and adapts the ``DriverStrategy`` for the merge based outer joins.\r\n\r\nTo make the outer join operators implemented in ticket [FLINK-2105](https://issues.apache.org/jira/browse/FLINK-2105) visible to the Java and Scala API, we have started with the integration of the merge based outer join operators bottom up. To reduce duplicated code we implemented an ``AbstractOuterJoinDriver`` which is responsible for most parts of the drivers setup and running the operators. The specific outer join driver implementations (``LeftOuterJoinDriver``, ``RightOuterJoinDriver``, ``FullOuterJoinDriver``) set the corresponding Outer Join Iterators based on the ``ExecutionConfig``. Therefore, we had to adapt the ``DriverStrategy`` adding three additional enum fields (``LEFT_OUTER_MERGE``, ``RIGHT_OUTER_MERGE``, ``FULL_OUTER_MERGE``). \r\nCurrently, we only support the outer join on a merged based strategy, but hash based will follow ([FLINK-2107](https://issues.apache.org/jira/browse/FLINK-2107)).\r\n\r\nFurthermore, ``DriverStrategy.MERGE`` has been renamed to ``DriverStrategy.INNER_MERGE`` as requested by @fhueske.\r\n\r\nNext steps of this [issue](https://issues.apache.org/jira/browse/FLINK-2106) will be the optimizer and Java/Scala API parts."},"comment":{"url":"https://api.github.com/repos/apache/flink/issues/comments/135084756","html_url":"https://github.com/apache/flink/pull/1052#issuecomment-135084756","issue_url":"https://api.github.com/repos/apache/flink/issues/1052","id":135084756,"user":{"login":"chiwanpark","id":1941681,"avatar_url":"https://avatars.githubusercontent.com/u/1941681?v=3","gravatar_id":"","url":"https://api.github.com/users/chiwanpark","html_url":"https://github.com/chiwanpark","followers_url":"https://api.github.com/users/chiwanpark/followers","following_url":"https://api.github.com/users/chiwanpark/following{/other_user}","gists_url":"https://api.github.com/users/chiwanpark/gists{/gist_id}","starred_url":"https://api.github.com/users/chiwanpark/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chiwanpark/subscriptions","organizations_url":"https://api.github.com/users/chiwanpark/orgs","repos_url":"https://api.github.com/users/chiwanpark/repos","events_url":"https://api.github.com/users/chiwanpark/events{/privacy}","received_events_url":"https://api.github.com/users/chiwanpark/received_events","type":"User","site_admin":false},"created_at":"2015-08-26T16:18:24Z","updated_at":"2015-08-26T16:18:24Z","body":"Thanks @r-pogalz and @jkovacs for contribution!\r\n\r\nI found some code style issues.\r\n* Please add spaces around operator and after comma.\r\n* Please don't add space after `{` and before `}` when you create array.\r\n\r\nOther things are well commented by @fhueske and @tillrohrmann."}}