Retro video games delivered to your door every month!
Click above to get retro games delivered to your door ever month!
X-Hacker.org- Mach SIx v1.1c - Reference Guide - <b>recall - unmark records that have been marked deleted</b> http://www.X-Hacker.org [<<Previous Entry] [^^Up^^] [Next Entry>>] [Menu] [About The Guide]
  RECALL           - Unmark records that have been marked deleted
-------------------------------------------------------------------------------

  Syntax:

  RECALL [<scope>] [FOR <lCondition>] [WHILE <lCondition>] 
         [NOOPTIMIZE]

  Arguments:

  <scope> is the portion of the current database file to RECALL.  The
  default scope is the current record, or NEXT 1.  If a condition is
  specified, the default scope becomes ALL.  Mach SIx only supports the
  ALL scope.

  WHILE <lCondition> specifies the set of records meeting the condition
  from the current record until the condition fails. Mach SIx does not
  support a WHILE condition.

  FOR <lCondition> specifies the conditional set of records to RECALL
  within the given scope.  Mach SIx will optimize any FOR condition that
  contains one or more active index keys.

  NOOPTIMIZE, preempts optimization and forces default Clipper processing.

  Description:

  RECALL is a database command that restores records marked for deletion in
  the current work area.  This is the inverse of the DELETE command.  If
  DELETED is ON, RECALL can restore the current record or a specific record
  if you specify a RECORD scope.  Note that once a database file has been
  PACKed, all records marked are physically removed from the file and cannot
  be recovered.

  In a network environment, RECALLing the current record requires an RLOCK().
  RECALLing several records requires an FLOCK() or EXCLUSIVE USE of the
  current database file.  Refer to the Network Programming chapter in
  Clipper's Programming and Utilities book for more information.

  The RECALL command may be optimized by specifying one or more active
  index keys in the FOR condition. Note that Mach SIx will only optimize
  the RECALL command when used with a FOR condition and a scope of ALL.
  WHILE conditions, and alternate scopes cannot be optimized by Mach SIx.

  Notes:

  SET DELETED must be OFF when specifying a condition to RECALL deleted
  records.


  ---------------------------------| EXAMPLE |--------------------------------
  /*:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
  *  Demonstrates optimized RECALL command                                  *
  *::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/

  #include "DBFSIX.CH"
  #include "MACHSIX.CH"

  USE Account VIA "DBFSIX"  // Structural index ACCOUNT.CDX opened
                            // automatically
  CLEAR SCREEN

  // Make sure set deleted is off to bring deleted records into scope.
  // (Clipper's default for SET DELETED is OFF )
  SET DELETED OFF
  ? "Example of an optimized RECALL command."
  ?

  // Fully optimized recall of all records where last name is empty().
  // Note that the FOR condition in this example does not exactly match the
  // index key for tag NAME.  However, Mach SIx will optimize this query by
  // locating the index key within the empty() function call and translate
  // the empty() portion of the condition into one that can be optimized.

  RECALL FOR empty( Last )
  CLOSE ALL



See Also: DELETE

Online resources provided by: http://www.X-Hacker.org --- NG 2 HTML conversion by Dave Pearson