Small. Fast. Reliable.
Choose any three.
*** 49,54 ****
--- 49,73 ----
  CREATE TABLE statement is ignored, as are all constraints.
  Only the column names and datatypes matter.
  
+ If a column datatype contains the special keyword HIDDEN
+ (detected case insensitively) then it is removed from the
+ column datatype and the column marked as a hidden column
+ internally. A hidden column differs from a normal column
+ in three respects:
+ 
+ *: It is not listed in the dataset returned by "PRAGMA table_info",
+ *: It is not included in the expansion of a "*" expression in
+    the result set of a SELECT, and
+ *: It is not included in the implicit column-list used by an
+    INSERT statement without an explicity column-list.
+ 
+ For example, if the following SQL is passed to sqlite3_declare_vtab():
+ 
+    CREATE TABLE x(a HIDDEN VARCHAR(12), b INTEGER, c INTEGER Hidden);
+ 
+ then the virtual table would be created with two hidden columns,
+ declaration types "VARCHAR(12)" and "INTEGER".
+ 
  The xCreate method should return SQLITE_OK if it is successful
  in creating the new virtual table, or SQLITE_ERROR if
  it is not successful.  If not successful, no sqlite3_vtab structure