mirror of
https://github.com/apache/superset.git
synced 2026-04-23 01:55:09 +00:00
refactor: refactor get_query_result (#36057)
This commit is contained in:
@@ -23,8 +23,10 @@ from superset.common.query_context import QueryContext
|
||||
from superset.common.query_context_processor import QueryContextProcessor
|
||||
from superset.connectors.sqla.models import BaseDatasource
|
||||
from superset.constants import TimeGrain
|
||||
from superset.models.helpers import ExploreMixin
|
||||
|
||||
query_context_processor = QueryContextProcessor(
|
||||
# Create processor and bind ExploreMixin methods to datasource
|
||||
processor = QueryContextProcessor(
|
||||
QueryContext(
|
||||
datasource=BaseDatasource(),
|
||||
queries=[],
|
||||
@@ -36,6 +38,34 @@ query_context_processor = QueryContextProcessor(
|
||||
)
|
||||
)
|
||||
|
||||
# Bind ExploreMixin methods to datasource for testing
|
||||
processor._qc_datasource.add_offset_join_column = (
|
||||
ExploreMixin.add_offset_join_column.__get__(processor._qc_datasource)
|
||||
)
|
||||
processor._qc_datasource.join_offset_dfs = ExploreMixin.join_offset_dfs.__get__(
|
||||
processor._qc_datasource
|
||||
)
|
||||
processor._qc_datasource.is_valid_date_range = ExploreMixin.is_valid_date_range.__get__(
|
||||
processor._qc_datasource
|
||||
)
|
||||
processor._qc_datasource._determine_join_keys = (
|
||||
ExploreMixin._determine_join_keys.__get__(processor._qc_datasource)
|
||||
)
|
||||
processor._qc_datasource._perform_join = ExploreMixin._perform_join.__get__(
|
||||
processor._qc_datasource
|
||||
)
|
||||
processor._qc_datasource._apply_cleanup_logic = (
|
||||
ExploreMixin._apply_cleanup_logic.__get__(processor._qc_datasource)
|
||||
)
|
||||
# Static methods don't need binding - assign directly
|
||||
processor._qc_datasource.generate_join_column = ExploreMixin.generate_join_column
|
||||
processor._qc_datasource.is_valid_date_range_static = (
|
||||
ExploreMixin.is_valid_date_range_static
|
||||
)
|
||||
|
||||
# Convenience reference for backward compatibility in tests
|
||||
query_context_processor = processor._qc_datasource
|
||||
|
||||
|
||||
@fixture
|
||||
def make_join_column_producer():
|
||||
|
||||
Reference in New Issue
Block a user