docs: def get_collections(module_ident, plpy):
      """Get all the collections that the module is part of."""
      # Make sure to only return one match per collection and only if it is the
      # latest collection (which may not be the same as what is in
      # latest_modules)
      plan = plpy.prepare('''
  WITH RECURSIVE t(node, parent, path, document) AS (
          SELECT tr.nodeid, tr.parent_id, ARRAY[tr.nodeid], tr.documentid
          FROM trees tr
          WHERE tr.documentid = $1 and tr.is_collated = 'False'
      UNION ALL
          SELECT c.nodeid, c.parent_id, path || ARRAY[c.nodeid], c.documentid
          FROM trees c JOIN t ON (c.nodeid = t.parent)
          WHERE not c.nodeid = ANY(t.path)
      ),
      latest(module_ident) AS (
      SELECT module_ident FROM (
          SELECT m.module_ident, m.revised,
              MAX(m.revised) OVER (PARTITION BY m.uuid) as latest
          FROM  modules m where m.portal_type = 'Collection'
      ) r
      WHERE r.revised = r.latest
      )
      SELECT module_ident FROM t, latest
          WHERE latest.module_ident = t.document
      ''', ('integer',))
      for i in plpy.execute(plan, (module_ident,)):
          yield i['module_ident']