Pig
  1. Pig
  2. PIG-2551

Create an AlgebraicEvalFunc and AccumulatorEvalFunc abstract class which gives you the lower levels for free

    Details

    • Type: Improvement Improvement
    • Status: Closed
    • Priority: Minor Minor
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 0.11
    • Component/s: None
    • Labels:
      None
    • Patch Info:
      Patch Available
    • Release Note:
      This was included in PIG-2317

      Description

      This is more of a win for the Algebraic interface than the Accumulator interface, but the idea is that if you implement the Algebraic interface, you should get Accumulator/EvalFunc for free, and if you implement Accumulator, you should get EvalFunc for free. The win of this is that in cases such as JRuby, you don't have to muck around doing this yourself...you have them implement the algebraic portion, and the rest comes free (that is where this came out of, but I feel like it is generally useful enough).

      The next piece of work I'd like to do is making an easier to implement way to make Algebraic UDFs, but then again, my to do is huge Would love thoughts on this. If it doesn't make it into Pig, it's still going to come in the JRuby stuff, so I thought it'd at least be worth having it separate, tested, and available to everyone.

      1. PIG-2551-3.patch
        22 kB
        Jonathan Coveney
      2. PIG-2551-2.patch
        21 kB
        Jonathan Coveney
      3. PIG-2551-1.patch
        19 kB
        Jonathan Coveney
      4. PIG-2551-0.patch
        12 kB
        Jonathan Coveney

        Issue Links

          Activity

          No work has yet been logged on this issue.

            People

            • Assignee:
              Jonathan Coveney
              Reporter:
              Jonathan Coveney
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development