deltacat 1.1.36__py3-none-any.whl → 2.0.0b2__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (238) hide show
  1. deltacat/__init__.py +42 -3
  2. deltacat/annotations.py +36 -0
  3. deltacat/api.py +168 -0
  4. deltacat/aws/s3u.py +4 -4
  5. deltacat/benchmarking/benchmark_engine.py +82 -0
  6. deltacat/benchmarking/benchmark_report.py +86 -0
  7. deltacat/benchmarking/benchmark_suite.py +11 -0
  8. deltacat/benchmarking/conftest.py +21 -0
  9. deltacat/benchmarking/data/random_row_generator.py +94 -0
  10. deltacat/benchmarking/data/row_generator.py +10 -0
  11. deltacat/benchmarking/test_benchmark_pipeline.py +106 -0
  12. deltacat/catalog/__init__.py +14 -0
  13. deltacat/catalog/delegate.py +199 -106
  14. deltacat/catalog/iceberg/__init__.py +4 -0
  15. deltacat/catalog/iceberg/iceberg_catalog_config.py +26 -0
  16. deltacat/catalog/iceberg/impl.py +368 -0
  17. deltacat/catalog/iceberg/overrides.py +74 -0
  18. deltacat/catalog/interface.py +273 -76
  19. deltacat/catalog/main/impl.py +720 -0
  20. deltacat/catalog/model/catalog.py +227 -20
  21. deltacat/catalog/model/properties.py +116 -0
  22. deltacat/catalog/model/table_definition.py +32 -1
  23. deltacat/compute/compactor/model/compaction_session_audit_info.py +7 -3
  24. deltacat/compute/compactor/model/delta_annotated.py +3 -3
  25. deltacat/compute/compactor/model/delta_file_envelope.py +3 -1
  26. deltacat/compute/compactor/model/delta_file_locator.py +3 -1
  27. deltacat/compute/compactor/model/round_completion_info.py +5 -5
  28. deltacat/compute/compactor/model/table_object_store.py +3 -2
  29. deltacat/compute/compactor/repartition_session.py +1 -1
  30. deltacat/compute/compactor/steps/dedupe.py +11 -4
  31. deltacat/compute/compactor/steps/hash_bucket.py +1 -1
  32. deltacat/compute/compactor/steps/materialize.py +6 -2
  33. deltacat/compute/compactor/utils/io.py +1 -1
  34. deltacat/compute/compactor/utils/sort_key.py +9 -2
  35. deltacat/compute/compactor_v2/compaction_session.py +5 -9
  36. deltacat/compute/compactor_v2/constants.py +1 -30
  37. deltacat/compute/compactor_v2/deletes/utils.py +3 -3
  38. deltacat/compute/compactor_v2/model/merge_input.py +1 -7
  39. deltacat/compute/compactor_v2/private/compaction_utils.py +5 -6
  40. deltacat/compute/compactor_v2/steps/merge.py +17 -126
  41. deltacat/compute/compactor_v2/utils/content_type_params.py +0 -17
  42. deltacat/compute/compactor_v2/utils/dedupe.py +1 -1
  43. deltacat/compute/compactor_v2/utils/io.py +1 -1
  44. deltacat/compute/compactor_v2/utils/merge.py +0 -1
  45. deltacat/compute/compactor_v2/utils/primary_key_index.py +3 -15
  46. deltacat/compute/compactor_v2/utils/task_options.py +23 -43
  47. deltacat/compute/converter/constants.py +4 -0
  48. deltacat/compute/converter/converter_session.py +143 -0
  49. deltacat/compute/converter/model/convert_input.py +69 -0
  50. deltacat/compute/converter/model/convert_input_files.py +61 -0
  51. deltacat/compute/converter/model/converter_session_params.py +99 -0
  52. deltacat/compute/converter/pyiceberg/__init__.py +0 -0
  53. deltacat/compute/converter/pyiceberg/catalog.py +75 -0
  54. deltacat/compute/converter/pyiceberg/overrides.py +135 -0
  55. deltacat/compute/converter/pyiceberg/update_snapshot_overrides.py +251 -0
  56. deltacat/compute/converter/steps/__init__.py +0 -0
  57. deltacat/compute/converter/steps/convert.py +211 -0
  58. deltacat/compute/converter/steps/dedupe.py +60 -0
  59. deltacat/compute/converter/utils/__init__.py +0 -0
  60. deltacat/compute/converter/utils/convert_task_options.py +88 -0
  61. deltacat/compute/converter/utils/converter_session_utils.py +109 -0
  62. deltacat/compute/converter/utils/iceberg_columns.py +82 -0
  63. deltacat/compute/converter/utils/io.py +43 -0
  64. deltacat/compute/converter/utils/s3u.py +133 -0
  65. deltacat/compute/resource_estimation/delta.py +1 -19
  66. deltacat/constants.py +47 -1
  67. deltacat/env.py +51 -0
  68. deltacat/examples/__init__.py +0 -0
  69. deltacat/examples/basic_logging.py +101 -0
  70. deltacat/examples/common/__init__.py +0 -0
  71. deltacat/examples/common/fixtures.py +15 -0
  72. deltacat/examples/hello_world.py +27 -0
  73. deltacat/examples/iceberg/__init__.py +0 -0
  74. deltacat/examples/iceberg/iceberg_bucket_writer.py +139 -0
  75. deltacat/examples/iceberg/iceberg_reader.py +149 -0
  76. deltacat/exceptions.py +51 -9
  77. deltacat/logs.py +4 -1
  78. deltacat/storage/__init__.py +118 -28
  79. deltacat/storage/iceberg/__init__.py +0 -0
  80. deltacat/storage/iceberg/iceberg_scan_planner.py +28 -0
  81. deltacat/storage/iceberg/impl.py +737 -0
  82. deltacat/storage/iceberg/model.py +709 -0
  83. deltacat/storage/interface.py +217 -134
  84. deltacat/storage/main/__init__.py +0 -0
  85. deltacat/storage/main/impl.py +2077 -0
  86. deltacat/storage/model/delta.py +118 -71
  87. deltacat/storage/model/interop.py +24 -0
  88. deltacat/storage/model/list_result.py +8 -0
  89. deltacat/storage/model/locator.py +93 -3
  90. deltacat/{aws/redshift → storage}/model/manifest.py +122 -98
  91. deltacat/storage/model/metafile.py +1316 -0
  92. deltacat/storage/model/namespace.py +34 -18
  93. deltacat/storage/model/partition.py +362 -37
  94. deltacat/storage/model/scan/__init__.py +0 -0
  95. deltacat/storage/model/scan/push_down.py +19 -0
  96. deltacat/storage/model/scan/scan_plan.py +10 -0
  97. deltacat/storage/model/scan/scan_task.py +34 -0
  98. deltacat/storage/model/schema.py +892 -0
  99. deltacat/storage/model/shard.py +47 -0
  100. deltacat/storage/model/sort_key.py +170 -13
  101. deltacat/storage/model/stream.py +208 -80
  102. deltacat/storage/model/table.py +123 -29
  103. deltacat/storage/model/table_version.py +322 -46
  104. deltacat/storage/model/transaction.py +757 -0
  105. deltacat/storage/model/transform.py +198 -61
  106. deltacat/storage/model/types.py +111 -13
  107. deltacat/storage/rivulet/__init__.py +11 -0
  108. deltacat/storage/rivulet/arrow/__init__.py +0 -0
  109. deltacat/storage/rivulet/arrow/serializer.py +75 -0
  110. deltacat/storage/rivulet/dataset.py +744 -0
  111. deltacat/storage/rivulet/dataset_executor.py +87 -0
  112. deltacat/storage/rivulet/feather/__init__.py +5 -0
  113. deltacat/storage/rivulet/feather/file_reader.py +136 -0
  114. deltacat/storage/rivulet/feather/serializer.py +35 -0
  115. deltacat/storage/rivulet/fs/__init__.py +0 -0
  116. deltacat/storage/rivulet/fs/file_provider.py +105 -0
  117. deltacat/storage/rivulet/fs/file_store.py +130 -0
  118. deltacat/storage/rivulet/fs/input_file.py +76 -0
  119. deltacat/storage/rivulet/fs/output_file.py +86 -0
  120. deltacat/storage/rivulet/logical_plan.py +105 -0
  121. deltacat/storage/rivulet/metastore/__init__.py +0 -0
  122. deltacat/storage/rivulet/metastore/delta.py +190 -0
  123. deltacat/storage/rivulet/metastore/json_sst.py +105 -0
  124. deltacat/storage/rivulet/metastore/sst.py +82 -0
  125. deltacat/storage/rivulet/metastore/sst_interval_tree.py +260 -0
  126. deltacat/storage/rivulet/mvp/Table.py +101 -0
  127. deltacat/storage/rivulet/mvp/__init__.py +5 -0
  128. deltacat/storage/rivulet/parquet/__init__.py +5 -0
  129. deltacat/storage/rivulet/parquet/data_reader.py +0 -0
  130. deltacat/storage/rivulet/parquet/file_reader.py +127 -0
  131. deltacat/storage/rivulet/parquet/serializer.py +37 -0
  132. deltacat/storage/rivulet/reader/__init__.py +0 -0
  133. deltacat/storage/rivulet/reader/block_scanner.py +378 -0
  134. deltacat/storage/rivulet/reader/data_reader.py +136 -0
  135. deltacat/storage/rivulet/reader/data_scan.py +63 -0
  136. deltacat/storage/rivulet/reader/dataset_metastore.py +178 -0
  137. deltacat/storage/rivulet/reader/dataset_reader.py +156 -0
  138. deltacat/storage/rivulet/reader/pyarrow_data_reader.py +121 -0
  139. deltacat/storage/rivulet/reader/query_expression.py +99 -0
  140. deltacat/storage/rivulet/reader/reader_type_registrar.py +84 -0
  141. deltacat/storage/rivulet/schema/__init__.py +0 -0
  142. deltacat/storage/rivulet/schema/datatype.py +128 -0
  143. deltacat/storage/rivulet/schema/schema.py +251 -0
  144. deltacat/storage/rivulet/serializer.py +40 -0
  145. deltacat/storage/rivulet/serializer_factory.py +42 -0
  146. deltacat/storage/rivulet/writer/__init__.py +0 -0
  147. deltacat/storage/rivulet/writer/dataset_writer.py +29 -0
  148. deltacat/storage/rivulet/writer/memtable_dataset_writer.py +294 -0
  149. deltacat/storage/util/__init__.py +0 -0
  150. deltacat/storage/util/scan_planner.py +26 -0
  151. deltacat/tests/_io/__init__.py +1 -0
  152. deltacat/tests/catalog/test_catalogs.py +324 -0
  153. deltacat/tests/catalog/test_default_catalog_impl.py +16 -8
  154. deltacat/tests/compute/compact_partition_multiple_rounds_test_cases.py +21 -21
  155. deltacat/tests/compute/compact_partition_rebase_test_cases.py +6 -6
  156. deltacat/tests/compute/compact_partition_rebase_then_incremental_test_cases.py +56 -56
  157. deltacat/tests/compute/compact_partition_test_cases.py +19 -53
  158. deltacat/tests/compute/compactor/steps/test_repartition.py +2 -2
  159. deltacat/tests/compute/compactor/utils/test_io.py +6 -8
  160. deltacat/tests/compute/compactor_v2/test_compaction_session.py +0 -466
  161. deltacat/tests/compute/compactor_v2/utils/test_task_options.py +1 -273
  162. deltacat/tests/compute/conftest.py +75 -0
  163. deltacat/tests/compute/converter/__init__.py +0 -0
  164. deltacat/tests/compute/converter/conftest.py +80 -0
  165. deltacat/tests/compute/converter/test_convert_session.py +478 -0
  166. deltacat/tests/compute/converter/utils.py +123 -0
  167. deltacat/tests/compute/resource_estimation/test_delta.py +0 -16
  168. deltacat/tests/compute/test_compact_partition_incremental.py +2 -42
  169. deltacat/tests/compute/test_compact_partition_multiple_rounds.py +5 -46
  170. deltacat/tests/compute/test_compact_partition_params.py +3 -3
  171. deltacat/tests/compute/test_compact_partition_rebase.py +1 -46
  172. deltacat/tests/compute/test_compact_partition_rebase_then_incremental.py +5 -46
  173. deltacat/tests/compute/test_util_common.py +19 -12
  174. deltacat/tests/compute/test_util_create_table_deltas_repo.py +13 -22
  175. deltacat/tests/local_deltacat_storage/__init__.py +76 -103
  176. deltacat/tests/storage/__init__.py +0 -0
  177. deltacat/tests/storage/conftest.py +25 -0
  178. deltacat/tests/storage/main/__init__.py +0 -0
  179. deltacat/tests/storage/main/test_main_storage.py +1399 -0
  180. deltacat/tests/storage/model/__init__.py +0 -0
  181. deltacat/tests/storage/model/test_delete_parameters.py +21 -0
  182. deltacat/tests/storage/model/test_metafile_io.py +2535 -0
  183. deltacat/tests/storage/model/test_schema.py +308 -0
  184. deltacat/tests/storage/model/test_shard.py +22 -0
  185. deltacat/tests/storage/model/test_table_version.py +110 -0
  186. deltacat/tests/storage/model/test_transaction.py +308 -0
  187. deltacat/tests/storage/rivulet/__init__.py +0 -0
  188. deltacat/tests/storage/rivulet/conftest.py +149 -0
  189. deltacat/tests/storage/rivulet/fs/__init__.py +0 -0
  190. deltacat/tests/storage/rivulet/fs/test_file_location_provider.py +93 -0
  191. deltacat/tests/storage/rivulet/schema/__init__.py +0 -0
  192. deltacat/tests/storage/rivulet/schema/test_schema.py +241 -0
  193. deltacat/tests/storage/rivulet/test_dataset.py +406 -0
  194. deltacat/tests/storage/rivulet/test_manifest.py +67 -0
  195. deltacat/tests/storage/rivulet/test_sst_interval_tree.py +232 -0
  196. deltacat/tests/storage/rivulet/test_utils.py +122 -0
  197. deltacat/tests/storage/rivulet/writer/__init__.py +0 -0
  198. deltacat/tests/storage/rivulet/writer/test_dataset_write_then_read.py +341 -0
  199. deltacat/tests/storage/rivulet/writer/test_dataset_writer.py +79 -0
  200. deltacat/tests/storage/rivulet/writer/test_memtable_dataset_writer.py +75 -0
  201. deltacat/tests/test_deltacat_api.py +39 -0
  202. deltacat/tests/test_utils/filesystem.py +14 -0
  203. deltacat/tests/test_utils/message_pack_utils.py +54 -0
  204. deltacat/tests/test_utils/pyarrow.py +8 -15
  205. deltacat/tests/test_utils/storage.py +266 -3
  206. deltacat/tests/utils/test_daft.py +3 -3
  207. deltacat/tests/utils/test_pyarrow.py +0 -432
  208. deltacat/types/partial_download.py +1 -1
  209. deltacat/types/tables.py +1 -1
  210. deltacat/utils/export.py +59 -0
  211. deltacat/utils/filesystem.py +320 -0
  212. deltacat/utils/metafile_locator.py +73 -0
  213. deltacat/utils/pyarrow.py +36 -183
  214. deltacat-2.0.0b2.dist-info/METADATA +65 -0
  215. deltacat-2.0.0b2.dist-info/RECORD +349 -0
  216. deltacat/aws/redshift/__init__.py +0 -19
  217. deltacat/catalog/default_catalog_impl/__init__.py +0 -369
  218. deltacat/io/dataset.py +0 -73
  219. deltacat/io/read_api.py +0 -143
  220. deltacat/storage/model/delete_parameters.py +0 -40
  221. deltacat/storage/model/partition_spec.py +0 -71
  222. deltacat/tests/compute/compactor_v2/utils/test_content_type_params.py +0 -253
  223. deltacat/tests/compute/compactor_v2/utils/test_primary_key_index.py +0 -45
  224. deltacat-1.1.36.dist-info/METADATA +0 -64
  225. deltacat-1.1.36.dist-info/RECORD +0 -219
  226. /deltacat/{aws/redshift/model → benchmarking/data}/__init__.py +0 -0
  227. /deltacat/{io/aws → catalog/main}/__init__.py +0 -0
  228. /deltacat/{io/aws/redshift → compute/converter}/__init__.py +0 -0
  229. /deltacat/{tests/io → compute/converter/model}/__init__.py +0 -0
  230. /deltacat/tests/{io → _io}/test_cloudpickle_bug_fix.py +0 -0
  231. /deltacat/tests/{io → _io}/test_file_object_store.py +0 -0
  232. /deltacat/tests/{io → _io}/test_memcached_object_store.py +0 -0
  233. /deltacat/tests/{io → _io}/test_ray_plasma_object_store.py +0 -0
  234. /deltacat/tests/{io → _io}/test_redis_object_store.py +0 -0
  235. /deltacat/tests/{io → _io}/test_s3_object_store.py +0 -0
  236. {deltacat-1.1.36.dist-info → deltacat-2.0.0b2.dist-info}/LICENSE +0 -0
  237. {deltacat-1.1.36.dist-info → deltacat-2.0.0b2.dist-info}/WHEEL +0 -0
  238. {deltacat-1.1.36.dist-info → deltacat-2.0.0b2.dist-info}/top_level.txt +0 -0
@@ -1,20 +1,23 @@
1
1
  import unittest
2
2
  import sqlite3
3
+ import uuid
4
+
3
5
  import ray
4
6
  import os
5
7
  import deltacat.tests.local_deltacat_storage as ds
8
+ from deltacat import Catalog
9
+ from deltacat.catalog import CatalogProperties
6
10
  from deltacat.utils.common import current_time_ms
7
11
  from deltacat.tests.test_utils.pyarrow import (
8
12
  create_delta_from_csv_file,
9
13
  commit_delta_to_partition,
10
14
  )
11
15
  from deltacat.types.media import DistributedDatasetType, ContentType
12
- from deltacat.catalog import default_catalog_impl as dc
16
+ import deltacat as dc
13
17
 
14
18
 
15
19
  class TestReadTable(unittest.TestCase):
16
20
  READ_TABLE_NAMESPACE = "catalog_read_table_namespace"
17
- LOCAL_CATALOG_NAME = "local_catalog"
18
21
  DB_FILE_PATH = f"{current_time_ms()}.db"
19
22
  SAMPLE_FILE_PATH = "deltacat/tests/catalog/data/sample_table.csv"
20
23
 
@@ -31,6 +34,13 @@ class TestReadTable(unittest.TestCase):
31
34
  }
32
35
  cls.deltacat_storage_kwargs = {ds.DB_FILE_PATH_ARG: cls.DB_FILE_PATH}
33
36
 
37
+ cls.catalog_name = str(uuid.uuid4())
38
+ catalog_config = CatalogProperties(storage=ds)
39
+ dc.put_catalog(
40
+ cls.catalog_name,
41
+ catalog=Catalog.default(config=catalog_config),
42
+ ray_init_args={"ignore_reinit_error": True},
43
+ )
34
44
  super().setUpClass()
35
45
 
36
46
  @classmethod
@@ -49,13 +59,12 @@ class TestReadTable(unittest.TestCase):
49
59
  **self.kwargs,
50
60
  )
51
61
 
52
- dc.initialize(ds=ds)
53
62
  df = dc.read_table(
54
63
  table=READ_TABLE_TABLE_NAME,
55
64
  namespace=self.READ_TABLE_NAMESPACE,
56
- catalog=self.LOCAL_CATALOG_NAME,
65
+ catalog=self.catalog_name,
57
66
  distributed_dataset_type=DistributedDatasetType.DAFT,
58
- deltacat_storage_kwargs=self.kwargs,
67
+ **self.kwargs,
59
68
  )
60
69
 
61
70
  # verify
@@ -81,14 +90,13 @@ class TestReadTable(unittest.TestCase):
81
90
  )
82
91
 
83
92
  # action
84
- dc.initialize(ds=ds)
85
93
  df = dc.read_table(
86
94
  table=READ_TABLE_TABLE_NAME,
87
95
  namespace=self.READ_TABLE_NAMESPACE,
88
- catalog=self.LOCAL_CATALOG_NAME,
96
+ catalog=self.catalog_name,
89
97
  distributed_dataset_type=DistributedDatasetType.DAFT,
90
98
  merge_on_read=False,
91
- deltacat_storage_kwargs=self.kwargs,
99
+ **self.kwargs,
92
100
  )
93
101
 
94
102
  # verify
@@ -15,7 +15,7 @@ from deltacat.exceptions import ValidationError
15
15
 
16
16
  from deltacat.storage import (
17
17
  DeltaType,
18
- DeleteParameters,
18
+ EntryParams,
19
19
  )
20
20
 
21
21
  from deltacat.compute.compactor.model.compactor_version import CompactorVersion
@@ -36,15 +36,15 @@ class MultipleRoundsTestCaseParams:
36
36
  Args:
37
37
  primary_keys: Set[str] - argument for the primary_keys parameter in compact_partition. Also needed for table/delta creation
38
38
  sort_keys: List[SortKey] - argument for the sort_keys parameter in compact_partition. Also needed for table/delta creation
39
- partition_keys_param: List[PartitionKey] - argument for the partition_keys parameter. Needed for table/delta creation
40
- partition_values_param: List[Optional[str]] - argument for the partition_valued parameter. Needed for table/delta creation
39
+ partition_keys: List[PartitionKey] - argument for the partition_keys parameter. Needed for table/delta creation
40
+ partition_values: List[Optional[str]] - argument for the partition_valued parameter. Needed for table/delta creation
41
41
  input_deltas: List[pa.Array] - argument required for delta creation during compact_partition test setup. Actual incoming deltas expressed as a PyArrow array (https://arrow.apache.org/docs/python/generated/pyarrow.array.html)
42
42
  expected_terminal_compact_partition_result: pa.Table - expected PyArrow table after compaction (i.e,. the state of the table after applying all row UPDATES/DELETES/INSERTS)
43
43
  expected_terminal_exception: BaseException - expected exception during compaction
44
44
  expected_terminal_exception_message: Optional[str] - expected exception message if present.
45
45
  do_create_placement_group: bool - toggles whether to create a placement group (https://docs.ray.io/en/latest/ray-core/scheduling/placement-group.html) or not
46
46
  records_per_compacted_file: int - argument for the records_per_compacted_file parameter in compact_partition
47
- hash_bucket_count_param: int - argument for the hash_bucket_count parameter in compact_partition
47
+ hash_bucket_count: int - argument for the hash_bucket_count parameter in compact_partition
48
48
  read_kwargs_provider: Optional[ReadKwargsProvider] - argument for read_kwargs_provider parameter in compact_partition. If None then no ReadKwargsProvider is provided to compact_partition_params
49
49
  drop_duplicates: bool - argument for drop_duplicates parameter in compact_partition. Only recognized by compactor v2.
50
50
  skip_enabled_compact_partition_drivers: List[CompactorVersion] - skip whatever enabled_compact_partition_drivers are included in this list
@@ -57,7 +57,7 @@ class MultipleRoundsTestCaseParams:
57
57
  sort_keys: List[Optional[SortKey]]
58
58
  partition_keys: Optional[List[PartitionKey]]
59
59
  partition_values: List[Optional[str]]
60
- input_deltas: Union[List[pa.Array], DeltaType, DeleteParameters]
60
+ input_deltas: Union[List[pa.Array], DeltaType]
61
61
  expected_terminal_compact_partition_result: pa.Table
62
62
  expected_terminal_exception: BaseException
63
63
  expected_terminal_exception_message: str
@@ -83,8 +83,8 @@ MULTIPLE_ROUNDS_TEST_CASES = {
83
83
  "1-multiple-rounds-sanity": MultipleRoundsTestCaseParams(
84
84
  primary_keys={"pk_col_1"},
85
85
  sort_keys=[
86
- SortKey.of(key_name="sk_col_1"),
87
- SortKey.of(key_name="sk_col_2"),
86
+ SortKey.of(key=["sk_col_1"]),
87
+ SortKey.of(key=["sk_col_2"]),
88
88
  ],
89
89
  partition_keys=[PartitionKey.of("region_id", PartitionKeyType.INT)],
90
90
  partition_values=["1"],
@@ -177,8 +177,8 @@ MULTIPLE_ROUNDS_TEST_CASES = {
177
177
  "2-multiple-rounds-unique-values": MultipleRoundsTestCaseParams(
178
178
  primary_keys={"pk_col_1"},
179
179
  sort_keys=[
180
- SortKey.of(key_name="sk_col_1"),
181
- SortKey.of(key_name="sk_col_2"),
180
+ SortKey.of(key=["sk_col_1"]),
181
+ SortKey.of(key=["sk_col_2"]),
182
182
  ],
183
183
  partition_keys=[PartitionKey.of("region_id", PartitionKeyType.INT)],
184
184
  partition_values=["1"],
@@ -270,8 +270,8 @@ MULTIPLE_ROUNDS_TEST_CASES = {
270
270
  "3-num-rounds-greater-than-deltas-count": MultipleRoundsTestCaseParams(
271
271
  primary_keys={"pk_col_1"},
272
272
  sort_keys=[
273
- SortKey.of(key_name="sk_col_1"),
274
- SortKey.of(key_name="sk_col_2"),
273
+ SortKey.of(key=["sk_col_1"]),
274
+ SortKey.of(key=["sk_col_2"]),
275
275
  ],
276
276
  partition_keys=[PartitionKey.of("region_id", PartitionKeyType.INT)],
277
277
  partition_values=["1"],
@@ -364,8 +364,8 @@ MULTIPLE_ROUNDS_TEST_CASES = {
364
364
  "4-multiple-rounds-hb-count-equals-1": MultipleRoundsTestCaseParams(
365
365
  primary_keys={"pk_col_1"},
366
366
  sort_keys=[
367
- SortKey.of(key_name="sk_col_1"),
368
- SortKey.of(key_name="sk_col_2"),
367
+ SortKey.of(key=["sk_col_1"]),
368
+ SortKey.of(key=["sk_col_2"]),
369
369
  ],
370
370
  partition_keys=[PartitionKey.of("region_id", PartitionKeyType.INT)],
371
371
  partition_values=["1"],
@@ -458,8 +458,8 @@ MULTIPLE_ROUNDS_TEST_CASES = {
458
458
  "5-multiple-rounds-only-supports-rebase": MultipleRoundsTestCaseParams(
459
459
  primary_keys={"pk_col_1"},
460
460
  sort_keys=[
461
- SortKey.of(key_name="sk_col_1"),
462
- SortKey.of(key_name="sk_col_2"),
461
+ SortKey.of(key=["sk_col_1"]),
462
+ SortKey.of(key=["sk_col_2"]),
463
463
  ],
464
464
  partition_keys=[PartitionKey.of("region_id", PartitionKeyType.INT)],
465
465
  partition_values=["1"],
@@ -553,8 +553,8 @@ MULTIPLE_ROUNDS_TEST_CASES = {
553
553
  "6-multiple-rounds-test-pgm": MultipleRoundsTestCaseParams(
554
554
  primary_keys={"pk_col_1"},
555
555
  sort_keys=[
556
- SortKey.of(key_name="sk_col_1"),
557
- SortKey.of(key_name="sk_col_2"),
556
+ SortKey.of(key=["sk_col_1"]),
557
+ SortKey.of(key=["sk_col_2"]),
558
558
  ],
559
559
  partition_keys=[PartitionKey.of("region_id", PartitionKeyType.INT)],
560
560
  partition_values=["1"],
@@ -690,7 +690,7 @@ MULTIPLE_ROUNDS_TEST_CASES = {
690
690
  names=["pk_col_1", "col_1"],
691
691
  ),
692
692
  DeltaType.DELETE,
693
- DeleteParameters.of(["pk_col_1", "col_1"]),
693
+ EntryParams.of(equality_field_locators=["pk_col_1", "col_1"]),
694
694
  ),
695
695
  ],
696
696
  rebase_expected_compact_partition_result=pa.Table.from_arrays(
@@ -758,7 +758,7 @@ MULTIPLE_ROUNDS_TEST_CASES = {
758
758
  names=["pk_col_1", "col_1"],
759
759
  ),
760
760
  DeltaType.DELETE,
761
- DeleteParameters.of(["pk_col_1", "col_1"]),
761
+ EntryParams.of(equality_field_locators=["pk_col_1", "col_1"]),
762
762
  ),
763
763
  (
764
764
  pa.Table.from_arrays(
@@ -766,7 +766,7 @@ MULTIPLE_ROUNDS_TEST_CASES = {
766
766
  names=["pk_col_1", "col_1"],
767
767
  ),
768
768
  DeltaType.DELETE,
769
- DeleteParameters.of(["pk_col_1", "col_1"]),
769
+ EntryParams.of(equality_field_locators=["pk_col_1", "col_1"]),
770
770
  ),
771
771
  (
772
772
  pa.Table.from_arrays(
@@ -897,7 +897,7 @@ MULTIPLE_ROUNDS_TEST_CASES = {
897
897
  names=["pk_col_1", "col_1"],
898
898
  ),
899
899
  DeltaType.DELETE,
900
- DeleteParameters.of(["pk_col_1", "col_1"]),
900
+ EntryParams.of(["pk_col_1", "col_1"]),
901
901
  ),
902
902
  ],
903
903
  rebase_expected_compact_partition_result=pa.Table.from_arrays(
@@ -41,8 +41,8 @@ REBASE_TEST_CASES = {
41
41
  "1-rebase-sanity": RebaseCompactionTestCaseParams(
42
42
  primary_keys={"pk_col_1"},
43
43
  sort_keys=[
44
- SortKey.of(key_name="sk_col_1"),
45
- SortKey.of(key_name="sk_col_2"),
44
+ SortKey.of(key=["sk_col_1"]),
45
+ SortKey.of(key=["sk_col_2"]),
46
46
  ],
47
47
  partition_keys=[PartitionKey.of("region_id", PartitionKeyType.INT)],
48
48
  partition_values=["1"],
@@ -87,8 +87,8 @@ REBASE_TEST_CASES = {
87
87
  "2-rebase-with-null-pk": RebaseCompactionTestCaseParams(
88
88
  primary_keys={"pk_col_1"},
89
89
  sort_keys=[
90
- SortKey.of(key_name="sk_col_1"),
91
- SortKey.of(key_name="sk_col_2"),
90
+ SortKey.of(key=["sk_col_1"]),
91
+ SortKey.of(key=["sk_col_2"]),
92
92
  ],
93
93
  partition_keys=[PartitionKey.of("region_id", PartitionKeyType.INT)],
94
94
  partition_values=["1"],
@@ -133,7 +133,7 @@ REBASE_TEST_CASES = {
133
133
  "3-rebase-with-null-two-pk": RebaseCompactionTestCaseParams(
134
134
  primary_keys={"pk_col_1", "pk_col_2"},
135
135
  sort_keys=[
136
- SortKey.of(key_name="sk_col_1"),
136
+ SortKey.of(key=["sk_col_1"]),
137
137
  ],
138
138
  partition_keys=[PartitionKey.of("region_id", PartitionKeyType.INT)],
139
139
  partition_values=["1"],
@@ -307,7 +307,7 @@ REBASE_TEST_CASES = {
307
307
  "7-rebase-drop-duplicates-false": RebaseCompactionTestCaseParams(
308
308
  primary_keys={"pk_col_1"},
309
309
  sort_keys=[
310
- SortKey.of(key_name="sk_col_1"),
310
+ SortKey.of(key=["sk_col_1"]),
311
311
  ],
312
312
  partition_keys=[PartitionKey.of("region_id", PartitionKeyType.INT)],
313
313
  partition_values=["1"],