Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add pagination support #246

Closed
oleg-jukovec opened this issue Dec 9, 2022 · 0 comments · Fixed by #261
Closed

Add pagination support #246

oleg-jukovec opened this issue Dec 9, 2022 · 0 comments · Fixed by #261
Assignees
Labels
feature A new functionality

Comments

@oleg-jukovec
Copy link
Collaborator

oleg-jukovec commented Dec 9, 2022

The feature will be available in the next Tarantool release. See the implementation:

tarantool/tarantool#7637
tarantool/tarantool#7639
tarantool/tarantool#7763

@oleg-jukovec oleg-jukovec added 3sp feature A new functionality labels Dec 9, 2022
@oleg-jukovec oleg-jukovec self-assigned this Jan 9, 2023
oleg-jukovec added a commit that referenced this issue Jan 11, 2023
oleg-jukovec added a commit that referenced this issue Jan 11, 2023
A user could fetch a position of a last tuple using a new method
of the SelectRequest type:

selectRequest = selectRequest.FetchPos(true)

The position will be stored in a new field of the Response type:

Response.Pos

A user could specify a tuple from which selection must continue or
its position with a new method of the SelectRequest type:

selectRequest = selectRequest.After(resp.Pos)
selectRequest = selectRequest.After([]interface{}{23})

In action it looks like:

req := NewSelectRequest(space).Key(key).Limit(10)
for condition {
    resp, _ := conn.Do(req).Get()
    // Process resp.Data.
    req.After(resp.Pos)
}

1. tarantool/tarantool#7639

Closes #246
oleg-jukovec added a commit that referenced this issue Jan 11, 2023
A user could fetch a position of a last tuple using a new method
of the SelectRequest type:

selectRequest = selectRequest.FetchPos(true)

The position will be stored in a new field of the Response type:

Response.Pos

A user could specify a tuple from which selection must continue or
its position with a new method of the SelectRequest type:

selectRequest = selectRequest.After(resp.Pos)
selectRequest = selectRequest.After([]interface{}{23})

In action it looks like:

req := NewSelectRequest(space).Key(key).Limit(10)
for condition {
    resp, _ := conn.Do(req).Get()
    // Process resp.Data.
    req.After(resp.Pos)
}

1. tarantool/tarantool#7639

Closes #246
oleg-jukovec added a commit that referenced this issue Jan 11, 2023
A user could fetch a position of a last tuple using a new method
of the SelectRequest type:

selectRequest = selectRequest.FetchPos(true)

The position will be stored in a new field of the Response type:

Response.Pos

A user could specify a tuple from which selection must continue or
its position with a new method of the SelectRequest type:

selectRequest = selectRequest.After([]interface{}{23})

or

selectRequest = selectRequest.After(resp.Pos)

In action it looks like:

req := NewSelectRequest(space).Key(key).Limit(10)
for condition {
    resp, err := conn.Do(req).Get()
    // ...
    req.After(resp.Pos)
}

1. tarantool/tarantool#7639

Part of #246
oleg-jukovec added a commit that referenced this issue Jan 11, 2023
oleg-jukovec added a commit that referenced this issue Jan 11, 2023
oleg-jukovec added a commit that referenced this issue Jan 11, 2023
A user could fetch a position of a last tuple using a new method
of the SelectRequest type:

selectRequest = selectRequest.FetchPos(true)

The position will be stored in a new field of the Response type:

Response.Pos

A user could specify a tuple from which selection must continue or
its position with a new method of the SelectRequest type:

selectRequest = selectRequest.After([]interface{}{23})

or

selectRequest = selectRequest.After(resp.Pos)

In action it looks like:

req := NewSelectRequest(space).Key(key).Limit(10).FetchPos(true)
for condition {
    resp, err := conn.Do(req).Get()
    // ...
    req = req.After(resp.Pos)
}

1. tarantool/tarantool#7639

Part of #246
oleg-jukovec added a commit that referenced this issue Jan 11, 2023
oleg-jukovec added a commit that referenced this issue Jan 12, 2023
oleg-jukovec added a commit that referenced this issue Jan 12, 2023
A user could fetch a position of a last tuple using a new method
of the SelectRequest type:

selectRequest = selectRequest.FetchPos(true)

The position will be stored in a new field of the Response type:

Response.Pos

A user could specify a tuple from which selection must continue or
its position with a new method of the SelectRequest type:

selectRequest = selectRequest.After([]interface{}{23})

or

selectRequest = selectRequest.After(resp.Pos)

In action it looks like:

req := NewSelectRequest(space).Key(key).Limit(10).FetchPos(true)
for condition {
    resp, err := conn.Do(req).Get()
    // ...
    req = req.After(resp.Pos)
}

1. tarantool/tarantool#7639

Part of #246
oleg-jukovec added a commit that referenced this issue Jan 12, 2023
oleg-jukovec added a commit that referenced this issue Jan 12, 2023
A user could fetch a position of a last tuple using a new method
of the SelectRequest type:

selectRequest = selectRequest.FetchPos(true)

The position will be stored in a new field of the Response type:

Response.Pos

A user could specify a tuple from which selection must continue or
its position with a new method of the SelectRequest type:

selectRequest = selectRequest.After([]interface{}{23})

or

selectRequest = selectRequest.After(resp.Pos)

In action it looks like:

req := NewSelectRequest(space).Key(key).Limit(10).FetchPos(true)
for condition {
    resp, err := conn.Do(req).Get()
    // ...
    req = req.After(resp.Pos)
}

1. tarantool/tarantool#7639

Part of #246
oleg-jukovec added a commit that referenced this issue Jan 12, 2023
oleg-jukovec added a commit that referenced this issue Jan 13, 2023
oleg-jukovec added a commit that referenced this issue Jan 13, 2023
A user could fetch a position of a last tuple using a new method
of the SelectRequest type:

selectRequest = selectRequest.FetchPos(true)

The position will be stored in a new field of the Response type:

Response.Pos

A user could specify a tuple from which selection must continue or
its position with a new method of the SelectRequest type:

selectRequest = selectRequest.After([]interface{}{23})

or

selectRequest = selectRequest.After(resp.Pos)

In action it looks like:

req := NewSelectRequest(space).Key(key).Limit(10).FetchPos(true)
for condition {
    resp, err := conn.Do(req).Get()
    // ...
    req = req.After(resp.Pos)
}

1. tarantool/tarantool#7639

Part of #246
oleg-jukovec added a commit that referenced this issue Jan 13, 2023
oleg-jukovec added a commit that referenced this issue Mar 24, 2023
Overview

    The release adds pagination support and wrappers for for the
    crud module.

Breaking changes

    There are no breaking changes in the release.

New features

    Support pagination (#246).

    A Makefile target to test with race detector (#218).

    Support CRUD API (#108).

    An ability to replace a base network connection to a Tarantool
    instance (#265).

Bugfixes

    Several non-critical data race issues (#218).

    ConnectionPool does not properly handle disconnection with
    Opts.Reconnect set (#272).
oleg-jukovec added a commit that referenced this issue Mar 24, 2023
Overview

    The release adds pagination support and wrappers for the
    crud module.

Breaking changes

    There are no breaking changes in the release.

New features

    Support pagination (#246).

    A Makefile target to test with race detector (#218).

    Support CRUD API (#108).

    An ability to replace a base network connection to a Tarantool
    instance (#265).

Bugfixes

    Several non-critical data race issues (#218).

    ConnectionPool does not properly handle disconnection with
    Opts.Reconnect set (#272).
oleg-jukovec added a commit that referenced this issue Mar 24, 2023
Overview

    The release adds pagination support and wrappers for the
    crud module.

Breaking changes

    There are no breaking changes in the release.

New features

    Support pagination (#246).

    A Makefile target to test with race detector (#218).

    Support CRUD API (#108).

    An ability to replace a base network connection to a Tarantool
    instance (#265).

Bugfixes

    Several non-critical data race issues (#218).

    Build on Apple M1 with OpenSSL (#260).

    ConnectionPool does not properly handle disconnection with
    Opts.Reconnect set (#272).
oleg-jukovec added a commit that referenced this issue Apr 27, 2023
Overview

    The release adds pagination support and wrappers for the
    crud module.

Breaking changes

    There are no breaking changes in the release.

New features

    Support pagination (#246).

    A Makefile target to test with race detector (#218).

    Support CRUD API (#108).

    An ability to replace a base network connection to a Tarantool
    instance (#265).

    Missed iterator constant (#285).

Bugfixes

    Several non-critical data race issues (#218).

    Build on Apple M1 with OpenSSL (#260).

    ConnectionPool does not properly handle disconnection with
    Opts.Reconnect set (#272).
oleg-jukovec added a commit that referenced this issue May 18, 2023
Overview

    The release adds pagination support and wrappers for the
    crud module.

Breaking changes

    There are no breaking changes in the release.

New features

    Support pagination (#246).

    A Makefile target to test with race detector (#218).

    Support CRUD API (#108).

    An ability to replace a base network connection to a Tarantool
    instance (#265).

    Missed iterator constant (#285).

Bugfixes

    Several non-critical data race issues (#218).

    Build on Apple M1 with OpenSSL (#260).

    ConnectionPool does not properly handle disconnection with
    Opts.Reconnect set (#272).

    Watcher events loss with a small per-request timeout (#284).

    Connect() panics on concurrent schema update (#278).

    Wrong Ttr setup by Queue.Cfg() (#278).

    Flaky queue/Example_connectionPool (#278).

    Flaky queue/Example_simpleQueueCustomMsgPack (#277).

Other

    queue module version bumped to 1.3.0 (#278).
oleg-jukovec added a commit that referenced this issue May 18, 2023
Overview

    The release adds pagination support and wrappers for the
    crud module.

Breaking changes

    There are no breaking changes in the release.

New features

    Support pagination (#246).

    A Makefile target to test with race detector (#218).

    Support CRUD API (#108).

    An ability to replace a base network connection to a Tarantool
    instance (#265).

    Missed iterator constant (#285).

Bugfixes

    Several non-critical data race issues (#218).

    Build on Apple M1 with OpenSSL (#260).

    ConnectionPool does not properly handle disconnection with
    Opts.Reconnect set (#272).

    Watcher events loss with a small per-request timeout (#284).

    Connect() panics on concurrent schema update (#278).

    Wrong Ttr setup by Queue.Cfg() (#278).

    Flaky queue/Example_connectionPool (#278).

    Flaky queue/Example_simpleQueueCustomMsgPack (#277).

Other

    queue module version bumped to 1.3.0 (#278).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature A new functionality
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant