Пример #1
0
def test_storage_key_after_update(inplace):
    """
    Assert that the storage key is not set after mutation of the index object
    """
    original_index = ExplicitSecondaryIndex(
        column="col",
        index_dct={1: ["part_1", "part_2"], 3: ["part_3"]},
        index_storage_key="storage_key",
    )
    updated_index = original_index.remove_partitions([], inplace=inplace)
    assert updated_index.index_storage_key == "storage_key"
    updated_index = original_index.remove_partitions(["part_1"], inplace=inplace)
    assert updated_index.index_storage_key is None

    original_index = ExplicitSecondaryIndex(
        column="col",
        index_dct={1: ["part_1", "part_2"], 3: ["part_3"]},
        index_storage_key="storage_key",
    )
    updated_index = original_index.remove_values([], inplace=inplace)
    assert updated_index.index_storage_key == "storage_key"

    updated_index = original_index.remove_values([1], inplace=inplace)
    assert updated_index.index_storage_key is None

    original_index = ExplicitSecondaryIndex(
        column="col",
        index_dct={1: ["part_1", "part_2"], 3: ["part_3"]},
        index_storage_key="storage_key",
    )
    updated_index = original_index.copy()
    assert updated_index.index_storage_key == "storage_key"
    updated_index = original_index.copy(column="something_different")
    assert updated_index.index_storage_key is None
Пример #2
0
def test_index_remove_partitions(inplace, remove, expected):
    original_index = ExplicitSecondaryIndex(
        column="col", index_dct={1: ["part_1", "part_2"], 2: ["part_1"], 3: ["part_3"]}
    )
    for perm in permutations(remove):
        new_index = original_index.remove_partitions(perm, inplace=inplace)
        expected_index = ExplicitSecondaryIndex(
            column="col", index_dct=expected, dtype=pa.int64()
        )
        assert new_index == expected_index