*** 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