You are here: Foswiki>Tasks Web>Item9022 (16 Jul 2010, SvenDowideit)Edit Attach

Item9022: output from QueryTests seems unusual

pencil
Priority: Normal
Current State: No Action Required
Released In: 1.1.0
Target Release: minor
Applies To: Engine
Component:
Branches:
Reported By: SvenDowideit
Waiting For:
Last Change By: SvenDowideit
what does 'Excess operators' mean, and is it hiding an issue?

Running QueryTests
   QueryTests::test_string_bops
   QueryTests::test_backslash_match_good
*** Excess operators (=) in '' \' '=~' \' ''
   QueryTests::test_backslash_match_fail
*** Excess operators (=) in '' \ '=~' \\ ''
   QueryTests::test_constant_strings
   QueryTests::verify_partial_match_BruteForceQuery
*** Excess operators (=) in ''AA'=~'A''
   QueryTests::verify_word_end_match_fail_BruteForceQuery
*** Excess operators (=) in ''foob'=~'foo\b''
   QueryTests::verify_length_BruteForceQuery
   QueryTests::verify_meta_squabs_BruteForceQuery
   QueryTests::verify_array_squab_BruteForceQuery
   QueryTests::verify_d2n_BruteForceQuery
   QueryTests::verify_word_bound_match_good_BruteForceQuery
*** Excess operators (=) in ''foo bar baz'=~'\bbar\b''
   QueryTests::verify_match_good_BruteForceQuery
*** Excess operators (=) in ''A'=~'A''
   QueryTests::verify_boolean_bops_BruteForceQuery
   QueryTests::verify_match_fail_BruteForceQuery
*** Excess operators (=) in ''A'=~'B''
   QueryTests::verify_array_dot_BruteForceQuery
   QueryTests::verify_meta_dot_BruteForceQuery
   QueryTests::verify_brackets_BruteForceQuery
   QueryTests::verify_boolean_uops_BruteForceQuery
   QueryTests::verify_string_bops_BruteForceQuery
   QueryTests::verify_slashes_BruteForceQuery
   QueryTests::verify_num_bops_BruteForceQuery
   QueryTests::verify_word_bound_match_fail_BruteForceQuery
*** Excess operators (=) in ''foo bar baz'=~'\bbam\b''

-- SvenDowideit - 15 May 2010

"Excess operators" means the parse of the query expression failed. The infix parser is a standard stack-parser, which uses an operator stack and an operand stack. If, at the end of the parse, it is left with operators that have no matching operands, you can get an "Excess operators" error. For example, if you wrote 'A AND AND B'. Analogous to this error is an "Excess operands" error, which would result if you wrote "A A AND B B".

The query tests pass on my system (after fixing a recent change to the BruteForce module) without this message. Could it be something to do with character encoding ? (wild guess)

-- CrawfordCurrie - 18 May 2010

yes, they pass without message on the build server too - just on my box.

which makes me worry about 2 things.

  1. what is different about it (I suspect a cfg issue)
  2. why do the tests still pass even with this warning?

(2) seems like a problem to me

-- SvenDowideit - 18 May 2010

I have no idea where that's coming from. By inspection, I can't see where that message might be generated, and since the tests don't fail here I can't nail it down.

-- CrawfordCurrie - 19 May 2010

doesn't seem to happen on all my checkouts, so must be something odd about an old one. closing

-- SvenDowideit - 16 Jul 2010

 

ItemTemplate edit

Summary output from QueryTests seems unusual
ReportedBy SvenDowideit
Codebase trunk
SVN Range
AppliesTo Engine
Component
Priority Normal
CurrentState No Action Required
WaitingFor
Checkins
TargetRelease minor
ReleasedIn 1.1.0
Topic revision: r6 - 16 Jul 2010, SvenDowideit
The copyright of the content on this website is held by the contributing authors, except where stated elsewhere. See Copyright Statement. Creative Commons License    Legal Imprint    Privacy Policy