Modifies the location of log files corresponding to a HFSQL data file (*JNL files as well as JournalOperation and JournalIdentification files if they exist).
Reminder: The JournalOperation and JournalIdentification files are created:
- if the management of replication is requested for the data file.
- if the management of the selected log corresponds to "Write-to-file log and history of accesses".
The *JNL file is not created if only the log of access history is requested.
By default, the physical files corresponding to the logs are created:
- in the directory specified in the analysis ("Analysis description", "Log/Replication" tab).
- in the specified directory when describing the data file ("Description of data file" from the popup menu, "Various" tab). This option is available only if the analysis directory corresponds to "<Default directory of files>".
The location of log files cannot be modified. This function is ignored
. The log location is configured in the HFCONF.INI file
Note: From version 19, HFSQL is the new name of HyperFileSQL.
// The "Customer" file is logged
HChangeLogDir(Customer, "\\MyServer\Log\JNL", "\\MyServer\Log\Operation")
// -> the "CustomerJNL" file is opened
// in the "\\MyServer\Log\JNL" directory
//-> the "JournalOperation" and "JournalIdentification" files
// are opened in the "\\MyServer\Log|Operation" directory
<Result> = HChangeLogDir(<File name> , <New location of JNL file> [, <New location of JournalOperation file> [, <Backup location>]])
- True if the operation was performed,
- False if a problem occurred. HErrorInfo is used to identify the error.
<File name>: Character string (with quotes)
Logical name of data file whose log will be moved.
If this parameter is equal to "*", all the data files found in the current analysis will have their log file moved.
<New location of JNL file>: Character string (with quotes)
New access path to JNL file associated with the logged file (full or relative path).
If this parameter corresponds to an empty string (""), the current file location is not modified.
<New location of JournalOperation file>: Optional character string (with quotes)
New access path to JournalOperation file and to JournalIdentification file associated with the logged file (full or relative path). The JournalOperation file contains all the operations performed on the logged file.
If this parameter is not specified or if it corresponds to an empty string (""), the current file location is not modified.
<Backup location>: Optional character string (with quotes)
Path of backups of log files. By default, this path corresponds to: <directory of JNL files>\__JNLBackup
This path is used during the automatic modification of data files to archive the logs. HHistoryModification
will also find the history of modifications in these files.
If this parameter corresponds to an empty string (""), the current location is not modified.
If this parameter corresponds to a relative path (and starts with a dot), the path will be relative to data files.
Priority for defining the location of log files
The location of log files is defined according to the following priority order:
- Location specified when creating the logged file (HCreation).
- Location specified by HChangeLogDir.
- Location specified in the analysis.
- Location of logged file.
The log file exists when using HChangeLogDir
If the log file already exists during the call to HChangeLogDir, this log file is not used anymore: a log file is created at the specified location and it is associated with the logged HFSQL file.
Using HDeclareExternal with a logged file
: if an application is using HDeclareExternal
on a logged file, the modifications performed by this application are saved in the log files specified in the header of logged HFSQL file.
Replication and log process
Reminder: The replication is based on the logs and on the operation tables of the data files. The replication cannot operate if the location of the logs and operation tables is invalid.