def METHOD_NAME(table_name: str, schema_name: str, dblink_name: str, sql: str, data_types: DataTypes):
    """ The common bits of subsequent functions. """
    table = make_composed_qualified_table_name(table_name, schema_name)
    sql = SQL(sql).format(table=table)
    if dblink_name is not None:
        sql = wrap_dblink_query(dblink_name, sql, "r", list(data_types), data_types)
    # IMPORTANT:  Even though this is a read only operation, since this is being run in support of
    # a writable operation, we need to run it against the writable connection else we will be
    # unable to see objects living in our transaction if there is one.
    return sql_helpers.execute_sql_to_ordered_dictionary(sql, read_only=False)