Mike Yearwood
Toronto, Ontario, Canada
Thank you, Mike.
Sergey has been trying to 'splain this to me all day...and I finally got his point. I think it's rum'n'coke time...
>>Hi Sergey,
>>
>>I have since tried it with your solution and with ALSO with the EMPNO+DTOS(DATE)+DUTY+EXCCODE+STRTRAN(SUBSTR(TTOC(START),12,5),":").
>>Both do not display the phantom record now.
>>
>>I can only assume that the index was corrupt... though I am sure I did try PACK and REINDEX before. I cannot duplicate the problem anymore. This could be because I physically deleted the CDX and started afresh (?)
>>
>>My argument has been, throughout this thread, is that, even if the expression was incorrect, as long as it evaluated to a legal expression (which it would have to), why the phantom record..
>
>The index key is based on the TIME function. As TIME passes, the result of the function changes. It appears the index is being updated more often than I'd have expected.
>
>Using the tastrade customer table. I added an index
>
>SELECT customer
>INDEX on TIME(100) TAG ixtime
>BROWSE FIELDS x=TIME(100),customer_id
>
>Just scroll around and watch the weirdness.
>
>[update]
>
>You can scroll to the bottom. But scroll to the top and it keeps on scrolling!
>
>This reminds me of a bug I wrote about long ago. If you have an index on recno() and you enable table buffering and you add a record, the recno() is -1. That ends up in the index, and even after tableupdate() when a new record number is finally assigned, a seek() will only work if you seek(-1) because the index was not updated after the tableupdate().
Previous
Reply
View the map of this thread
View the map of this thread starting from this message only
View all messages of this thread
View all messages of this thread starting from this message only