# src/allographer/query_builder/models/sqlite/sqlite_types

Theme:

- Index

Search:
Group by:

created by `let rdb = dbOpen(SQLite3, "/path/to/sqlite.db")`created by `rdb.select("columnName")` or `rdb.table("tableName")`

# Imports

../../log, ../../libs/sqlite/sqlite_rdb

# Types

    Connection = ref object
      conn*: PSqlite3
      isBusy*: bool
      createdAt*: int64

    Connections = ref object
      conns*: seq[Connection]
      timeout*: int              ## `getFreeConn` が接続を待つときに積む Future。`returnConn` が先頭から 1 件だけ完了させる。
      waiters*: Deque[Future[void]] ## `exec` / `insertId` 用。テーブルごとに PRAGMA table_info の結果を初回のみ保持する。
      columnTypeCache*: Table[string, seq[(string, string)]]

    RawSqliteQuery = ref object
      log*: LogSetting
      pools*: Connections
      query*: JsonNode
      queryString*: string
      placeHolder*: JsonNode
      isInTransaction*: bool
      transactionConn*: int

    SQLite3 = object

    SqliteConnections = ref object
      log*: LogSetting
      pools*: Connections
      isInTransaction*: bool
      transactionConn*: int

    SqliteQuery = ref object
      log*: LogSetting
      pools*: Connections
      query*: JsonNode
      queryString*: string
      placeHolder*: JsonNode
      isInTransaction*: bool
      transactionConn*: int

# Procs

    proc `$`(self: SqliteConnections | SqliteQuery | RawSqliteQuery): string