SQLITE_OK_LOAD_PERMANENTLY
SQLiteSUCCESSCommonExtensionofficial confidence

Extension loaded permanently into SQLite

Production Risk

None — success code for extension loading.

What this means

SQLITE_OK_LOAD_PERMANENTLY (256) is returned by an extension's entry point function to signal that the extension should be loaded permanently into the SQLite library rather than just for the current database connection.

Why it happens
  1. 1Not an error — returned intentionally by extension entry points that want permanent registration.
How to reproduce

sqlite3_load_extension() when the extension entry point returns SQLITE_OK_LOAD_PERMANENTLY.

trigger — this will error
trigger — this will error
/* In C extension code:
int sqlite3_myext_init(sqlite3 *db, char **err, const sqlite3_api_routines *api) {
  SQLITE_EXTENSION_INIT2(api);
  // Register functions ...
  return SQLITE_OK_LOAD_PERMANENTLY; // loads into all future connections too
}

expected output

Extension registered for all subsequent database connections.

Fix

Version notes

Sources
Official documentation ↗

sqlite3.h — SQLITE_OK_LOAD_PERMANENTLY = 256

SQLite run-time loadable extensions

Content generated with AI assistance and reviewed for accuracy. Found an error? hello@errcodes.dev

← All SQLite errors