Definition
/**
* Transform a SQL query into a keyset (cursor-based) paginated query.
*
* More efficient than OFFSET for large datasets - uses indexed WHERE conditions.
*
* @param string $sql The SQL query to paginate (must have ORDER BY)
* @param int $limit Maximum number of rows to return
* @param list<KeysetColumn> $columns Columns for keyset pagination (must match ORDER BY)
* @param null|list<null|bool|float|int|string> $cursor Values from last row of previous page (null for first page)
*
* @return string The paginated SQL query
*/
sql_to_keyset_query(string $sql, int $limit, array $columns, ?array $cursor) : string