Virtual Table Instance Object
Virtual Table Instance Object
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字段将被清零。
SQLite is in the Public Domain.