64 lines
1.9 KiB
Python
64 lines
1.9 KiB
Python
# Copyright 2023 Memgraph Ltd.
|
|
#
|
|
# Use of this software is governed by the Business Source License
|
|
# included in the file licenses/BSL.txt; by using this file, you agree to be bound by the terms of the Business Source
|
|
# License, and you may not use this file except in compliance with the Business Source License.
|
|
#
|
|
# As of the Change Date specified in that file, in accordance with
|
|
# the Business Source License, use of this software will be governed
|
|
# by the Apache License, Version 2.0, included in the file
|
|
# licenses/APL.txt.
|
|
|
|
import sys
|
|
|
|
import pytest
|
|
from common import connect, execute_and_fetch_all
|
|
|
|
|
|
def check_storage_info(cursor, expected_values):
|
|
cursor.execute("SHOW STORAGE INFO")
|
|
config = cursor.fetchall()
|
|
|
|
for conf in config:
|
|
conf_name = conf[0]
|
|
if conf_name in expected_values:
|
|
assert expected_values[conf_name] == conf[1]
|
|
|
|
|
|
def test_analytical_mode_objects_are_actually_deleted_when_asked(connect):
|
|
"""Tests objects are actually freed when deleted in analytical mode."""
|
|
|
|
expected_values = {
|
|
"vertex_count": 0,
|
|
}
|
|
|
|
cursor = connect.cursor()
|
|
check_storage_info(cursor, expected_values)
|
|
|
|
cursor.execute("STORAGE MODE IN_MEMORY_ANALYTICAL;")
|
|
cursor.execute("MERGE (n) DELETE n;")
|
|
cursor.execute("FREE MEMORY;")
|
|
|
|
check_storage_info(cursor, expected_values)
|
|
|
|
|
|
def test_analytical_mode_objects_are_actually_deleted_when_storage_mode_changes(connect):
|
|
"""Tests objects are actually freed when deleted in analytical mode."""
|
|
|
|
expected_values = {
|
|
"vertex_count": 0,
|
|
}
|
|
|
|
cursor = connect.cursor()
|
|
check_storage_info(cursor, expected_values)
|
|
|
|
cursor.execute("STORAGE MODE IN_MEMORY_ANALYTICAL;")
|
|
cursor.execute("MERGE (n) DELETE n;")
|
|
cursor.execute("STORAGE MODE IN_MEMORY_TRANSACTIONAL;")
|
|
|
|
check_storage_info(cursor, expected_values)
|
|
|
|
|
|
if __name__ == "__main__":
|
|
sys.exit(pytest.main([__file__, "-rA"]))
|