JetBrains / JetBrains/Exposed

Support for row values comparisons

Open
#1,522 2 comments 3 reactions 0 assignees View on GitHub
Dominant language
Kotlin
Stars
9.3k
Forks
798
Avg merge
4d 2h
Merged PRs (30d)
26

Description

Hi, I'm trying to do something like below to implement keyset pagination

> SELECT * FROM contacts
> WHERE (lastname,firstname) > (?1,?2)
> ORDER BY lastname, firstname
> LIMIT 7;

(from https://www.sqlite.org/rowvalue.html#scrolling_window_queries)

What I basically need is an operator that allows comparing n-tuple columns to n-tuple values. Is there going to be a support for this? I actually wrote my own operators but if you guys can officially support this for types Pair(col1, col2) and Triple(col1, col2, col3) that'll be amazing.

Contributor guide

Open the contributing guide

Research direction

No source files or tests are named. Start by reviewing Exposed's existing comparison operators and the SQLite row-value example linked in the issue, then determine how Pair and Triple column/value comparisons should be represented and tested. Done means n-tuple comparisons support keyset-pagination predicates such as (lastname, firstname) > (?1, ?2).

Written by the indexing model from the issue text.

Assessment

Tech stack
kotlin, sql
Domain
database
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.