add offset step to query builder (#1049)

Summary:
Pull Request resolved: https://github.com/facebookexternal/fbc/pull/1049

Useful for real paging

Reviewed By: noamsch

Differential Revision: D16003607

fbshipit-source-id: 6a85d0e3d71a2582bc3cd8f1d66748dda4f2a10e
This commit is contained in:
Ariel Mashraki
2019-06-26 01:15:58 -07:00
committed by Facebook Github Bot
parent 6c2813b7b5
commit 37ae2b744e
14 changed files with 235 additions and 59 deletions

View File

@@ -10,10 +10,11 @@
// {{ $builder }} is the builder for querying {{ pascal $.Name }} entities.
type {{ $builder }} struct {
config
limit *int
order []Order
unique []string
predicates []ent.Predicate
limit *int
offset *int
order []Order
unique []string
predicates []ent.Predicate
// intermediate queries.
sql *sql.Selector
gremlin *dsl.Traversal
@@ -31,6 +32,12 @@ func ({{ $receiver }} *{{ $builder }}) Limit(limit int) *{{ $builder }} {
return {{ $receiver }}
}
// Offset adds an offset step to the query.
func ({{ $receiver }} *{{ $builder }}) Offset(offset int) *{{ $builder }} {
{{ $receiver }}.offset = &offset
return {{ $receiver }}
}
// Order adds an order step to the query.
func ({{ $receiver }} *{{ $builder }}) Order(o ...Order) *{{ $builder }} {
{{ $receiver }}.order = append({{ $receiver }}.order, o...)