Uploaded image for project: 'Pig'
  1. Pig
  2. PIG-2551

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

    Details

    • Type: Improvement
    • Status: Closed
    • Priority: 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.

        Attachments

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

          Issue Links

            Activity

              People

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

                Dates

                • Created:
                  Updated:
                  Resolved: