%ISINFOA
Return alpha ISAM file status and key information
WSupported on Windows
|
USupported on Unix
|
VSupported on OpenVMS
|
NSupported in Synergy .NET
|
info = %ISINFOA(channel, request[, key][, segment])
or
xcall ISINFOA(info, channel, request[, key][, segment])
Return value
info
The information that is specified by the request keyword. (a)
Arguments
channel
The channel number. (n)
request
One of the following keywords that specifies the information to be returned. (See the Values Returned on OpenVMS for %ISINFOA table for OpenVMS-specific information.) (a)
The filename. (a)
A file option string containing one or more of the following, separated by commas: (a)
“COMPRESS” |
Data is compressed. |
“ERASE_ON_DELETE” | Record will be erased when it is deleted. |
“FIXED” |
Records are of fixed length. |
“I=pos:len” | A portable integer specification, where pos is the starting position of nonkey integer data and len is the length of nonkey integer data. |
“MULTIPLE” |
Records are of multiple fixed length. |
“VARIABLE” |
Records are of variable length. |
“NOROLLBACK” |
Rollback function is prohibited. |
“PAGE=size” |
Page size is size. |
“RECORD_LIMIT=recs” |
Number of records cannot exceed recs. |
“RESILIENT” | File maintains constant synchronization between index and data (files) during updates. |
“FULLRESILIENT” | Same as RESILIENT, except that for all writes (STORE, WRITE, or DELETE), data is written directly to disk using the file open flags FILE_FLAG_WRITE_THROUGH on Windows and O_DSYNC on Unix. |
“SEED=starting_seed” | The starting value for a sequence autokey. |
“SIZE_LIMIT=max_size” |
File size cannot exceed the number of megabytes in max_size. |
“STATIC_RFA” |
Records have constant RFAs. |
“STORED_GRFA” | Generates and stores the CRC-32 part of an RFA to each record header on each STORE or WRITE |
“TBYTE” |
File uses 48-bit (REV 6) or 40-bit (REV 4) addressing. |
“TRACK_CHANGES” |
Change tracking is enabled. |
portable integer specifications |
One of the following key types:
“A” = Alpha
“N” = Nocase
“D” = Decimal
“I” = Integer
“U” = Unsigned
“S” = Sequence
“T” = Timestamp
“C” = CTimestamp
If no segment is specified, KTYPE returns the type of the first segment (which is the type of the key if the key is not segmented). (a)
One of the following values: (a)
“SHORT”
“REPLICATE”
“NOREPLICATE”
“NONE”
A string containing the null value as defined in the VALUE_NULL ISAMC option. If the key has no null value, an error is generated. (a)
The key name. (a)
A string that contains the key information in ISAMC routine format. (a)
The date the file was created. If no date is available, the string “NODATE” is returned. (a)
The date the file was last cleared (using isclr). If no date is available, the string “NODATE” is returned. (a)
The date the file was last re-indexed (using isutl). If no date is available, the string “NODATE” is returned. (a)
The date the file was last verified (using isutl). If no date is available, the string “NODATE” is returned. (a)
The user-defined file header text associated with the file. (a)
key
(optional) The key the information is about: (n)
0 = Primary key (default)
1 = First alternate key
2 = Second alternate key
n = Any subsequent alternate keys
segment
(optional) The segment the information is about, where 1 is the first and default segment, 2 is the second segment, etc. (n)
Discussion
If request is FILENAME, FOPTS, CREATEDATE, CLEARDATE, REINDEXDATE, or VERIFYDATE, both the key and segment arguments are ignored. If request is NULL, NULLVALUE, KEYNAME, or STRING, the segment argument is ignored.
Data is moved into info according to the rules for moving alpha data. No error is generated on data overflow.
On OpenVMS, only the supported ISAM features are returned. The table below shows the values returned for %ISINFOA.
Keyword |
Returned value |
---|---|
FOPTS |
A file option string that contains one or more of the following values: “COMPRESS” “FIXED” “VARIABLE” |
KTYPE |
One of the following key types: “U” Unsigned “I” Integer “C” Collating “P” Packed “A” Alpha (string) The type is associated with the key and not the segment. |
NULL |
One of the following values: “REPLICATE” “NONE” |
CLEARDATE, |
“NODATE” |
The following error conditions are possible:
- If a key or segment is invalid, an “Illegal key specified” error ($ERR_BADKEY) is generated.
- If the request option is invalid, an “Invalid option” error (INVOPT) is generated.
- If no null string is specified for the key, or if a null string could not be found using the NULLVALUE or STRING option, an “SDMS error” error ($ERR_SDMSERR) is generated.
- If returned file text exceeds the size of the file text parameter, it is truncated and an “Input data size exceeds destination size” error ($ERR_TOOBIG) is generated.
See also
%ISINFO routine
a_value = %isinfoa(ismchn, "KTYPE", key0, seg1)
For a more complete example, see %ISINFO Examples.