def _get_statement_result()

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