range method

PostgrestTransformBuilder<T> range(
  1. int from,
  2. int to, {
  3. String? referencedTable,
})

Limits the result to rows within the specified range, inclusive.

final data = await supabase
    .from('users')
    .select('messages(*)')
    .range(1, 1);

If we want to limit a referenced table column, referencedTable has to be set

final data = await supabase
    .from('users')
    .select('messages(*)')
    .range(1, 1, referencedTable: 'messages');

Implementation

PostgrestTransformBuilder<T> range(
  int from,
  int to, {
  String? referencedTable,
}) {
  final keyOffset = referencedTable == null
      ? 'offset'
      : '$referencedTable.offset';
  final keyLimit = referencedTable == null
      ? 'limit'
      : '$referencedTable.limit';

  var url = overrideSearchParams(keyOffset, '$from');
  url = overrideSearchParams(keyLimit, '${to - from + 1}', url);
  return PostgrestTransformBuilder(copyWithUrl(url));
}