'Return data that can be used to implement
:meth:`find_identical_books` in a worker process without access to the
db. See db.utils for an implementation.'

@read_api
def data_for_find_identical_books(self):

    at = self.fields[u'authors'].table
    author_map = defaultdict(set)
    for (aid, author) in at.id_map.iteritems():
        author_map[icu_lower(author)].add(aid)
    return (author_map, at.col_book_map.copy(), self.fields[u'title'].table.book_col_map.copy())
