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

Reply via email to