This sends the following SQL query to the underlying database:
SELECTcount(1) FROM topics WHERE creator_id='123'UNION ALLSELECTcount(1) FROM topics WHERE created_at>'...'
As opposed to select(), load*() and loadBy*() calls, count() is privacy-unaware: it does not run privacy checks. This is partially a technical limitation (to recheck privacy, one needs to load the actual rows from the database, and count() doesn’t do it). But also, it’s an intended behavior: with count(), it’s convenient to build custom privacy checks and avoid "chicken and egg" problem (to build a privacy check, you eventually need to run a privacy-unaware calls at the very bottom of the stack).