Comments (6)
Confirmed on my end that our unit tests pass now! I'll let you know if we hit any more snags, but it seems as long as we avoid #54 everything is working smoothly. Thanks for the fast responses and the handy library!
from sqlakeyset.
Thanks for the report! I didn't look too closely at the tests for the new .items()
method, turns out we're testing for incorrect behaviour! I've got a fix in the pipeline now, will hopefully have a new release out soon.
from sqlakeyset.
New release should hit PyPI within an hour, please let us know if you have any further issues :)
from sqlakeyset.
Thanks for the super prompt fix!
from sqlakeyset.
Sorry to reopen, now I believe there's an off-by-one error with the keyset relative to the value when paging backwards with entries before the end of the current page.
e.g
["a", "b", "c", "d", "e"]
last 3 before "e" gets you:
{cursor: "a"
value: "b"}
{cursor: "b"
value: "c"}
{cursor: "c"
value: "d"}
Is it possible that we fetch an extra bookmark in order to check page before/after and when you just reversed markers in that PR, it's messing up the sentinel value?
from sqlakeyset.
@mattalbr Oh dear!
Is it possible that we fetch an extra bookmark in order to check page before/after and when you just reversed markers in that PR, it's messing up the sentinel value?
Yup, dead on - tests only covered the case where there was no excess, i.e. the page went all the way to the end of the resultset. Fix incoming.
from sqlakeyset.
Related Issues (20)
- PyPI publication pipeline is broken
- Using the SQLAlchemy 2 native UUID as the column type breaks cursor pagination HOT 6
- Support SQLAlchemy 2.0-style ORM queries HOT 11
- Custom binding logic issue HOT 2
- Support multiple engines in one Session
- ORM Query is called 3 times.
- Get the total number of pages and / or records returned by query HOT 2
- First queries are unbounded HOT 1
- Add type hints HOT 2
- Sorting by literal_column produces invalid SQL and fails HOT 2
- ImportError: cannot import name 'LegacyRow' from 'sqlalchemy.engine.row' HOT 2
- Question: Converting Page to Pydantic Model HOT 2
- FeatureRequest: get_pages/select_pages HOT 1
- asyncpg uuid support HOT 1
- asyncio paging returns tuples of length 1 HOT 1
- Breaks on sqlalchemy & flask-sqlalchemy on a simple model HOT 3
- SQLAlchemy 2 wrong type for column desc HOT 4
- Breaks when using sqlalchemy session HOT 2
- `row._mapping` is broken after pagination HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from sqlakeyset.