小巧。快速。可靠。
三选二。

SQLite C 接口

虚拟表实例对象

struct sqlite3_vtab {
  const sqlite3_module *pModule;  /* The module for this virtual table */
  int nRef;                       /* Number of open cursors */
  char *zErrMsg;                  /* Error message from sqlite3_mprintf() */
  /* Virtual table implementations will typically add additional fields */
};

每个虚拟表模块实现都使用此对象的子类来描述虚拟表的特定实例。每个子类都将针对模块实现的特定需求进行定制。此超类的目的是定义所有模块实现共有的某些字段。

虚拟表方法可以通过将从sqlite3_mprintf()获得的字符串分配给 zErrMsg 来设置错误消息。该方法应注意,在将新字符串分配给 zErrMsg 之前,通过调用sqlite3_free()释放任何先前的字符串。在错误消息传递到客户端应用程序后,字符串将由 sqlite3_free() 自动释放,并且 zErrMsg 字段将被清零。

另请参阅对象常量函数列表。