12345678910111213141516171819202122232425262728293031323334353637 |
- package clause
- type Limit struct {
- limit int
- offset int
- }
- func NewLimit(pageNo int, pageSize int) *Limit {
- limit := -1
- offset := -1
- if pageNo != 0 && pageSize != 0 {
- limit = pageSize
- offset = (pageNo - 1) * pageSize
- }
- return &Limit{
- limit: limit,
- offset: offset,
- }
- }
- func (limit *Limit) Clause() (string, error) {
- if limit.limit == -1 || limit.offset == -1 {
- return "", nil
- }
- return `LIMIT ? OFFSET ?`, nil
- }
- func (limit *Limit) Args() []any {
- if limit.limit == -1 || limit.offset == -1 {
- return make([]any, 0)
- }
- return []any{limit.limit, limit.offset}
- }
|