Issues and pull requests are separate tables
They share a number sequence and a comment stream, which tempts merging them. But a pull request has head and base branches, a draft flag, a merge time and reviews attached; an issue has none of those and has milestones and assignees instead. One table means half the columns are null on every row and every query filters on a kind. The price of splitting is that the shared number has to be allocated outside the schema, and that comments have to point at one or the other.