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

TestDriverPig.countStores() does not correctly count the number of stores for pig scripts using variables for the alias

    XMLWordPrintableJSON

Details

    • Test
    • Status: Open
    • Major
    • Resolution: Unresolved
    • 0.9.0, 0.9.1, 0.9.2, 0.10.0
    • 0.18.0
    • e2e harness
    • None

    Description

      For pig macros where the out parameter is referenced in a store statement, the TestDriveP.countStores() does not correctly count the number of stores:

      For example, the store will not be counted in :

      define myMacro(in1,in2) returns A {

      A = load '$in1' using PigStorage('$delimeter') as (intnum1000: int,id: int,intnum5: int,intnum100: int,intnum: int,longnum: long,floatnum: float,doublenum: double);
      store $A into '$out';
      }

      countStores() matches with:
      $count = $q[$i] =~ /store\s[a-zA-Z][a-zA-Z0-9_]*\s+into/i;

      Since the alias has a special character "$" it doesn't count it and the test fails.

      Need to change this to:

      $count = $q[$i] =~ /store\s(\$)?[a-zA-Z][a-zA-Z0-9_]*\s+into/i;

      I'll submit a patch shortly.

      Attachments

        1. PIG-2681.patch
          1 kB
          Araceli Henley

        Activity

          People

            Unassigned Unassigned
            araceli Araceli Henley
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated: