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 = appendSearchParams(keyOffset, '$from');
  url = appendSearchParams(keyLimit, '${to - from + 1}', url);
  return PostgrestTransformBuilder(copyWithUrl(url));
}