Skip to content

Commit 96e0bea

Browse files
author
Max Wang
committed
consistency strong
1 parent 3eab669 commit 96e0bea

1 file changed

Lines changed: 8 additions & 3 deletions

File tree

src/dataverse_sdk/odata.py

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -676,15 +676,19 @@ def _normalize_entity_schema(self, tablename: str) -> str:
676676
return tablename
677677
return f"new_{self._to_pascal(tablename)}"
678678

679-
def _get_entity_by_schema(self, schema_name: str) -> Optional[Dict[str, Any]]:
679+
def _get_entity_by_schema(
680+
self,
681+
schema_name: str,
682+
headers: Optional[Dict[str, str]] = None,
683+
) -> Optional[Dict[str, Any]]:
680684
url = f"{self.api}/EntityDefinitions"
681685
# Escape single quotes in schema name
682686
schema_escaped = self._escape_odata_quotes(schema_name)
683687
params = {
684688
"$select": "MetadataId,LogicalName,SchemaName,EntitySetName",
685689
"$filter": f"SchemaName eq '{schema_escaped}'",
686690
}
687-
r = self._request("get", url, params=params)
691+
r = self._request("get", url, params=params, headers=headers)
688692
items = r.json().get("value", [])
689693
return items[0] if items else None
690694

@@ -723,10 +727,11 @@ def _wait_for_entity_ready(self, schema_name: str, delays: Optional[List[int]] =
723727
import time
724728
delays = delays or [0, 2, 5, 10, 20, 30]
725729
ent: Optional[Dict[str, Any]] = None
730+
strong_consistency_headers = {"Consistency": "Strong"}
726731
for idx, delay in enumerate(delays):
727732
if idx > 0 and delay > 0:
728733
time.sleep(delay)
729-
ent = self._get_entity_by_schema(schema_name)
734+
ent = self._get_entity_by_schema(schema_name, headers=strong_consistency_headers)
730735
if ent and ent.get("EntitySetName"):
731736
return ent
732737
return ent

0 commit comments

Comments
 (0)