docs: def rowcount(self):
          """
          This read-only attribute specifies the number of rows that the last
          .execute*() produced (for DQL statements like ``SELECT``) or affected
          (for DML statements like ``UPDATE`` or ``INSERT``).
          """
          if (self._closed or not self._result or "rows" not in self._result):
              return -1
          return self._result.get("rowcount", -1)