Subject | Re: [firebird-support] SELECT FAILURE |
---|---|
Author | Lucas Franzen |
Post date | 2007-07-09T12:00:24Z |
> SELECT QUANTITY, M.COMMENT, P.DESCRIPTION1, M.PROGRESSHow about backing up restoring the database that produces the error?
> FROM MRP M, PARTS P
> WHERE P.STOCK_CODE = '123456'
> AND M.STOCK_CODE=P.STOCK_CODE
> AND ((M.PROGRESS > 0) AND (M.PROGRESS < 5))
> ORDER BY MDATE, M.CONTRACT ASCENDING
>
> This will periodically return EOF when a valid record exists - both in
> an application and via IBExpert
>
> The problem is with (M.PROGRESS > 0). PROGRESS is an integer field
> and there is a single valid record with a value of 1.
>
> Changing the condition to (M.PROGRESS >= 1) correctly returns the
> record.
>
> If I backing up the database (Server Version: LI-V2.0.0.12748 Firebird
> 2.0) and restoring it my desktop (Server Version: WI-V2.0.0.12748
> Firebird 2.0) it returns the correct record.
(Restoring on the machine where the error occurs, not on another one)
Why do you use this syntax mixture:
SELECT QUANTITY, M.COMMENT, P.DESCRIPTION1, M.PROGRESS
...
ORDER BY MDATE, M.CONTRACT ASCENDING
of qualified (M.COMMENT) and unqualified (QUANTITY) field names???
What happens if you change the where-clause to
AND ( M.PROGRESS BETWEEN 1 AND 4 )
?
Luc.