8
0
mirror of https://github.com/FirebirdSQL/firebird.git synced 2025-01-22 21:23:04 +01:00

Task #7897 : Remove obsolete setting ClearGTTAtRetaining

This commit is contained in:
Vlad Khorsun 2023-12-01 15:59:49 +02:00
parent 705e3a9040
commit 933b2741e7
3 changed files with 2 additions and 28 deletions

View File

@ -707,26 +707,6 @@
#BugcheckAbort = 0
# ----------------------------
# How COMMIT/ROLLBACK RETAINING handle GLOBAL TEMPORARY TABLE ON COMMIT DELETE ROWS
#
# GLOBAL TEMPORARY TABLE ON COMMIT DELETE ROWS (GTT) data is cleared on "hard"
# commit (rollback) but should be preserved on commit (or rollback) retaining.
# Due to a bug in the initial implementation in Firebird 2.1, that data is not visible
# for the application. This setting allows to preserve backward compatibility
# (i.e. clear GTT data on commit\rollback retaining).
# Value of 0 makes the engine not clear GTT data on commit/rollback retaining and
# let application see it.
# Default value is 0 (preserve GTT data on commit\rollback retaining).
# Note: this setting is expected to be removed in Firebird 5.
#
# Per-database configurable.
#
# Type: boolean
#
#ClearGTTAtRetaining = 0
# ----------------------------
# Relaxing relation alias checking rules in SQL
#

View File

@ -184,7 +184,6 @@ enum ConfigKey
KEY_SNAPSHOTS_MEM_SIZE,
KEY_TIP_CACHE_BLOCK_SIZE,
KEY_READ_CONSISTENCY,
KEY_CLEAR_GTT_RETAINING,
KEY_DATA_TYPE_COMPATIBILITY,
KEY_USE_FILESYSTEM_CACHE,
KEY_INLINE_SORT_THRESHOLD,
@ -304,7 +303,6 @@ constexpr ConfigEntry entries[MAX_CONFIG_KEY] =
{TYPE_INTEGER, "SnapshotsMemSize", false, 65536}, // bytes
{TYPE_INTEGER, "TipCacheBlockSize", false, 4194304}, // bytes
{TYPE_BOOLEAN, "ReadConsistency", false, true},
{TYPE_BOOLEAN, "ClearGTTAtRetaining", false, false},
{TYPE_STRING, "DataTypeCompatibility", false, nullptr},
{TYPE_BOOLEAN, "UseFileSystemCache", false, true},
{TYPE_INTEGER, "InlineSortThreshold", false, 1000}, // bytes
@ -625,8 +623,6 @@ public:
CONFIG_GET_PER_DB_BOOL(getReadConsistency, KEY_READ_CONSISTENCY);
CONFIG_GET_PER_DB_BOOL(getClearGTTAtRetaining, KEY_CLEAR_GTT_RETAINING);
CONFIG_GET_PER_DB_STR(getDataTypeCompatibility, KEY_DATA_TYPE_COMPATIBILITY);
bool getUseFileSystemCache(bool* pPresent = nullptr) const;

View File

@ -2668,10 +2668,8 @@ static void retain_context(thread_db* tdbb, jrd_tra* transaction, bool commit, i
// Set the state on the inventory page
TRA_set_state(tdbb, transaction, old_number, state);
}
if (dbb->dbb_config->getClearGTTAtRetaining())
release_temp_tables(tdbb, transaction);
else
retain_temp_tables(tdbb, transaction, new_number);
retain_temp_tables(tdbb, transaction, new_number);
transaction->tra_number = new_number;