prorm API Reference
    Preparing search index...

    Class SQLiteAdvanced

    SQLite Advanced Features Class Provides comprehensive SQLite-specific features beyond standard SQL

    Index
    • Create a standard or updatable view SQLite views are read-only by default, but can be made updatable via INSTEAD OF triggers

      Parameters

      • viewName: string
      • definition: string | ViewDefinition

        The view body as query options (preferred), or a raw SELECT string. See ViewDefinition.

      • Optionaloptions: { replace?: boolean; temporary?: boolean; columns?: string[] }

      Returns Promise<void>

    • Drop a view

      Parameters

      • viewName: string
      • Optionaloptions: { ifExists?: boolean; cascade?: boolean }

      Returns Promise<void>

    • List all views in the database

      Parameters

      • Optionalschema: string

      Returns Promise<string[]>

    • Get view definition

      Parameters

      • viewName: string

      Returns Promise<string | null>

    • Create a trigger

      Parameters

      • triggerName: string
      • timing: TriggerTiming
      • events: TriggerEvent[]
      • tableName: string
      • body: string
      • Optionaloptions: { replace?: boolean; forEachRow?: boolean; whenCondition?: string }

      Returns Promise<void>

    • Create an AFTER INSERT trigger

      Parameters

      • triggerName: string
      • tableName: string
      • body: string

      Returns Promise<void>

    • Create an AFTER UPDATE trigger

      Parameters

      • triggerName: string
      • tableName: string
      • body: string
      • Optionalcolumns: string[]

      Returns Promise<void>

    • Create an AFTER DELETE trigger

      Parameters

      • triggerName: string
      • tableName: string
      • body: string

      Returns Promise<void>

    • Create a BEFORE INSERT trigger

      Parameters

      • triggerName: string
      • tableName: string
      • body: string

      Returns Promise<void>

    • Create a BEFORE UPDATE trigger

      Parameters

      • triggerName: string
      • tableName: string
      • body: string

      Returns Promise<void>

    • Create an INSTEAD OF trigger (for views)

      Parameters

      • triggerName: string
      • viewName: string
      • events: TriggerEvent[]
      • body: string

      Returns Promise<void>

    • Create a recursive trigger

      Parameters

      • triggerName: string
      • tableName: string
      • insertBody: string
      • updateBody: string
      • OptionaldeleteBody: string

      Returns Promise<void>

    • Drop a trigger

      Parameters

      • triggerName: string
      • Optionaloptions: { ifExists?: boolean }

      Returns Promise<void>

    • List all triggers

      Parameters

      • OptionaltableName: string

      Returns Promise<string[]>

    • Get trigger definition

      Parameters

      • triggerName: string

      Returns Promise<string | null>

    • Create an FTS5 virtual table for full-text search

      Parameters

      • tableName: string
      • columns: { name: string; type?: string; notindexed?: boolean }[]
      • Optionaloptions: {
            tokenizer?:
                | FTS5Tokenizer
                | { name: FTS5Tokenizer; options?: Record<string, unknown> };
            content?: string;
            contentRowId?: string;
            prefix?: "all" | number[];
        }

      Returns Promise<void>

    • Create FTS5 table with existing content table

      Parameters

      • ftsTableName: string
      • sourceTable: string
      • sourceColumns: string[]
      • Optionaloptions: { tokenizer?: FTS5Tokenizer }

      Returns Promise<void>

    • Drop an FTS5 table

      Parameters

      • tableName: string
      • Optionaloptions: { ifExists?: boolean }

      Returns Promise<void>

    • Perform full-text search

      Parameters

      • ftsTable: string
      • searchQuery: string
      • Optionaloptions: {
            columns?: string[];
            orderBy?: { column: string; desc?: boolean }[];
            limit?: number;
            offset?: number;
            highlight?: { before?: string; after?: string; column?: string };
            snippet?: {
                before?: string;
                after?: string;
                columns?: string[];
                maxTokens?: number;
            };
            bm25?: boolean;
        }

      Returns Promise<QueryResult>

    • Rebuild FTS5 index

      Parameters

      • tableName: string

      Returns Promise<void>

    • Optimize FTS5 index

      Parameters

      • tableName: string

      Returns Promise<void>

    • Parse JSON string

      Parameters

      • jsonString: string

      Returns unknown

    • Extract value from JSON

      Parameters

      • jsonColumn: string
      • path: string

      Returns string

    • Set value in JSON

      Parameters

      • jsonColumn: string
      • path: string
      • value: unknown

      Returns string

    • Insert into JSON array

      Parameters

      • jsonColumn: string
      • path: string
      • value: unknown

      Returns string

    • Remove from JSON

      Parameters

      • jsonColumn: string
      • path: string

      Returns string

    • Get JSON array length

      Parameters

      • jsonColumn: string
      • Optionalpath: string

      Returns string

    • Check if JSON contains value

      Note: SQLite's JSON1 extension has no json_contains function (that name is MySQL-specific); calling this would fail at runtime with "no such function: json_contains". Emulate it with json_extract() equality instead.

      Parameters

      • jsonColumn: string
      • value: unknown
      • Optionalpath: string

      Returns string

    • Query JSON array as table

      Parameters

      • jsonColumn: string
      • Optionalpath: string

      Returns string

    • Query JSON object as table

      Parameters

      • jsonColumn: string
      • Optionalpath: string

      Returns string

    • Get JSON type

      Parameters

      • jsonColumn: string
      • Optionalpath: string

      Returns string

    • Valid JSON check

      Parameters

      • jsonColumn: string

      Returns string

    • Query using json_each (table-valued function)

      Parameters

      • jsonColumn: string
      • Optionalpath: string
      • Optionaloptions: { key?: string; value?: string; type?: string; id?: string; parent?: string }

      Returns Promise<QueryResult>

    • Create table with generated columns

      Parameters

      • tableName: string
      • columns: {
            name: string;
            type: string;
            primaryKey?: boolean;
            notNull?: boolean;
            defaultValue?: unknown;
            generated?: { expression: string; type: GeneratedStorageType };
        }[]

      Returns string

    • Create a VIRTUAL generated column

      Parameters

      • name: string
      • type: string
      • expression: string

      Returns string

    • Create a STORED generated column

      Parameters

      • name: string
      • type: string
      • expression: string

      Returns string

    • Create a UNIQUE index

      Parameters

      • tableName: string
      • indexName: string
      • columns: string[]

      Returns Promise<void>

    • Create a partial index (with WHERE clause)

      Parameters

      • tableName: string
      • indexName: string
      • columns: string[]
      • whereCondition: string

      Returns Promise<void>

    • Create an expression index

      Parameters

      • tableName: string
      • indexName: string
      • expression: string

      Returns Promise<void>

    • Create an index with IF NOT EXISTS

      Parameters

      • tableName: string
      • indexName: string
      • columns: string[]
      • Optionaloptions: { unique?: boolean; where?: string }

      Returns Promise<void>

    • List all indexes for a table

      Parameters

      • tableName: string

      Returns Promise<{ name: string; unique: boolean; partial: boolean }[]>

    • Reindex a table or database

      Parameters

      • Optionaltarget: string

      Returns Promise<void>

    • Build a window function query

      Parameters

      • functionName: string
      • Optionaloptions: {
            distinct?: boolean;
            filter?: string;
            over?: {
                partitionBy?: string[];
                orderBy?: { column: string; desc?: boolean }[];
                rows?: { start?: number; end?: number };
                range?: { start?: number; end?: number };
                frame?: "RANGE" | "ROWS" | "GROUPS";
            };
        }

      Returns string

    • ROW_NUMBER() window function

      Parameters

      • Optionaloptions: { partitionBy?: string[]; orderBy?: { column: string; desc?: boolean }[] }

      Returns string

    • RANK() window function

      Parameters

      • Optionaloptions: { partitionBy?: string[]; orderBy?: { column: string; desc?: boolean }[] }

      Returns string

    • DENSE_RANK() window function

      Parameters

      • Optionaloptions: { partitionBy?: string[]; orderBy?: { column: string; desc?: boolean }[] }

      Returns string

    • NTILE(n) window function

      Parameters

      • n: number
      • Optionaloptions: { partitionBy?: string[]; orderBy?: { column: string; desc?: boolean }[] }

      Returns string

    • LAG() window function

      Parameters

      • column: string
      • Optionaloffset: number
      • OptionaldefaultValue: unknown

      Returns string

    • LEAD() window function

      Parameters

      • column: string
      • Optionaloffset: number
      • OptionaldefaultValue: unknown

      Returns string

    • FIRST_VALUE() window function

      Parameters

      • column: string

      Returns string

    • LAST_VALUE() window function

      Parameters

      • column: string

      Returns string

    • NTH_VALUE() window function

      Parameters

      • column: string
      • n: number

      Returns string

    • Build a CTE query

      Parameters

      • cteName: string
      • columns: string[]
      • query: string
      • Optionalrecursive: boolean

      Returns string

    • Build multiple CTEs

      Parameters

      • ctes: { name: string; columns?: string[]; query: string }[]
      • mainQuery: string
      • Optionalrecursive: boolean

      Returns string

    • Execute a recursive CTE query

      Parameters

      • cteName: string
      • baseQuery: string
      • recursiveQuery: string
      • finalQuery: string

      Returns Promise<QueryResult>

    • Recursive CTE example: Generate sequence

      Parameters

      • start: number
      • end: number

      Returns string

    • VACUUM the database Reclaims disk space and defragments the database

      Parameters

      • Optionaloptions: { schema?: string; shrinkTo?: number; analyze?: boolean }

      Returns Promise<void>

    • ANALYZE the database Updates statistics for the query optimizer

      Parameters

      • Optionaltarget: string

      Returns Promise<void>

    • Create a savepoint

      Parameters

      • savepointName: string

      Returns Promise<void>

    • Release a savepoint

      Parameters

      • savepointName: string

      Returns Promise<void>

    • Rollback to a savepoint

      Parameters

      • savepointName: string

      Returns Promise<void>

    • Execute within a savepoint

      Type Parameters

      • T

      Parameters

      • savepointName: string
      • fn: () => Promise<T>

      Returns Promise<T>

    • Build an UPSERT query

      Parameters

      • tableName: string
      • columns: string[]
      • conflictColumns: string[]
      • OptionalupdateColumns: string[]
      • Optionaloptions: { ignore?: boolean; replace?: boolean }

      Returns string

    • Perform an upsert

      Parameters

      • tableName: string
      • values: Record<string, unknown>
      • conflictColumns: string[]
      • OptionalupdateColumns: string[]

      Returns Promise<QueryResult>

    • Use json_each as table-valued function

      Parameters

      • jsonColumn: string
      • Optionalpath: string

      Returns Promise<QueryResult>

    • Use json_tree as table-valued function

      Parameters

      • jsonColumn: string
      • Optionalpath: string

      Returns Promise<QueryResult>

    • Generate series using recursive CTE

      Parameters

      • start: number
      • end: number
      • Optionalstep: number

      Returns Promise<QueryResult>

    • Load a SQLite extension

      Parameters

      • extensionPath: string

      Returns void

    • Enable/disable extension loading

      Parameters

      • enabled: boolean

      Returns void

    • Create INTEGER PRIMARY KEY column definition

      Parameters

      • columnName: string
      • OptionalautoIncrement: boolean

      Returns string

    • Create column with specific affinity

      Parameters

      • columnName: string
      • affinity: "INTEGER" | "REAL" | "TEXT" | "BLOB" | "NUMERIC"

      Returns string

    • Get column affinity

      Parameters

      • type: string

      Returns string

    • Create CHECK constraint

      Parameters

      • columnName: string
      • condition: string

      Returns string

    • Create table with ON CONFLICT clause

      Parameters

      • tableName: string
      • columns: { name: string; type: string; constraints?: string[] }[]
      • OptionalconflictAlgorithm: ConflictAlgorithm

      Returns string

    • Create UNIQUE constraint

      Parameters

      • columns: string[]

      Returns string

    • Get database info

      Returns Promise<
          {
              schemaVersion: number;
              userVersion: number;
              foreignKeys: boolean;
              journalingMode: string;
              synchronous: string;
              cacheSize: number;
              pageSize: number;
          },
      >

    • Set database options

      Parameters

      • options: {
            foreignKeys?: boolean;
            journalingMode?:
                | "DELETE"
                | "TRUNCATE"
                | "PERSIST"
                | "MEMORY"
                | "WAL"
                | "OFF";
            synchronous?: "FULL"
            | "OFF"
            | "NORMAL"
            | "EXTRA";
            cacheSize?: number;
        }

      Returns Promise<void>

    • Escape identifier

      Parameters

      • identifier: unknown

      Returns string

    • Escape value

      Parameters

      • value: unknown

      Returns string