*** 5,11 **** of an SQL statement, the virtual table object looks like any other table or view. But behind the scenes, queries from and updates to a virtual table invoke ! callback methods on the the virtual table object instead of reading and writing to the database file. The virtual table mechanism allows an application to --- 5,11 ---- of an SQL statement, the virtual table object looks like any other table or view. But behind the scenes, queries from and updates to a virtual table invoke ! callback methods on the virtual table object instead of reading and writing to the database file. The virtual table mechanism allows an application to *************** *** 60,72 **** Each argument can consist of keywords, string literals, identifiers, numbers, and punctuation. The arguments are passed as written (as text) into a ! constructor for the for the virtual table when the virtual table is created and the constructor is responsible for parsing and interpreting the arguments. The argument syntax is sufficiently general that a virtual table implementation can, if it wants to, interpret its arguments as column definitions in an ordinary CREATE TABLE statement. ! Or the implementation could impose some other interpretation on the arguments. The SQLite core does not care. Once a virtual table has been created, it can be used like --- 60,72 ---- Each argument can consist of keywords, string literals, identifiers, numbers, and punctuation. The arguments are passed as written (as text) into a ! constructor for the virtual table when the virtual table is created and the constructor is responsible for parsing and interpreting the arguments. The argument syntax is sufficiently general that a virtual table implementation can, if it wants to, interpret its arguments as column definitions in an ordinary CREATE TABLE statement. ! The implementation could also impose some other interpretation on the arguments. The SQLite core does not care. Once a virtual table has been created, it can be used like