When a file is inserted into an INDIRECT column, the ownership and
location of the file remains as it was when loaded. If the resume
file called "/usr/local/resume/smith.res
" was owned by the
Library, it will remain so when pointed to by the INDIRECT column
unless you take steps to make it otherwise. For example, if Personnel
owns the RESUME table but not the files themselves, an attempt to
update the resume files would not be successful. The management and
handling of the resume files is still in the domain of the Library.
The system of INDIRECT data types is a system of pointers to files. The file pointed to can either exist on the system already and remain where it is, or you can instruct Texis to create a copy of the file under its own ownership and control. In either case, the file still exists outside of Texis.
Where you want Texis to own a copy of the data, a Texis owned file can be made with the TOIND function. You can then do whatever you want with one version without affecting the other, including removing the original if that is appropriate. The permissions on such Texis owned files will be the same as the ownership and permissions assigned to the Texis table which owns it.
The file is copied into the table using an UPDATE
statement. The form
of UPDATE
is the same, but with special use of the expression for the
column name following SET. The form of this portion of the UPDATE
statement would be:
UPDATE table-name
SET column-name = toind (fromfile ('local-file') ) ;
The change you are making is to the named column. With SET, you are
taking text from the file ("fromfile") as it currently exists on the
system ("local-file"), and copying it to an INDIRECT text column
("toind") pointed to by the Texis table named by UPDATE
. The name
of the local file is in quotes, as it is a character string, and is in
parentheses as the argument of the function "fromfile
". The
whole "fromfile
" function is in parentheses as the argument
of the function "toind
".
Example:
To make a Texis owned copy of the Smith resume file for the RESUME
table, use this UPDATE
statement:
UPDATE RESUME
SET EXP = toind (fromfile ('/usr/local/resume/smith.res') ) ;
The "smith.res
" file now exists as part of the Texis table
RESUME, while still remaining outside it. Once you have made Texis owned
copies of any such files, you can operate on the text in the table without
affecting the originals. And you can decide whether it is prudent to
retain the original copies of the files or whether that would now be an
unnecessary use of space.