MCPcopy Create free account
hub / github.com/apache/arrow / test_metadata_hashing

Function test_metadata_hashing

python/pyarrow/tests/parquet/test_metadata.py:515–538  ·  view source on GitHub ↗
(tempdir)

Source from the content-addressed store, hash-verified

513
514
515def test_metadata_hashing(tempdir):
516 path1 = str(tempdir / "metadata1")
517 schema1 = pa.schema([("a", "int64"), ("b", "float64")])
518 pq.write_metadata(schema1, path1)
519 parquet_meta1 = pq.read_metadata(path1)
520
521 # Same as 1, just different path
522 path2 = str(tempdir / "metadata2")
523 schema2 = pa.schema([("a", "int64"), ("b", "float64")])
524 pq.write_metadata(schema2, path2)
525 parquet_meta2 = pq.read_metadata(path2)
526
527 # different schema
528 path3 = str(tempdir / "metadata3")
529 schema3 = pa.schema([("a", "int64"), ("b", "float32")])
530 pq.write_metadata(schema3, path3)
531 parquet_meta3 = pq.read_metadata(path3)
532
533 # Deterministic
534 assert hash(parquet_meta1) == hash(parquet_meta1) # equal w/ same instance
535 assert hash(parquet_meta1) == hash(parquet_meta2) # equal w/ different instance
536
537 # Not the same as other metadata with different schema
538 assert hash(parquet_meta1) != hash(parquet_meta3)
539
540
541@pytest.mark.filterwarnings("ignore:Parquet format:FutureWarning")

Callers

nothing calls this directly

Calls 3

hashFunction · 0.85
read_metadataMethod · 0.80
schemaMethod · 0.45

Tested by

no test coverage detected