Icon View Thread

The following is the text of the current message along with any replies.
Messages 1 to 10 of 11 total
Thread Show Deleted - NOT, in edbmgr?
Fri, Aug 10 2018 2:18 AMPermanent Link

Ian Branch

Avatar

Hi Team,
   Hopefully I just can't find it.

   Is there a Show/Don't show deleted records in an Open table in edbmgr somewhere?

   I just spent a silly amount of time trying to figure why my App gave me one set of data and edbmgr gave me another for
ostensibly the same record until I twigged.

   If there isn't such an option..  

   TIM, can I/we have it please?

Regards,
Ian
Fri, Aug 10 2018 4:41 AMPermanent Link

Matthew Jones

Ian Branch wrote:

> Is there a Show/Don't show deleted records in an Open table in edbmgr somewhere?

I'm not too deep into databases, but I've never heard of the idea of deleted records being available still in modern databases. dBase did that with a * IIRC, but while the internals may still work that way, I don't think you can ever see a deleted record (row) in a modern database.

Now, that doesn't mean you can't get that if you have an out of date cache or something, but that's where you need to refresh things or use transactions etc. But fundamentally seeing deleted records would be a bad step forward. It's gone.

--

Matthew Jones
Fri, Aug 10 2018 5:21 AMPermanent Link

Roy Lambert

NLH Associates

Team Elevate Team Elevate

Ian


Its not there and I don't think its coming.

I pretty much support what Matthew says

When Tim has been asked for an undelete utility the answer has been no.

>    I just spent a silly amount of time trying to figure why my App gave me one set of data and edbmgr gave me another for
>ostensibly the same record until I twigged.

Unless you're refreshing constantly in a timer then once you've populated the controls they're not going to change by themselves. What you have with EDBManager and your application are two different sessions pointing to the same database and using the same table but in different instances.

You can test it for yourself - two table, two datasource and two dbgrids. Connect up set 1 and set 2. Alter the data in set 1 and it won't be reflected in set 2. Exactly the same behaviour as in DBISAM.

This is an easy trap to fall into, click the refresh button if in doubt, and wait until the big one - EDBManager and application pointing at different versions of the database - its great trying to understand why a bit of SQL works but gives different results.

These days all my development sessions in EDBManager start with DEV eg DEV -TfR

It gives you a fighting chance but no more Smiley

Roy
Fri, Aug 10 2018 10:15 AMPermanent Link

Fernando Dias

Team Elevate Team Elevate

Ian,

I've never heard about such a thing in EDB, and IMO it should never ever exist.

--
Fernando Dias
[Team Elevate]
Fri, Aug 10 2018 2:52 PMPermanent Link

Ian Branch

Avatar

Hi Mattew,
   Agreed.
Ian
Fri, Aug 10 2018 2:54 PMPermanent Link

Ian Branch

Avatar

Hi Roy,
   Not after the ability to undelete, I was thrown off by having two different data for ostensibly the same record.
   Yes I refreshed in edbmger.
   I fixed it by doing an Optimize of the table.
Regards,
Ian
Fri, Aug 10 2018 2:54 PMPermanent Link

Ian Branch

Avatar

Cheers.
Sat, Aug 11 2018 4:24 AMPermanent Link

Roy Lambert

NLH Associates

Team Elevate Team Elevate

Ian

>    Not after the ability to undelete, I was thrown off by having two different data for ostensibly the same record.

OK.

>    Yes I refreshed in edbmger.

If that didn't fix it a refresh in the application should have

>    I fixed it by doing an Optimize of the table.

This puzzles / worries me. I don't know if Tim shuffles the data or simply copies  the table using undeleted data only  (I suspect the latter). It may reorder if an index is specified but that's it. My guess is that you had to close both open cursors on the table and re-open after the optimize.

Roy
Sat, Aug 11 2018 5:32 PMPermanent Link

Ian Branch

Avatar

Roy Lambert wrote:

> >    Yes I refreshed in edbmger.
>
> If that didn't fix it a refresh in the application should have

IB - So, the scenario was - I had opened the table in my app and set a filter to exclude certain records.  The record
in question, the first one, was still visible and by my recollection it shouldn't be.  I checked the relevant filtered
field and it met the filtered criteria and there fore it shouldn't have been visible.  I fired up edbmgr to check and
there the record was with a different value that didn't meet the criteria.  I set/unset the filter a couple of times in
the app with the same result.

>
> >    I fixed it by doing an Optimize of the table.
>
> This puzzles / worries me. I don't know if Tim shuffles the data or simply copies  the table using undeleted data
> only  (I suspect the latter). It may reorder if an index is specified but that's it. My guess is that you had to
> close both open cursors on the table and re-open after the optimize.

IB - Yes to both.  I can't help any more here except that after I did an Optimize of the table in edbmgr the record
had/showed the correct value in the relevant field and the filter in the app showed the correct result.

Ian
Sun, Aug 12 2018 2:54 AMPermanent Link

Roy Lambert

NLH Associates

Team Elevate Team Elevate

Ian


>IB - So, the scenario was - I had opened the table in my app and set a filter to exclude certain records. The record
>in question, the first one, was still visible and by my recollection it shouldn't be. I checked the relevant filtered
>field and it met the filtered criteria and there fore it shouldn't have been visible. I fired up edbmgr to check and
>there the record was with a different value that didn't meet the criteria. I set/unset the filter a couple of times in
>the app with the same result.

Looking at the source in edbcomps I don't think (Tim will know) that simply toggling the filter will refresh the table. I think (again could be wrong) that its working on data in the cache so until something makes the table refresh you'll get this apparent discrepancy.

If its important to the application you have to start thinking of workrounds. I had something similar on an application which made heavy use of a pagecontrol. I ended up building in an option to refresh tables whenever the page changed. Didn't half slow things down which is why it was optional. I also had a button to refresh things.

Roy
Page 1 of 2Next Page »
Jump to Page:  1 2
Image