datazone-sdk 6.0.1.dev6__tar.gz → 6.0.1.dev7__tar.gz

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 (21) hide show
  1. {datazone_sdk-6.0.1.dev6 → datazone_sdk-6.0.1.dev7}/PKG-INFO +1 -1
  2. {datazone_sdk-6.0.1.dev6 → datazone_sdk-6.0.1.dev7}/datazone/deltastorage/table.py +5 -13
  3. {datazone_sdk-6.0.1.dev6 → datazone_sdk-6.0.1.dev7}/pyproject.toml +1 -1
  4. {datazone_sdk-6.0.1.dev6 → datazone_sdk-6.0.1.dev7}/README.md +0 -0
  5. {datazone_sdk-6.0.1.dev6 → datazone_sdk-6.0.1.dev7}/datazone/__init__.py +0 -0
  6. {datazone_sdk-6.0.1.dev6 → datazone_sdk-6.0.1.dev7}/datazone/backtesting.py +0 -0
  7. {datazone_sdk-6.0.1.dev6 → datazone_sdk-6.0.1.dev7}/datazone/caching/__init__.py +0 -0
  8. {datazone_sdk-6.0.1.dev6 → datazone_sdk-6.0.1.dev7}/datazone/caching/parquet.py +0 -0
  9. {datazone_sdk-6.0.1.dev6 → datazone_sdk-6.0.1.dev7}/datazone/db/__init__.py +0 -0
  10. {datazone_sdk-6.0.1.dev6 → datazone_sdk-6.0.1.dev7}/datazone/db/base.py +0 -0
  11. {datazone_sdk-6.0.1.dev6 → datazone_sdk-6.0.1.dev7}/datazone/db/cached.py +0 -0
  12. {datazone_sdk-6.0.1.dev6 → datazone_sdk-6.0.1.dev7}/datazone/db/snapshot.py +0 -0
  13. {datazone_sdk-6.0.1.dev6 → datazone_sdk-6.0.1.dev7}/datazone/db/standard.py +0 -0
  14. {datazone_sdk-6.0.1.dev6 → datazone_sdk-6.0.1.dev7}/datazone/deltastorage/__init__.py +0 -0
  15. {datazone_sdk-6.0.1.dev6 → datazone_sdk-6.0.1.dev7}/datazone/deltastorage/data_types.py +0 -0
  16. {datazone_sdk-6.0.1.dev6 → datazone_sdk-6.0.1.dev7}/datazone/deltastorage/generated_columns.py +0 -0
  17. {datazone_sdk-6.0.1.dev6 → datazone_sdk-6.0.1.dev7}/datazone/deltastorage/schema.py +0 -0
  18. {datazone_sdk-6.0.1.dev6 → datazone_sdk-6.0.1.dev7}/datazone/deltastorage/slicing.py +0 -0
  19. {datazone_sdk-6.0.1.dev6 → datazone_sdk-6.0.1.dev7}/datazone/deltastorage/store.py +0 -0
  20. {datazone_sdk-6.0.1.dev6 → datazone_sdk-6.0.1.dev7}/datazone/testing/__init__.py +0 -0
  21. {datazone_sdk-6.0.1.dev6 → datazone_sdk-6.0.1.dev7}/datazone/testing/database_client.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: datazone-sdk
3
- Version: 6.0.1.dev6
3
+ Version: 6.0.1.dev7
4
4
  Summary: Database and Delta storage client library for working with Delta Lake tables
5
5
  Author: Team Enigma
6
6
  Author-email: enigma@energinet.dk
@@ -46,10 +46,6 @@ def _dnf_to_sql(dnf: list[tuple]) -> str:
46
46
  return " AND ".join(sql_parts)
47
47
 
48
48
 
49
- def _is_safe_partition_filter(filter_: tuple) -> bool:
50
- return filter_[1] in ["=", "in"]
51
-
52
-
53
49
  def _empty_to_none(filters: list[tuple]) -> list[tuple] | None:
54
50
  return filters if len(filters) > 0 else None
55
51
 
@@ -130,9 +126,9 @@ class Table:
130
126
  if hyper_slice is None:
131
127
  hyper_slice = []
132
128
 
133
- # Generated filters are an optimization for partition pruning. Keep them out
134
- # of row filters because partition values may be represented as strings by
135
- # PyArrow even when the Delta schema has a richer logical type.
129
+ # Generated filters are an optimization for partition pruning. Keep all
130
+ # partition filters out of row filters because partition values may be
131
+ # represented differently by PyArrow than by Delta's partition pruning.
136
132
  partition_hyper_slice = self.schema().add_generated_filters(hyper_slice)
137
133
 
138
134
  delta_table = self.delta_table
@@ -147,16 +143,12 @@ class Table:
147
143
  [f for f in hyper_slice if f[0] not in partition_cols]
148
144
  )
149
145
  partition_filters = _empty_to_none(
150
- [
151
- f
152
- for f in partition_hyper_slice
153
- if f[0] in partition_cols and _is_safe_partition_filter(f)
154
- ]
146
+ [f for f in partition_hyper_slice if f[0] in partition_cols]
155
147
  )
156
148
  post_filters = [
157
149
  f
158
150
  for f in hyper_slice
159
- if f[0] in partition_cols and not _is_safe_partition_filter(f)
151
+ if f[0] in partition_cols and f not in partition_hyper_slice
160
152
  ]
161
153
 
162
154
  pyarrow_table_existing_data = delta_table.to_pyarrow_table(
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "datazone-sdk"
3
- version = "6.0.1.dev6"
3
+ version = "6.0.1.dev7"
4
4
  description = "Database and Delta storage client library for working with Delta Lake tables"
5
5
  authors = [{ name = "Team Enigma", email = "enigma@energinet.dk" }]
6
6
  requires-python = ">=3.10"