Open Bug 1384644 Opened 7 years ago Updated 2 years ago

Add a test for history `SQLITE_MAX_VARIABLE` chunking

Categories

(Firefox :: Sync, enhancement, P3)

enhancement

Tracking

()

People

(Reporter: lina, Unassigned)

References

Details

The SQLite docs suggest `SQLITE_MAX_VARIABLE` is the maximum number of "host parameters" filled in via `sqlite3_bind_*` (https://www.sqlite.org/limits.html#max_variable_number and https://www.sqlite.org/lang_expr.html#varparam). In bug 1364644, comment 50, Grisha found `SQLITE_MAX_VARIABLE` is the maximum number of variables in the query (bound and unbound), not just the maximum number of bound parameters. I think this means the maximum chunk length in https://searchfox.org/mozilla-central/rev/8a61c71153a79cda2e1ae7d477564347c607cc5f/services/sync/modules/engines/history.js#85-86 is `SQLITE_MAX_VARIABLE_NUMBER - 3`. (1, 0, PlacesUtils.history.TRANSITION_FRAMED_LINK are the non-bound parameters). It also sounds like we need a test that exercises this logic.
Appears that I have misunderstood what's going on. See https://bugzilla.mozilla.org/show_bug.cgi?id=1364644#c53 Reading [0], it doesn't seem to be similarly affected. I reckon that tests to exercise this stuff are still a good idea though. [0] https://searchfox.org/mozilla-central/rev/8a61c71153a79cda2e1ae7d477564347c607cc5f/services/sync/modules/engines/history.js#89
Summary: Ensure our `SQLITE_MAX_VARIABLE` chunking accounts for non-bound parameters → Add a test for history `SQLITE_MAX_VARIABLE` chunking
Depends on: 1336518
Priority: -- → P3
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.