Uploaded image for project: 'HPCC'
  1. HPCC
  2. HPCC-18633

Incorrect case/choose mapping int->variable length string

    XMLWordPrintable

Details

    • Regression
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 6.4.x
    • 6.4.6
    • Code Generator

    Description

      Specifically on version 6.4.2-1, the ECL below produces a dataset (dsScrubs) that has non-printable characters in the ErrorMessage field.  This seems to be related to the use of the NotLength definition as a possible value for ErrorMessage (without it, the problem does not occur).  The non-printable characters seem to be filling in up to the largest string length of any of the field values.  Note that the issue is apparent when the result is viewed in the ECL IDE or exported from ECLWatch, but it is not evident when viewing the result through Outputs on ECLWatch.  I could not reproduce the issue on versions 6.2.14-1 or 6.2.22-1.

       

      NotLength(STRING s) := 'Length was not in:'+s;
      
      Layout_out := RECORD
            UNSIGNED FieldsChecked_WithErrors;
            UNSIGNED FieldsChecked_NoErrors;
            UNSIGNED Fields_dummyfield_LengthErrors;
      END;
      
      dsTest := DATASET([{2, 0, 1}], Layout_out);
      
      
      ScrubsOrbitLayout := RECORD
        STRING    ErrorMessage;
        UNSIGNED8 rulecnt;
      END;
      
      ScrubsOrbitLayout xNorm(dsTest L, INTEGER c) := TRANSFORM
            SELF.ErrorMessage := CHOOSE(c, 'Fields with errors', 'Fields without errors', NotLength('1..'));
            SELF.rulecnt := CHOOSE(c, L.FieldsChecked_WithErrors, L.FieldsChecked_NoErrors, L.Fields_dummyfield_LengthErrors);
      END;
      
      dsScrubs := NORMALIZE(dsTest, 3, xNorm(LEFT, COUNTER));
      
      OUTPUT(dsScrubs);
      

       

       

       

       

      Attachments

        Activity

          People

            ghalliday Gavin Halliday
            hsherrington Heather Sherrington
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: