SQLite Forum

Documentation issue (wrong table name) in FAQ, point 7
Login
Words can have multiple meanings; I am not offended by them and would hope that you wouldn't either (but of course I am not going to control that). However, the new name `sqlite_schema` is a better name anyways, since that is what it is (and it matches with the `writable_schema` pragma, too); it is the schema table. When I first saw the change, I was worried that it might ruin programs using authorizer callbacks in some cases, but I soon found out that it uses the old name in authorizer callbacks so that it doesn't break the compatibility, so that is good. The other thing is potential confusion with the `SQLITE_SCHEMA` error code, but the C codes are case-sensitive and SQL codes aren't case-sensitive.

Perhaps the better way when writing the programs now would be normally using the new name `sqlite_schema`, but the older name `sqlite_master` in authorizer callbacks and in programs that don't use any of the new features (including bug fixes) since the version of SQLite that the new name was introduced.

(If it was up to me, I would not have changed it in SQLite3 (since I would consider it unimportant and adding unnecessarily more complexity) (although I would call it the "schema table" in the documentation, since that is what it is), but would have changed that table name to `sqlite_schema` in a new major version that works differently (e.g. SQLite4), without keeping the `sqlite_master` name. However, now it is what it is, and that is OK.)