16 lines
708 B
Diff
16 lines
708 B
Diff
|
|
--- a/sql/recover_module/cursor.h
|
||
|
|
+++ b/sql/recover_module/cursor.h
|
||
|
|
@@ -62,10 +62,12 @@
|
||
|
|
// |sqlite_cursor| must have been returned by VirtualTable::SqliteCursor().
|
||
|
|
static inline VirtualCursor* FromSqliteCursor(
|
||
|
|
sqlite3_vtab_cursor* sqlite_cursor) {
|
||
|
|
+#ifndef NDEBUG
|
||
|
|
static_assert(std::is_standard_layout<VirtualCursor>::value,
|
||
|
|
"needed for the reinterpret_cast below");
|
||
|
|
static_assert(offsetof(VirtualCursor, sqlite_cursor_) == 0,
|
||
|
|
"sqlite_cursor_ must be the first member of the class");
|
||
|
|
+#endif
|
||
|
|
VirtualCursor* result = reinterpret_cast<VirtualCursor*>(sqlite_cursor);
|
||
|
|
DCHECK_EQ(sqlite_cursor, &result->sqlite_cursor_);
|
||
|
|
return result;
|