Join The Works program to have access to the most current content, and to be able to ask questions and get answers from Revelation staff and the Revelation community

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.

[email protected]

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.

View this thread on the Works forum...

  • third_party_content/community/commentary/forums_works/044c05462e964cb185256e4b00525103.txt
  • Last modified: 2023/12/30 11:57
  • by 127.0.0.1