[API reference](https://evolu.dev/docs/api-reference) › [@evolu/common](https://evolu.dev/docs/api-reference/common) › Sqlite

SQLite database abstraction and query execution.

## Functions

| Function                                                                                                         | Description                                                                                                                                                                                     |
| ---------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [booleanToSqliteBoolean](https://evolu.dev/docs/api-reference/common/Sqlite/functions/booleanToSqliteBoolean)                 | Converts a JavaScript boolean to a [SqliteBoolean](https://evolu.dev/docs/api-reference/common/Sqlite/variables/SqliteBoolean).                                                                              |
| [createPreparedStatementsCache](https://evolu.dev/docs/api-reference/common/Sqlite/functions/createPreparedStatementsCache)   | Creates a [PreparedStatements](https://evolu.dev/docs/api-reference/common/Sqlite/interfaces/PreparedStatements) cache backed by the given factory and dispose function.                                     |
| [createSqlite](https://evolu.dev/docs/api-reference/common/Sqlite/functions/createSqlite)                                     | Creates a [Sqlite](https://evolu.dev/docs/api-reference/common/Sqlite/interfaces/Sqlite) instance backed by a platform-specific driver.                                                                      |
| [getSqliteSchema](https://evolu.dev/docs/api-reference/common/Sqlite/functions/getSqliteSchema)                               | Get the current SQLite schema by reading SQLite metadata.                                                                                                                                       |
| [getSqliteSnapshot](https://evolu.dev/docs/api-reference/common/Sqlite/functions/getSqliteSnapshot)                           | Captures a full [SqliteSnapshot](https://evolu.dev/docs/api-reference/common/Sqlite/interfaces/SqliteSnapshot) for testing and diagnostics.                                                                  |
| [sql](https://evolu.dev/docs/api-reference/common/Sqlite/functions/sql)                                                       | Creates a safe SQL query using a tagged template literal.                                                                                                                                       |
| [sqliteBooleanToBoolean](https://evolu.dev/docs/api-reference/common/Sqlite/functions/sqliteBooleanToBoolean)                 | Converts a [SqliteBoolean](https://evolu.dev/docs/api-reference/common/Sqlite/variables/SqliteBoolean) to a JavaScript boolean.                                                                              |
| [sqliteQueryStringToSqliteQuery](https://evolu.dev/docs/api-reference/common/Sqlite/functions/sqliteQueryStringToSqliteQuery) | Converts a [SqliteQueryString](https://evolu.dev/docs/api-reference/common/Sqlite/type-aliases/SqliteQueryString) back into a [SqliteQuery](https://evolu.dev/docs/api-reference/common/Sqlite/interfaces/SqliteQuery).   |
| [sqliteQueryToSqliteQueryString](https://evolu.dev/docs/api-reference/common/Sqlite/functions/sqliteQueryToSqliteQueryString) | Converts a [SqliteQuery](https://evolu.dev/docs/api-reference/common/Sqlite/interfaces/SqliteQuery) into a stable [SqliteQueryString](https://evolu.dev/docs/api-reference/common/Sqlite/type-aliases/SqliteQueryString). |
| [testSetupSqlite](https://evolu.dev/docs/api-reference/common/Sqlite/functions/testSetupSqlite)                               | Creates a test setup with a in-memory [Sqlite](https://evolu.dev/docs/api-reference/common/Sqlite/interfaces/Sqlite).                                                                                        |

## Interfaces

| Interface                                                                                       | Description                                                                                                                                                                                                        |
| ----------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| [CreateSqliteDriverDep](https://evolu.dev/docs/api-reference/common/Sqlite/interfaces/CreateSqliteDriverDep) | -                                                                                                                                                                                                                  |
| [PreparedStatements](https://evolu.dev/docs/api-reference/common/Sqlite/interfaces/PreparedStatements)       | Cache for compiled prepared statements.                                                                                                                                                                            |
| [RawSql](https://evolu.dev/docs/api-reference/common/Sqlite/interfaces/RawSql)                               | An unescaped SQL fragment inserted verbatim into a query.                                                                                                                                                          |
| [SqlIdentifier](https://evolu.dev/docs/api-reference/common/Sqlite/interfaces/SqlIdentifier)                 | A double-quoted SQL identifier for safe column or table name interpolation.                                                                                                                                        |
| [Sqlite](https://evolu.dev/docs/api-reference/common/Sqlite/interfaces/Sqlite)                               | Platform-agnostic SQLite wrapping a [SqliteDriver](https://evolu.dev/docs/api-reference/common/Sqlite/interfaces/SqliteDriver).                                                                                                 |
| [SqliteDep](https://evolu.dev/docs/api-reference/common/Sqlite/interfaces/SqliteDep)                         | -                                                                                                                                                                                                                  |
| [SqliteDriver](https://evolu.dev/docs/api-reference/common/Sqlite/interfaces/SqliteDriver)                   | SQLite driver interface.                                                                                                                                                                                           |
| [SqliteExecResult](https://evolu.dev/docs/api-reference/common/Sqlite/interfaces/SqliteExecResult)           | Result of executing a SQLite query.                                                                                                                                                                                |
| [SqliteIndex](https://evolu.dev/docs/api-reference/common/Sqlite/interfaces/SqliteIndex)                     | Index metadata stored in `sqlite_master` for a [Sqlite](https://evolu.dev/docs/api-reference/common/Sqlite/interfaces/Sqlite) database.                                                                                         |
| [SqliteQuery](https://evolu.dev/docs/api-reference/common/Sqlite/interfaces/SqliteQuery)                     | Represents a SQL query to be executed on a [Sqlite](https://evolu.dev/docs/api-reference/common/Sqlite/interfaces/Sqlite) database.                                                                                             |
| [SqliteQueryOptions](https://evolu.dev/docs/api-reference/common/Sqlite/interfaces/SqliteQueryOptions)       | Options for configuring [SqliteQuery](https://evolu.dev/docs/api-reference/common/Sqlite/interfaces/SqliteQuery) execution behavior.                                                                                            |
| [SqliteSchema](https://evolu.dev/docs/api-reference/common/Sqlite/interfaces/SqliteSchema)                   | Full schema metadata for a [Sqlite](https://evolu.dev/docs/api-reference/common/Sqlite/interfaces/Sqlite) database.                                                                                                             |
| [SqliteSnapshot](https://evolu.dev/docs/api-reference/common/Sqlite/interfaces/SqliteSnapshot)               | Returns [SqliteSchema](https://evolu.dev/docs/api-reference/common/Sqlite/variables/SqliteSchema) and full [SqliteRow](https://evolu.dev/docs/api-reference/common/Sqlite/type-aliases/SqliteRow) table contents for inspection and testing. |
| [SqliteTransaction](https://evolu.dev/docs/api-reference/common/Sqlite/interfaces/SqliteTransaction)         | -                                                                                                                                                                                                                  |

## Type Aliases

| Type Alias                                                                                        | Description                                                                                                                                                                                                     |
| ------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [CreateSqliteDriver](https://evolu.dev/docs/api-reference/common/Sqlite/type-aliases/CreateSqliteDriver)       | Creates a [SqliteDriver](https://evolu.dev/docs/api-reference/common/Sqlite/interfaces/SqliteDriver).                                                                                                                        |
| [SafeSql](https://evolu.dev/docs/api-reference/common/Sqlite/type-aliases/SafeSql)                             | A sanitized SQL string for [SqliteQuery](https://evolu.dev/docs/api-reference/common/Sqlite/interfaces/SqliteQuery).                                                                                                         |
| [SqliteBoolean](https://evolu.dev/docs/api-reference/common/Sqlite/type-aliases/SqliteBoolean)                 | SQLite represents boolean values using `0` (false) and `1` (true) instead of a dedicated boolean type.                                                                                                          |
| [SqliteDriverOptions](https://evolu.dev/docs/api-reference/common/Sqlite/type-aliases/SqliteDriverOptions)     | Options for creating a [CreateSqliteDriver](https://evolu.dev/docs/api-reference/common/Sqlite/type-aliases/CreateSqliteDriver).                                                                                             |
| [SqliteQueryParameters](https://evolu.dev/docs/api-reference/common/Sqlite/type-aliases/SqliteQueryParameters) | Parameters of a [SqliteQuery](https://evolu.dev/docs/api-reference/common/Sqlite/interfaces/SqliteQuery).                                                                                                                    |
| [SqliteQueryString](https://evolu.dev/docs/api-reference/common/Sqlite/type-aliases/SqliteQueryString)         | Serialized [SqliteQuery](https://evolu.dev/docs/api-reference/common/Sqlite/interfaces/SqliteQuery) used as a stable string key.                                                                                             |
| [SqliteRow](https://evolu.dev/docs/api-reference/common/Sqlite/type-aliases/SqliteRow)                         | A row returned from a [Sqlite](https://evolu.dev/docs/api-reference/common/Sqlite/interfaces/Sqlite) query, mapping column names to [SqliteValueInput](https://evolu.dev/docs/api-reference/common/Sqlite/type-aliases/SqliteValueInput). |
| [SqliteValue](https://evolu.dev/docs/api-reference/common/Sqlite/type-aliases/SqliteValue)                     | A value that can be stored in [Sqlite](https://evolu.dev/docs/api-reference/common/Sqlite/interfaces/Sqlite).                                                                                                                |
| [SqliteValueInput](https://evolu.dev/docs/api-reference/common/Sqlite/type-aliases/SqliteValueInput)           | A value used in [sql](https://evolu.dev/docs/api-reference/common/Sqlite/functions/sql) template parameters and [Sqlite](https://evolu.dev/docs/api-reference/common/Sqlite/interfaces/Sqlite) query results.                             |
| [SqlTemplateParam](https://evolu.dev/docs/api-reference/common/Sqlite/type-aliases/SqlTemplateParam)           | A parameter accepted by the [sql](https://evolu.dev/docs/api-reference/common/Sqlite/functions/sql) tagged template.                                                                                                         |

## Variables

| Variable                                                                                       | Description                                                                                                                                      |
| ---------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------ |
| [eqSqliteIndex](https://evolu.dev/docs/api-reference/common/Sqlite/variables/eqSqliteIndex)                 | [Eq](https://evolu.dev/docs/api-reference/common/Eq/type-aliases/Eq) instance for [SqliteIndex](https://evolu.dev/docs/api-reference/common/Sqlite/variables/SqliteIndex). |
| [eqSqliteValue](https://evolu.dev/docs/api-reference/common/Sqlite/variables/eqSqliteValue)                 | Equality comparison for [SqliteValueInput](https://evolu.dev/docs/api-reference/common/Sqlite/type-aliases/SqliteValueInput).                                 |
| [SqliteBoolean](https://evolu.dev/docs/api-reference/common/Sqlite/variables/SqliteBoolean)                 | SQLite represents boolean values using `0` (false) and `1` (true) instead of a dedicated boolean type.                                           |
| [sqliteFalse](https://evolu.dev/docs/api-reference/common/Sqlite/variables/sqliteFalse)                     | Represents the [SqliteBoolean](https://evolu.dev/docs/api-reference/common/Sqlite/variables/SqliteBoolean) value for `false`.                                 |
| [SqliteIndex](https://evolu.dev/docs/api-reference/common/Sqlite/variables/SqliteIndex)                     | Index metadata stored in `sqlite_master` for a [Sqlite](https://evolu.dev/docs/api-reference/common/Sqlite/interfaces/Sqlite) database.                       |
| [SqliteQueryParameters](https://evolu.dev/docs/api-reference/common/Sqlite/variables/SqliteQueryParameters) | Parameters of a [SqliteQuery](https://evolu.dev/docs/api-reference/common/Sqlite/interfaces/SqliteQuery).                                                     |
| [SqliteSchema](https://evolu.dev/docs/api-reference/common/Sqlite/variables/SqliteSchema)                   | Full schema metadata for a [Sqlite](https://evolu.dev/docs/api-reference/common/Sqlite/interfaces/Sqlite) database.                                           |
| [sqliteTrue](https://evolu.dev/docs/api-reference/common/Sqlite/variables/sqliteTrue)                       | Represents the [SqliteBoolean](https://evolu.dev/docs/api-reference/common/Sqlite/variables/SqliteBoolean) value for `true`.                                  |
| [SqliteValue](https://evolu.dev/docs/api-reference/common/Sqlite/variables/SqliteValue)                     | A value that can be stored in [Sqlite](https://evolu.dev/docs/api-reference/common/Sqlite/interfaces/Sqlite).                                                 |