ars_perl_qualifier($ctrl, $qual)

This function returns a Hash that contains a processed version of the qualifier structer (i.e. what is retured by ars_LoadQualifier or what is encoded in the qualifier structure that appears when you examine Filters and Active links via the Perl extension). You can then walk the various segments of the Hash and interpret the Qualifier.

Note that this is a fairly complex Hash and if all you want to do is see the qualifier in a readable form (and not interpret it) you might just want to call ars_Export and extract the readable qualifier from the return value of that routine.

On success
Returns a Hash
On failure
Returns undef.

Example:

      ($parsed_qual = ars_perl_qualifier($c, $q)) || 
            die $ars_errstr;
      

Hash: the hash returned by ars_perl_qualifier has these members:

Note this is an incomplete description. We will complete the doc on this Hash in the future
 oper   = "and", "or", "not", "rel_op"
 left   = qualifier             (only for and, or)
 right  = qualifier             (only for and, or)
 not    = qualifier             (only for not)
 rel_op = rel_op                (only for rel_op)

a rel_op is:
 oper   = "==", ">", ">=", "<", "<=", "!=", "like", "in"
 left   = FieldValueOrArithStruct 
 right  = FieldValueOrArithStruct

FieldValueOrArithStruct is:
 fieldId        = integer 
 value          = scalar value (integer, string, float, etc.) 
 arith          = ArithOpStruct 
 statHistory    = StatHistoryValue
 valueSet       = list of scalar values 
 variable       = integer       /* I think this is for passing
                                   macro arguments */ 
 queryValue     = QueryValueStruct 
 queryCurrent   = integer

StatHistoryValue is:
 userOrTime     = integer (1 = user, 2 = time)
 enumVal        = integer

ArithOpStruct is (a binary tree basically):

 arith          = operation ("+", "-", etc)
 left           = ArithOpStruct
 right          = ArithOpStruct
 value          = scalar value
 field          = 
 process        = scalar value
 function       = function
 dde            = not supported


<-- Table of Contents

Last changes to this page 26th June 1997 by d.j.adams@soton.ac.uk
© J.C.Murphy, J.W.Murphy 1997 arsperl@arsperl.org