tchCommentAllCurrentDescendantsDB :: CommentId -> DB [CommentId]
fetchCommentAllCurrentDescendantsDB comment_id = fmap (map unValue) $
    select $
    from $ \ca -> do
    where_ $
        ca ^. CommentAncestorAncestor ==. val comment_id
        &&. ca ^. CommentAncestorComment `notIn`
            (subList_select $ from $ return . (^. CommentRethreadOldComment))
    orderBy [asc (ca ^. CommentAncestorComment)]
    return (ca ^. CommentAncestorComment)

-- | Get a Comment's descendants' ids (don't filter hidden or unapproved
-- comments).
f
fetchCommentAllCurrentDescendantsDB :: CommentId -> DB [CommentId]
fetchCommentAllCurrentDescendantsDB comment_id = fmap (map unValue) $
    select $
    from $ \ca -> do
    where_ $
        ca ^. CommentAncestorAncestor ==. val comment_id
        &&. ca ^. CommentAncestorComment `notIn`
            (subList_select $ from $ return . (^. CommentRethreadOldComment))
    orderBy [asc (ca ^. CommentAncestorComment)]
    return (ca ^. CommentAncestorComment)

-- | Get a Comment's descendants' ids (don't filter hidden or unapproved
-- comments).
fetchCommentAllCurrentDescendantsDB comment_id = fmap (map unValue) $
    select $
    from $ \ca -> do
    where_ $
        ca ^. CommentAncestorAncestor ==. val comment_id
        &&. ca ^. CommentAncestorComment `notIn`
            (subList_select $ from $ return . (^. CommentRethreadOldComment))
    orderBy [asc (ca ^. CommentAncestorComment)]
    return (ca ^. CommentAncestorComment)

-- | Get a Comment's descendants' ids (don't filter hidden or unapproved
-- comments).