discontinuedPackage connect_database has been discontinued.

execute method

Result<PreparedData> execute(
  1. Map<String, dynamic> params
)

Implementation

Result<PreparedData> execute(Map<String, dynamic> params) {
  final buffer = StringBuffer();
  int lastEnd = 0;

  for (var token in _tokens) {
    buffer.write(_templateSql.substring(lastEnd, token.start));

    if (!params.containsKey(token.name)) {
      return Failure(
          Exception('Parâmetro obrigatório não fornecido: ${token.name}'));
    }

    // Interpolate value directly with proper escaping
    final val = params[token.name];
    buffer.write(_escapeValue(val));

    lastEnd = token.end;
  }

  if (lastEnd < _templateSql.length) {
    buffer.write(_templateSql.substring(lastEnd));
  }

  // Return SQL with interpolated values and empty params list
  return Success(PreparedData(buffer.toString(), []));
}