|
@@ -476,6 +476,7 @@ class SnubaSearchBackendBase(SearchBackend, metaclass=ABCMeta):
|
|
|
referrer: str | None = None,
|
|
|
actor: Any | None = None,
|
|
|
aggregate_kwargs: TrendsSortWeights | None = None,
|
|
|
+ use_group_snuba_dataset: bool = False,
|
|
|
) -> CursorResult[Group]:
|
|
|
search_filters = search_filters if search_filters is not None else []
|
|
|
# ensure projects are from same org
|
|
@@ -508,6 +509,7 @@ class SnubaSearchBackendBase(SearchBackend, metaclass=ABCMeta):
|
|
|
search_filters=search_filters,
|
|
|
date_from=date_from,
|
|
|
date_to=date_to,
|
|
|
+ use_group_snuba_dataset=use_group_snuba_dataset,
|
|
|
)
|
|
|
|
|
|
# ensure sort strategy is supported by executor
|
|
@@ -649,6 +651,7 @@ class SnubaSearchBackendBase(SearchBackend, metaclass=ABCMeta):
|
|
|
search_filters: Sequence[SearchFilter],
|
|
|
date_from: datetime | None,
|
|
|
date_to: datetime | None,
|
|
|
+ use_group_snuba_dataset: bool,
|
|
|
) -> AbstractQueryExecutor:
|
|
|
"""This method should return an implementation of the AbstractQueryExecutor
|
|
|
We will end up calling .query() on the class returned by this method"""
|
|
@@ -657,6 +660,10 @@ class SnubaSearchBackendBase(SearchBackend, metaclass=ABCMeta):
|
|
|
|
|
|
class EventsDatasetSnubaSearchBackend(SnubaSearchBackendBase):
|
|
|
def _get_query_executor(self, *args: Any, **kwargs: Any) -> AbstractQueryExecutor:
|
|
|
+ if kwargs.get("use_group_snuba_dataset"):
|
|
|
+ from sentry.search.snuba.executors import GroupAttributesPostgresSnubaQueryExecutor
|
|
|
+
|
|
|
+ return GroupAttributesPostgresSnubaQueryExecutor()
|
|
|
return PostgresSnubaQueryExecutor()
|
|
|
|
|
|
def _get_queryset_conditions(
|