03.02.2021 16:29, Dmitry Starodubov wrote:
As it's described in CORE-1241, configuration parameter
"TempDirectories" does not affect a place where some temporary files are
stored. Instead they are stored in the path given by the FIREBIRD_TMP
environment variable and it's not very obvious.
AFAIU "TempDirectories" parameter is not used by
- BLOBs data for read-only databases;
- GTT data;
- isql and gpre temporary files;
- content of the BLOBs when it's edited by a user.
I propose to create a new configuration parameter, which will be
identical to FIREBIRD_TMP environment variable.
It can be called "TempDirectory" or "TempTableDirectory" because GTT
data can take the most space of the above objects.
If the FIREBIRD_TMP environment variable is not set, engine will use
this parameter to determine the temporary directory.
Also, if the "TempDirectories" parameter is not specified, this new
parameter will be used.
I disagree to consider it a global replacement for FIREBIRD_TMP. Leave
utilities in piece, it should be the engine-level setting (and database
configurable!). I'd vote for name TempTableDirectory and use it for GTT
pages and maybe blobs. Later, when tablespaces are introduced, it could
mean a default location for temporary TS files. If not specified, the
first entry of TempDirectories is used. If both not specified, fallback
to FIREBIRD_TMP.
Other opinions?
I may accept the patch for v4.x, maybe even for v4.0 if PR will be
prepared within a week after agreement.
Dmitry
Firebird-Devel mailing list, web interface at
https://lists.sourceforge.net/lists/listinfo/firebird-devel