Does QBF behave differently in 32 bit (OpenInsight 32-Bit)
At 02 MAR 2004 09:59:06AM Tony Marler wrote:
A customer has found a problem with the 32 bit QBF logic which worked in 16 bit application (just upgraded) and I have duplicated.
To illustrate, if I run the following QBF searches:
Status=1
Record count is 33 CORRECT
Status=1
Region=BR
Discipline=2
Record count is 1 CORRECT
Status=2
Region=BR
Discipline=2
Record count is 22 CORRECT
However following is incorrect
Status=1;2
Region=BR
Discipline=2
Record count of 55 INCORRECT (it should be 23).
If I run this same enquiry under 16 bit I get the correct result.
What appears to be happening under 32 bit is that it is interpreting the command as
Status=1 OR (Status=2 and Region=BR and Discipline=2)
instead of
Status=(1 or 2) AND (region=BR and discipline=2).
The OI help in both 16 and 32 bit says the same that OR logic doesn't work across MULTIPLE fields but that relates to the AREV ability of using ; as the first character in the QBF definition to span multiple fields. To re-iterate this WORKS IN 16 BIT.
Any body else seen this or have other ideas.
Tony
At 02 MAR 2004 10:08AM Mike Ruane wrote:
Tony-
We'll take a look at this. Anything special about the field with the OR in it? MV, symbolic, etc?
Thanks
At 02 MAR 2004 01:01PM Tony Marler wrote:
No a single value data field. There are coded OCONVs on some fields but not all. Should be easy to replicate your end with a new single table/form app.
Tony
At 03 MAR 2004 03:49AM Richard Bright wrote:
Interesting coincidence - struck the same QBF problem last night. At the time thought that maybe I had got the syntax wrong. No OConv or whatever.
Richard Bright
BrightIdeas New Zealand
At 03 MAR 2004 05:35AM Oystein Reigem wrote:
Tony,
I did a few QBF experiments in 4.1.2. The results agree with your results.
What appears to be happening under 32 bit is that it is interpreting the command as Status=1 OR (Status=2 and Region=BR and Discipline=2)
A possible theory is that 32 bit QBF makes a command without parentheses:
Status=1 OR Status=2 AND Region=BR AND Discipline=2
Then the AND's are executed before the OR's because AND has a higher operator priority.
(It's a pity we can't see the actual query made by QBF. Not that it would be of much help in this case.)
- Oystein -
At 04 MAR 2004 07:40AM Tony Marler wrote:
Thanks for the clarification, seems like it is a bug.
Hopefully RevSoft will respond soon.
Tony
At 04 MAR 2004 08:51AM Mike Ruane wrote:
Tony-
I've duplicated this in 7.0. I'll post updates as I work on this today.
Thanks-
Mike
At 04 MAR 2004 08:56AM Mike Ruane wrote:
Tony-
Found and fixed for 7.0.1.
It was a bug in OIWIN_QBFDOQUERY, where the parentheses were being stripped out. Much to my chagrin, I made that change in 2001.
Sorry.
Mike
At 04 MAR 2004 09:19AM Tony Marler wrote:
Mike
Thanks for the quick response.
I have just upgraded our biggest customer from 16 bit to 4.1.3a. We only began using the 4.1.3a ourselves recently so cannot realistically move to 7.x
Can you make this available as a quick patch for 4.1.3a
Tony
At 04 MAR 2004 09:38AM Mike Ruane wrote:
Send me your email address.
Thanks
At 04 MAR 2004 09:48AM Tony Marler wrote:
Will do thank you.
Tony
At 04 MAR 2004 11:15AM Tony Marler wrote:
Mike
That worked. I am on site and the customer is very happy and impressed with the quick response.
Thanks, Tony.