Small. Fast. Reliable.
Choose any three.
*** 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