def query_most_recent_date(session: Session, keyspace: str,
                           table: str) -> Optional[str]:
    """Fetch most recent entry from exchange rates table."""
    def pandas_factory(colnames, rows):
        return pd.DataFrame(rows, columns=colnames)

    session.row_factory = pandas_factory

    query = f"""SELECT date FROM {keyspace}.{table};"""

    result = session.execute(query)
    rates = result._current_rows

    if rates.empty:
        max_date = None
    else:
        rates["date"] = rates["date"].astype("datetime64")
        max_date = (rates.nlargest(
            1, "date").iloc[0]["date"].strftime("%Y-%m-%d"))
    return max_date