|
DSC Tech Library
FASTPLUS C Library
fpinfo_create()
Function fpinfo_create returns the file template information for an open fastplus file.
The syntax for fpinfo_create is as follows:
fpinfo_create(int file_id, struct fpc_file *file_desc, struct fpc_index index_desc,
struct fpc_data *data_desc, struct fpc_journ *journ_desc)
int file_id - File unit of open file from previous
fpfile_open function.
struct fpc_file{ - Structure to describe base file info.
int record_len; - record length in bytes - 0 for variable length records
int recover; - set to true for recovery of deleted data record space
int compress; - set to true for compression of data records
int update_mod; - update modulus for count caching
int num_data; - number of split data partitions - up to 8
int num_index; - highst index number defined
int version; - not used by fpfile_create
char date[6]; - not used by fpfile_create
};
struct fpc_index{ - Structured array to describe indexes /*
char *pathname; - pointer to pathname if split, NULL pointer or pointer to null string if not split
int no_dupes; - set to true if dupes not allowed
int sparse_key; - set to true to not add blank and/or null keys
int num_parts; - number of parts of data record in this key (0 if not in data)
struct fpc_part{ - Describe key in data record.
int pos; - zero based part offset in data record -1 for key not in data
int len; - size of part in bytes - returned by fpinfo_create()
int type; - Type of key part.
- 0, FPC_KEY_NONE - don't create this index
- 1, FPC_KEY_CHAR - character key - size = bytes
- 2, FPC_KEY_SHORT - 2-byte integer key - size = ignored
- 3, FPC_KEY_INT - 4-byte integer key - size = ignored
FPC_KEY_LONG - 4-byte integer key - size = ignored
- 4, FPC_KEY_LONG - 4-byte floating point key - size = ignored
- 5, FPC_KEY_DBLE - 8-byte floating point key - size = ignored
- 6, FPC_KEY_BIT - bit field key - size = number of bits
- 7, FPC_KEY_DECLS - decimal leading separate field key - size = digits - not including sign
- 8, FPC_KEY_DECTS - decimal trailing separate field key - size = digits - not including sign
- 9, FPC_KEY_PACK - packed decimal field key - size = digits (must be odd number)
- 10, FPC_KEY_DECLE - decimal leading embeded field key - size = digits
- 11, FPC_KEY_DECTE - decimal trailing embeded field key - size = digits
FPC_KEY_DEC - decimal trailing embeded field key - size = digits
- 12, FPC_KEY_DATE - 3 2-bytes integers (year, month, day) key - size = ignored
int size; - Size of part in units (chars, bits, or digits).
}parts[FPC_MAX_PARTS];
};
struct fpc_data{ - Structured array to describe data nodes.
int size; - size in bytes of this partition
char *pathname; - filename of partition
};
struct fpc_journ{ - Structure to describe journal file.
int size; - maximum size of journal file
char *pathname; - filename of journal file
};
The possible values for fperrno and an explanation of each value follow.
Value
Explanation
--------------------------------------------------
FEROK - Code 0: Successful FASTPLUS Operation
FEROPN - Code 5: FAST file does not exist
FERUNT - Code 6: Illegal FAST file id
FERFHE - Code 9: System file error
|