prepareNamed method

Future<int> prepareNamed(
  1. int connectionId,
  2. String sql, {
  3. int timeoutMs = 0,
})

Prepares sql with named parameters on connectionId in the worker.

Supports @name and :name syntax. Named placeholders are converted to positional placeholders before prepare. On success, internal metadata is stored so executePreparedNamed can bind values by name.

Implementation

Future<int> prepareNamed(
  int connectionId,
  String sql, {
  int timeoutMs = 0,
}) async {
  final extract = NamedParameterParser.extract(sql);
  final stmtId = await prepare(
    connectionId,
    extract.cleanedSql,
    timeoutMs: timeoutMs,
  );
  if (stmtId > 0) {
    _namedParamOrderByStmtId[stmtId] = extract.paramNames;
  }
  return stmtId;
}