Limit size of database cache dump to 40 chars

Each backend has their limit. 40 chars is picked as limit to match the size of
mercurial hash.

Closes #12754
(grafted from 3055098129d4afbf82af5fa527e3d3e357ea7021)

--HG--
branch : 7.0
This commit is contained in:
Cédric Krier committed 2023-11-26 17:12:40 +01:00
1 parent 2dbf1e4ced
commit 51737db7ba
1 file changed
+2 -3
+2 -3
View File
@@ -142,12 +142,11 @@ def backup_db_cache(name):
def _db_cache_file(path, name):
hash_name = hashlib.shake_128(name.encode('utf8')).hexdigest(40 // 2)
if DB_CACHE.startswith('postgresql://'):
hash_name = hashlib.shake_128(name.encode('utf8')).hexdigest(
(63 - len('test-')) // 2)
return f"{DB_CACHE}/test-{hash_name}"
else:
return os.path.join(path, '%s-%s.dump' % (name, backend.name))
return os.path.join(path, f'{hash_name}-{backend.name}.dump')
def _sqlite_copy(file_, restore=False):