compileInto method

  1. @override
String compileInto(
  1. MssqlParameterAllocator parameters,
  2. MssqlDialect dialect, {
  3. bool nested = false,
})
override

Implementation

@override
String compileInto(
  MssqlParameterAllocator parameters,
  MssqlDialect dialect, {
  bool nested = false,
}) {
  _validate(dialect, nested: nested);
  final out = StringBuffer();
  for (var i = 0; i < members.length; i++) {
    if (i > 0) out.write(allFlags[i - 1] ? ' UNION ALL ' : ' UNION ');
    out.write(members[i].compileInto(parameters, dialect, nested: true));
  }
  if (ordering.isNotEmpty) {
    out.write(
      ' ORDER BY '
      '${_MssqlSelectCompiler.orderList(ordering, parameters, dialect)}',
    );
  }
  if (offset != null) {
    out.write(
      ' OFFSET ${parameters.bind(offset)} ROWS '
      'FETCH NEXT ${parameters.bind(rows)} ROWS ONLY',
    );
  }
  return out.toString();
}