Making a Texis Owned File

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.


Copyright © Thunderstone Software     Last updated: Apr 15 2024
Copyright © 2024 Thunderstone Software LLC. All rights reserved.