prepare_v2 method

int prepare_v2(
  1. PtrSqlite3 db,
  2. String zSql,
  3. PtrPtrStmt ppStmt,
  4. PtrPtrUtf8 pzTail,
)
inherited

Implementation

int prepare_v2(PtrSqlite3 db, String zSql, PtrPtrStmt ppStmt, PtrPtrUtf8 pzTail) {
  if (libVersionNumber < 3003009) {
    throw dbsql.DatabaseException('API sqlite3_prepare_v2 is not available before 3.3.9');
  }
  final zSqlMeta = zSql._metaNativeUtf8();
  final ptrZSql = zSqlMeta.ptr;
  try {
    var result = _h_sqlite3_prepare_v2!(db, ptrZSql, zSqlMeta.length, ppStmt, pzTail);
    if (pzTail.value.address - ptrZSql.address == zSqlMeta.length) {
      pzTail.value = ffi.nullptr;
    }
    return result;
  } finally {
    pkgffi.malloc.free(ptrZSql);
  }
}