Small. Fast. Reliable.
Choose any three.

SQLite C接口

记录数据库快照

int sqlite3_snapshot_get(
  sqlite3 * db,
  const char * zSchema,
  sqlite3_snapshot ** ppSnapshot
);

sqlite3_snapshot_get(d,S,P)接口尝试建立一个新sqlite3_snapshot对象,记录模式S的数据库连接D.如果成功了当前的状态, sqlite3_snapshot_get(d,S,P)接口写入指针到新创建的将sqlite3_snapshot对象转换为* P并返回SQLITE_OK。如果在调用此函数时在模式S上尚未打开读取事务,则会自动打开该事务。

要使此功能成功,必须满足以下条件。如果调用sqlite3_snapshot_get()时以下任何语句为false,则返回SQLITE_ERROR。* P的最终值在这种情况下是不确定的。

此函数还可能返回SQLITE_NOMEM。如果使用数据库句柄在自动提交模式下调用它,但是由于其他原因而失败,则未定义是否在模式S上打开读取事务。

成功调用sqlite3_snapshot_get()返回的sqlite3_snapshot对象 必须使用sqlite3_snapshot_free()释放, 以避免内存泄漏。

所述sqlite3_snapshot_get()的接口时仅可 SQLITE_ENABLE_SNAPSHOT用于编译时选择。

另请参见 对象常量函数的列表