in awswrangler/data_api/redshift.py [0:0]
def _get_statement_result(self, request_id: str) -> pd.DataFrame:
self.waiter.wait(request_id)
describe_response = self.client.describe_statement(Id=request_id)
if not describe_response["HasResultSet"]:
return pd.DataFrame()
paginator = self.client.get_paginator("get_statement_result")
response_iterator = paginator.paginate(Id=request_id)
rows: list[list[Any]] = []
column_metadata: list["ColumnMetadataTypeDef"]
for response in response_iterator:
column_metadata = response["ColumnMetadata"]
for record in response["Records"]:
row: list[Any] = [
_connector.DataApiConnector._get_column_value(column) # type: ignore[arg-type]
for column in record
]
rows.append(row)
column_names: list[str] = [column["name"] for column in column_metadata]
dataframe = pd.DataFrame(rows, columns=column_names)
return dataframe