08.02.2021 14:13, Dmitry Yemanov wrote:
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 agree, except of usage of first entry of TempDirectories for GTT\temporary
TS -
it was never used in this way and I see no good reason to do it now.
I may accept the patch for v4.x, maybe even for v4.0 if PR will be prepared
within a week after agreement.
I can provide it.
Regards,
Vlad
Firebird-Devel mailing list, web interface at
https://lists.sourceforge.net/lists/listinfo/firebird-devel