SQLite Forum

Does table have rowid?
Login
Missed one.

 > The column cid is the ordinal position of the column; if so, what does -1 indicate?

The cid -1 indicates the "hidden implicit rowid".  This is added for completeness if the table has the "I am a ROWID table" indicator but not the "I have a named ROWID" indicator.

The aff (Affinity) column is also from the internal schema dictionary and does not depend on re-implementing the affinity deduction logic but simply reports what affinity is being used internally, which is an attribute stored in the internal schema information.