rowExists(sql: string,args: InValue[],): Promise<boolean>
True when the query returns at least one row. sql should be an existence
probe (e.g. SELECT 1 ... LIMIT 1); the selected columns are ignored. Shared
by the per-(attendee, listing) and built-site assignment checks so the
row-presence boilerplate lives in one place.