view semiconginev2/thirdparty/db_connector/private/dbutils.nim @ 1235:c70fee6568f6

did: improv render tests to run without user input
author sam <sam@basx.dev>
date Sat, 20 Jul 2024 15:45:02 +0700
parents 56781cc0fc7c
children
line wrap: on
line source

import ../db_common


template dbFormatImpl*(formatstr: SqlQuery, dbQuote: proc (s: string): string {.nimcall.}, args: varargs[string]): string =
  var res = ""
  var a = 0
  for c in items(string(formatstr)):
    if c == '?':
      if a == args.len:
        dbError("""The number of "?" given exceeds the number of parameters present in the query.""")
      add(res, dbQuote(args[a]))
      inc(a)
    else:
      add(res, c)
  res