Files
DB-GPT/dbgpt/datasource/operators/datasource_operator.py
2024-01-22 15:33:43 +08:00

18 lines
565 B
Python

from typing import Any
from dbgpt.core.awel import MapOperator
from dbgpt.core.awel.task.base import IN, OUT
from dbgpt.datasource.base import BaseConnect
class DatasourceOperator(MapOperator[str, Any]):
def __init__(self, connection: BaseConnect, **kwargs):
super().__init__(**kwargs)
self._connection = connection
async def map(self, input_value: IN) -> OUT:
return await self.blocking_func_to_async(self.query, input_value)
def query(self, input_value: str) -> Any:
return self._connection.run_to_df(input_value)