|
sanbachs.NET
Serving the DataPerfect* Community
|
|
Firestorm – Command Line Interface
The Firestorm Command Line Interface is created by linking it with the
engine and panel byte array (PBA) of a specific database.
This is shown and introduced with the first diagram of the
Firestorm – Principles of Operation.
By convention, the executable file so created is named "fs-<str name>"
(on UNIX-like systems) or "FS-<STR NAME>.EXE" (on Windows systems).
Once this program has been created, it can be used on the command line
with arguments to direct it in performing many database operations.
Batch files (on Windows systems) or shell scripts (on UNIX-like systems)
can be written to perform complex series of operations.
Some examples will be given later in this document.
The arguments it recognizes are introduced in this list:
|
- -i
- Used by itself, this puts the command line interface into
"interactive mode" where the various database operations can be entered
one per line, with their effect shown immediately.
- p
- Used to select a panel. Is immediately followed by the panel
number. For example, p5 selects panel number 5.
This panel remains in effect until another is selected.
- i
- Once a panel has been selected, this is used to select an
index. It is immediately followed by the index number.
Once selected, this index remains in effect until another is selected.
- s
- Once a panel and index have been selected, this is used to identify
a "subset" by giving a list of fields that corresponds to the first one
or more fields of the selected index. When this has been done, only
records that match that subset will be considered by record operations.
It is immediately followed by the number of fields in the field list.
On the command line, these fields are given in subsequent arguments.
In interactive mode, you will be prompted for them.
Once a subset has been identified, it remains in effect until another subset
is identified, or until s0 is used to turn subsetting off.
- #
- Used to give the number of records in the current panel,
possibly limited by a subset and/or the exception list of the current index.
- 1
- Used to position to the first record of a panel or subset.
This becomes the "current record".
- $
- Used to position to the last record of a panel or subset.
This becomes the "current record".
- f
- Used to find a particular record. Is followed by a field list,
with one field value for each field in the current index.
- .
- Used to print the current record.
The record will be printed on a single line, with all the real fields
in order by field number and separated by tab characters.
- +
- Used to position to the next record in the panel or subset.
If immediately followed by a number, prints out that many records,
starting with the record after the current record.
- -
- Used to position to the previous record in the panel or subset.
If immediately followed by a number, prints out that many records,
starting with the record before the current record
and working backwards through the index.
- A
- Used to print all the records in the current panel or subset.
Use this one with caution in panels with many records.
- :
- Used to specify which fields should be printed whenever records
are printed. Is immediately followed by a list of field numbers,
separated by colons. For example, :16:1:3 will cause only fields 16, 1,
and 3 to be printed. Only real fields can be specified.
- d
- Used to delete the current record. Use with caution.
- a
- Used to add a record. Is followed by a list of fields, one for
each of the real fields in the current panel, in field number order.
Fields that contain embedded spaces and/or quotes must be quoted and use
operating system specific escapes.
In interactive mode, you will be prompted for each field in turn.
- e
- Used to edit the current record. Is followed by a list of
fields, one for each of the real fields in the current panel, in field
number order. In interactive mode, you will be
prompted for these field values one by one.
- u
- Used to update one or more fields of the current record.
Is immediately followed by one or more field numbers, each one of which
is immediately followed by either a colon, a plus sign, or a minus sign.
Is followed by a list of field values, one per field number and in the
order the field numbers were given. In interactive mode, you will be
prompted for these field values one by one.
For example, u16:1+3- "New string" 5 31 will replace field 16 with
"New string", add 5 to field 1, and subtract 31 from field 3.
- q
- Used to quit. In non-interactive mode, this must be present as
the last argument on the command line.
|
Some examples follow.
STATS.STR and associated data files make up a very simple, one panel,
one index database which happens to contain four records.
It has been in use since September 17, 1996 counting the number of pages
displayed by four
Perl scripts
operating on the CDI.STR database which
belongs to Yates
Publishing and which holds the data displayed in the
Computerized Ancestor
web application.
prompt > fs-stats p1 A q
CDIB01 1169823
CDIB02 209805
CDIL01 6084001
CDIL02 91067
prompt > fs-stats p1 i2 A q
There is no index #2 in panel #1
prompt > fs-stats p1 :1 A q
CDIB01
CDIB02
CDIL01
CDIL02
prompt > fs-stats p1 s1 CDIB A q
CDIB01 1169823
CDIB02 209805
prompt > fs-stats p2 q
There is no panel #2
The command used in the Perl script nfCDIL02.pl uses this command to
increment its counter and get the result:
fs-stats p1 i1 f CDIL02 u2+ 1 :2 . q
The commands used in the same Perl script to obtain the number of records,
and to obtain the fields to display in the first lookup list are:
fs-cdi p2 # q
fs-cdi p2 :10:9:11 i4 1 - +20 q
The command used to obtain the next twenty records for the lookup list is:
fs-cdi p2 :10:9:11 i4 f 1993/11/25 MLC CRAGG - - - +20 q
Contacting sanbachs.NET
Sign or browse our
guest book.
webmaster@sanbachs.com
A. Lewis Bastian, Jr.
Bruce Conrad
Thom Boyer
Disclaimer
*DataPerfect®
is a copyright of Novell, Inc.
sanbachs.NET is not affiliated with Novell, Inc.
visitors since November 12, 2000.
|