You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@pig.apache.org by "Dmitriy V. Ryaboy (JIRA)" <ji...@apache.org> on 2009/10/02 05:06:23 UTC

[jira] Updated: (PIG-990) Provide a way to pin LogicalOperator Options

     [ https://issues.apache.org/jira/browse/PIG-990?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Dmitriy V. Ryaboy updated PIG-990:
----------------------------------

    Attachment: pinned_options.patch

This patch does a few things:

1) Introduce a HashSet of pinnedOptions to LogicalOperator.

2) Add a class constant to LOJoin to represent the "type of join" option

3) Modify the parser to pin the OPTION_JOIN when it is explicitly specified in the pig script

4) Introduce the syntax 'using "regular"' to pin the default (regular) join type. Currently that's redundant, but it's required if we start choosing join types for the user, and the user wants to tell us that this particular join must be done in the regular way.

5) minor cleanup in this area of the parser to use just one LogicalOperator variable instead of three.

No rush to commit this as it's not being used by anything yet, but posting it for review now so as to let people review the cbo-oriented changes one at a time instead of a giant code dump.  

Note that if/when we add a group type as per PIG-984, that should also be an option that can be pinned by the user.

> Provide a way to pin LogicalOperator Options
> --------------------------------------------
>
>                 Key: PIG-990
>                 URL: https://issues.apache.org/jira/browse/PIG-990
>             Project: Pig
>          Issue Type: Bug
>          Components: impl
>            Reporter: Dmitriy V. Ryaboy
>            Priority: Minor
>             Fix For: 0.6.0
>
>         Attachments: pinned_options.patch
>
>
> This is a proactive patch, setting up the groundwork for adding an optimizer.
> Some of the LogicalOperators have options. For example, LOJoin has a variety of join types (regular, fr, skewed, merge), which can be set by the user or chosen by a hypothetical optimizer.  If a user selects a join type, pig philoophy guides us to always respect the user's choice and not explore alternatives.  Therefore, we need a way to "pin" options.  

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.