|
355 | 355 | SimpleRetriever as SimpleRetrieverModel, |
356 | 356 | ) |
357 | 357 | from airbyte_cdk.sources.declarative.models.declarative_component_schema import Spec as SpecModel |
358 | | -from airbyte_cdk.sources.declarative.models.declarative_component_schema import ( |
359 | | - StateDelegatingRetriever as StateDelegatingRetrieverModel, |
360 | | -) |
361 | 358 | from airbyte_cdk.sources.declarative.models.declarative_component_schema import ( |
362 | 359 | StreamConfig as StreamConfigModel, |
363 | 360 | ) |
|
444 | 441 | AsyncRetriever, |
445 | 442 | SimpleRetriever, |
446 | 443 | SimpleRetrieverTestReadDecorator, |
447 | | - StateDelegatingRetriever, |
448 | 444 | ) |
449 | 445 | from airbyte_cdk.sources.declarative.schema import ( |
450 | 446 | ComplexFieldType, |
@@ -624,7 +620,6 @@ def _init_mappings(self) -> None: |
624 | 620 | SelectiveAuthenticatorModel: self.create_selective_authenticator, |
625 | 621 | SimpleRetrieverModel: self.create_simple_retriever, |
626 | 622 | StateDelegatingStreamModel: self.create_state_delegating_stream, |
627 | | - StateDelegatingRetrieverModel: self.create_state_delegating_retriever, |
628 | 623 | SpecModel: self.create_spec, |
629 | 624 | SubstreamPartitionRouterModel: self.create_substream_partition_router, |
630 | 625 | WaitTimeFromHeaderModel: self.create_wait_time_from_header, |
@@ -1785,7 +1780,6 @@ def _build_stream_slicer_from_partition_router( |
1785 | 1780 | AsyncRetrieverModel, |
1786 | 1781 | CustomRetrieverModel, |
1787 | 1782 | SimpleRetrieverModel, |
1788 | | - StateDelegatingRetrieverModel, |
1789 | 1783 | ], |
1790 | 1784 | config: Config, |
1791 | 1785 | stream_name: Optional[str] = None, |
@@ -1814,29 +1808,6 @@ def _build_incremental_cursor( |
1814 | 1808 | stream_slicer: Optional[PartitionRouter], |
1815 | 1809 | config: Config, |
1816 | 1810 | ) -> Optional[StreamSlicer]: |
1817 | | - if model.retriever.type == "StateDelegatingRetriever": |
1818 | | - if not model.incremental_sync: |
1819 | | - raise ValueError( |
1820 | | - "StateDelegatingRetriever requires 'incremental_sync' to be enabled." |
1821 | | - ) |
1822 | | - elif model.incremental_sync.type != "DatetimeBasedCursor": |
1823 | | - raise ValueError("StateDelegatingRetriever support only DatetimeBasedCursor.") |
1824 | | - elif model.retriever.full_refresh_no_slice_in_params: |
1825 | | - model.incremental_sync.step = None |
1826 | | - model.incremental_sync.cursor_granularity = None |
1827 | | - model.incremental_sync.start_time_option = None |
1828 | | - model.incremental_sync.end_time_option = None |
1829 | | - elif model.retriever.full_refresh_ignore_min_max_datetime: |
1830 | | - start_datetime = model.incremental_sync.start_datetime |
1831 | | - end_datetime = model.incremental_sync.end_datetime |
1832 | | - |
1833 | | - if isinstance(start_datetime, MinMaxDatetimeModel): |
1834 | | - start_datetime.max_datetime = "" |
1835 | | - start_datetime.min_datetime = "" |
1836 | | - if isinstance(end_datetime, MinMaxDatetimeModel): |
1837 | | - end_datetime.max_datetime = "" |
1838 | | - end_datetime.min_datetime = "" |
1839 | | - |
1840 | 1811 | if model.incremental_sync and stream_slicer: |
1841 | 1812 | if model.retriever.type == "AsyncRetriever": |
1842 | 1813 | return self.create_concurrent_cursor_from_perpartition_cursor( # type: ignore # This is a known issue that we are creating and returning a ConcurrentCursor which does not technically implement the (low-code) StreamSlicer. However, (low-code) StreamSlicer and ConcurrentCursor both implement StreamSlicer.stream_slices() which is the primary method needed for checkpointing |
@@ -1891,7 +1862,6 @@ def _build_resumable_cursor( |
1891 | 1862 | AsyncRetrieverModel, |
1892 | 1863 | CustomRetrieverModel, |
1893 | 1864 | SimpleRetrieverModel, |
1894 | | - StateDelegatingRetrieverModel, |
1895 | 1865 | ], |
1896 | 1866 | stream_slicer: Optional[PartitionRouter], |
1897 | 1867 | ) -> Optional[StreamSlicer]: |
@@ -1937,14 +1907,6 @@ def _merge_stream_slicers( |
1937 | 1907 | # we could support here by calling create_concurrent_cursor_from_perpartition_cursor |
1938 | 1908 | raise ValueError("Per partition state is not supported yet for AsyncRetriever.") |
1939 | 1909 |
|
1940 | | - if retriever_model.type == "StateDelegatingRetriever": |
1941 | | - stream_name = model.name or "" |
1942 | | - retriever_model = ( |
1943 | | - retriever_model.incremental_retriever |
1944 | | - if self._connector_state_manager.get_stream_state(stream_name, None) |
1945 | | - else retriever_model.full_refresh_retriever |
1946 | | - ) |
1947 | | - |
1948 | 1910 | stream_slicer = self._build_stream_slicer_from_partition_router(retriever_model, config) |
1949 | 1911 |
|
1950 | 1912 | if model.incremental_sync: |
@@ -2759,11 +2721,10 @@ def create_simple_retriever( |
2759 | 2721 |
|
2760 | 2722 | def create_state_delegating_stream(self, model: StateDelegatingStreamModel, config: Config, child_state: Optional[MutableMapping[str, Any]] = None, **kwargs: Any |
2761 | 2723 | ) -> DeclarativeStream: |
2762 | | - if model.full_refresh_stream.name != model.incremental_stream.name: |
2763 | | - raise ValueError(f"full_refresh_stream name and incremental_stream must have equal names. Instead has {model.full_refresh_stream.name}, {model.incremental_stream.name}.") |
| 2724 | + if model.full_refresh_stream.name != model.name or model.name != model.incremental_stream.name: |
| 2725 | + raise ValueError(f"state_delegating_stream, full_refresh_stream name and incremental_stream must have equal names. Instead has {model.name}, {model.full_refresh_stream.name} and {model.incremental_stream.name}.") |
2764 | 2726 |
|
2765 | | - stream_name = model.full_refresh_stream.name |
2766 | | - stream_model = model.incremental_stream if self._connector_state_manager.get_stream_state(stream_name, None) or child_state else model.full_refresh_stream |
| 2727 | + stream_model = model.incremental_stream if self._connector_state_manager.get_stream_state(model.name, None) or child_state else model.full_refresh_stream |
2767 | 2728 |
|
2768 | 2729 | return self._create_component_from_model(stream_model, config=config, **kwargs) |
2769 | 2730 |
|
|
0 commit comments