amysql/conn

Types

Version = distinct string
Connection = ref ConnectionObj
ConnectionObj = object of RootObj
  socket*: AsyncSocket
  sequenceId*: uint8
  when defined(mysql_compression_mode):
      compressedSequenceId*: uint8

  serverVersion*: string
  threadId*: uint32
  serverCaps*: set[Cap]
  clientCaps*: set[Cap]
  databaseVersion: Option[Version]
  priv_isMaria: Option[bool]
  authenticated*: bool
  when TestWhileIdle:
      lastOperationTime*: DateTime

  buf*: seq[char]
  bufLen*: int
  payloadLen*: int
  bufPos*: int
  fullPacketLen*: int
  curPacketLen*: int
  connectAttrs*: Table[string, string]
  hasMoreResults*: bool

Consts

BasicClientCaps = {Cap.longPassword, Cap.protocol41, Cap.secureConnection}
TestWhileIdle = true
MysqlBufSize = 1024

Procs

proc `$`(ver: Version): string {...}{.borrow.}
proc `<`(ver: Version; ver2: Version): bool {...}{.raises: [ValueError], tags: [].}
This is synced from Nimble's version module.
proc `==`(ver: Version; ver2: Version): bool {...}{.raises: [], tags: [].}
proc `>`(ver: Version; ver2: Version): bool {...}{.raises: [ValueError], tags: [].}
proc `<=`(ver: Version; ver2: Version): bool {...}{.raises: [ValueError], tags: [].}
proc zstdAvailable(conn: Connection): bool {...}{.raises: [], tags: [].}
proc use_zstd(conn: Connection): bool {...}{.raises: [], tags: [].}
proc firstByte(conn: Connection): lent char {...}{.raises: [], tags: [].}
proc remainPacketLen(conn: Connection): int {...}{.raises: [], tags: [].}
proc zeroPos(conn: Connection) {...}{.raises: [], tags: [].}
proc incPos(conn: Connection; count = 1) {...}{.raises: [], tags: [].}
proc getPayloadLen(conn: Connection): int {...}{.raises: [], tags: [].}
proc resetPacketLen(conn: Connection) {...}{.raises: [], tags: [].}
proc printBufInfo(conn: Connection) {...}{.raises: [], tags: [].}

Converters

converter toBoolean(ver: Version): bool {...}{.raises: [], tags: [].}