Two parter: rant & wishlist items
Walter Vaughan
wvaughan at steelerubber.com
Wed Jan 19 07:34:19 PST 2005
Courtney wrote:
> Kinda of dangerous tho...if ab (the variable we used) had been defined in
> the automatic processing table (i.e. ab(6,.0)) then we you compiled the
> processing table a message would pop up telling you ab already defined in
> automatic processing...but since it was not defined in automatic, nothing
> mentioned!
"auto.prc" or "prc.automatic" processing tables are probably taught way
too early in a filePro developers life. When you use them, they should
come with a warning label that says, "You know that every record from
now on in this file will execute this processing table twice per record
access unless you specifically disable it in a menu command line.
Perhaps you should rename this table something else, and call it from
the menu line that executes your application with a -y tablename. If you
decide to go ahead and make this a global automatic table, be aware that
unexpected things can happen in applications that you write in the
future and do not remember to take this automatic table into account."
And when you save a processing table it should say, "You know, there is
an automatic processing table for this file. Did you take that into
consideration when developing this table?".
It could have been worse. You could have wrote data to other records and
now would have /OV's where there should be good values. So then you have
to go back to your last backup and hope that you have documentation to
restore all the differences between the backup and what's current this
second.
Yikes. I'm scaring myself.
Since filePro has pretty good control of it's native database level, why
not a few new commands for fp6.0...
xx=FREEZE - [qualifier]
* creates a backup of current file and optionally names it for use as
a qualified files as needed
xx=UNFREEZE - [qualifier]
* restores the current file backup or moves the qualified file into place
I see these commands being used in @once, @menu, @entsel, etc.. type
locations. Of course "UNFREEZE" is a million times harder to implement
(what do you do if someone else is standing on an open record?... return
the @rn of the open record and allow for logical case handling[0]). But
it could allow for a limited function "roll-back transaction". Actually
they probably should be named BACKUP and RESTORE.
--
Walter
[0]
restor::xx=unfreeze -
:xx eq "0":goto did_rst
::'add in code from lsof library if this is a problem tracking down
::msgbox "Someone has record#"<xx<"in update mode. Retry?","YN"
:@BK eq "Y":goto restor
:'aborted unfreeze:show"@You have chosen not to restore current file"
More information about the Filepro-list
mailing list