ketin/data/schema

Source   Edit  

Types

FrozenError = object of CatchableError
Source   Edit  
KetinAtomKind = enum
  ExprAtom, TypeAtom, StaticAtom
Source   Edit  
KetinAtomType = object
  case kind*: KetinAtomKind
  of ExprAtom, TypeAtom, StaticAtom:
    constraint*: RawNimNode
Source   Edit  
KetinField = object
  column*: int
  name*: string
  default*: RawNimNode
Source   Edit  
KetinSchema = object
  fields*: seq[KetinField]
  readRequiresFreeze*: bool
Source   Edit  
NotFrozenError = object of CatchableError
Source   Edit  
SchemaId = string
Source   Edit  

Consts

freezes = r"ketin.freezes"
Source   Edit  
schemas = r"ketin.schemas"
Source   Edit  

Procs

proc addSchema(id: SchemaId; schema: KetinSchema) {.
    ...raises: [GlazeError, KeyError], tags: [], forbids: [].}
Source   Edit  
proc columnCount(id: SchemaId): int {....raises: [], tags: [], forbids: [].}
Source   Edit  
proc freeze(id: SchemaId) {.compileTime, ...raises: [], tags: [], forbids: [].}
Source   Edit  
proc getColumn(id: SchemaId; name: string): int {....raises: [], tags: [],
    forbids: [].}
Source   Edit  
proc getColumn(schema: KetinSchema; name: string): int {....raises: [], tags: [],
    forbids: [].}
Source   Edit  
proc getSchema(id: SchemaId): KetinSchema {....raises: [GlazeError, ValueError],
    tags: [], forbids: [].}
Source   Edit  
proc getSchemaDataHandle(id: SchemaId): string {....raises: [], tags: [],
    forbids: [].}
Source   Edit  
proc isFrozen(id: SchemaId): bool {.compileTime,
                                    ...raises: [ValueError, GlazeError], tags: [],
                                    forbids: [].}
Source   Edit  
proc readRequiresFreeze(id: SchemaId): bool {....raises: [ValueError, GlazeError],
    tags: [], forbids: [].}
Source   Edit  
proc toNode(schema: KetinSchema): NimNode {....raises: [GlazeError, KeyError],
    tags: [], forbids: [].}
Source   Edit  
proc toSchema(node: NimNode): KetinSchema {....raises: [GlazeError, ValueError],
    tags: [], forbids: [].}
Source   Edit