docs(options): update the EDIT and VIEW size limits #14

Merged
allan merged 1 commits from docs/row-cell-limits into main 2026-10-11 10:28:48 +00:00
Collaborator

The defaults changed in dc/dc (Data Controller PR #335):

option was now
DC_MAXOBS_WEBVIEW (VIEW) 500 2000
DC_MAXOBS_WEBEDIT (EDIT) 100 250
DC_MAXCELLS_WEBEDIT (EDIT) - 200000

Documents the new DC_MAXCELLS_WEBEDIT option and explains why the EDIT screen needs a cell count as well as a row count: the cost of an EDIT load tracks cells (rows x columns), not rows, so a row limit alone cannot bound a wide table. 100 rows of a 1001 column table already takes ~17 seconds to load, which is what 2000 rows of a 9 column table costs.

Should be merged after dc/dc PR #335, which is the change these defaults describe.

The defaults changed in dc/dc (Data Controller PR #335): | option | was | now | |---|---|---| | `DC_MAXOBS_WEBVIEW` (VIEW) | 500 | 2000 | | `DC_MAXOBS_WEBEDIT` (EDIT) | 100 | 250 | | `DC_MAXCELLS_WEBEDIT` (EDIT) | - | 200000 | Documents the new `DC_MAXCELLS_WEBEDIT` option and explains why the EDIT screen needs a cell count as well as a row count: the cost of an EDIT load tracks cells (rows x columns), not rows, so a row limit alone cannot bound a wide table. 100 rows of a 1001 column table already takes ~17 seconds to load, which is what 2000 rows of a 9 column table costs. Should be merged after dc/dc PR #335, which is the change these defaults describe.
hermes added 1 commit 2026-10-03 11:57:45 +00:00
DC_MAXOBS_WEBEDIT 100 -> 250, DC_MAXOBS_WEBVIEW 500 -> 2000, and a new
DC_MAXCELLS_WEBEDIT (200000) which is applied together with the EDIT
observation limit - whichever is reached first.
hermes left a comment
Author
Collaborator

Reviewed the docs diff (dcc-options.md limit updates) plus repo-level hardening (pre-commit hook, CI, package files).

  • Repo-level: dc/docs.datacontroller.io has no secret-scanning pre-commit hook at this head - no .pre-commit-config.yaml and no .git-hooks/ directory. This is a standing requirement on every repo: add a gitleaks hook pinned to an exact release tag so staged content is scanned at commit time. dc/dc's .git-hooks/pre-commit (gitleaks protect --staged, binary from the pinned @nogoo9/gitleaks devDependency, core.hooksPath activation documented in CONTRIBUTING.md) is the in-estate pattern to copy.

  • docs/dcc-options.md:24 - "a maximum of 200,000 cells (observations multiplied by variables)" undercounts what the service enforces. getdata.sas computes the cell count on %mf_getvarlist(work.out), which already includes the housekeeping delete column, so the enforced count is rows x (variables + 1); the dc/dc mock mirrors this with visibleColumns.length + 1. At the boundary this misleads: 200 rows x 1000 variables reads as 200,000 = at the limit by the page's arithmetic, but the service computes 200 x 1001 = 200,200 and refuses the edit. Add a clause noting the count includes the housekeeping delete column.

2 findings above for review.

Reviewed the docs diff (dcc-options.md limit updates) plus repo-level hardening (pre-commit hook, CI, package files). - Repo-level: dc/docs.datacontroller.io has no secret-scanning pre-commit hook at this head - no .pre-commit-config.yaml and no .git-hooks/ directory. This is a standing requirement on every repo: add a gitleaks hook pinned to an exact release tag so staged content is scanned at commit time. dc/dc's .git-hooks/pre-commit (gitleaks protect --staged, binary from the pinned @nogoo9/gitleaks devDependency, core.hooksPath activation documented in CONTRIBUTING.md) is the in-estate pattern to copy. - docs/dcc-options.md:24 - "a maximum of 200,000 cells (observations multiplied by variables)" undercounts what the service enforces. getdata.sas computes the cell count on %mf_getvarlist(work.out), which already includes the housekeeping delete column, so the enforced count is rows x (variables + 1); the dc/dc mock mirrors this with visibleColumns.length + 1. At the boundary this misleads: 200 rows x 1000 variables reads as 200,000 = at the limit by the page's arithmetic, but the service computes 200 x 1001 = 200,200 and refuses the edit. Add a clause noting the count includes the housekeeping delete column. 2 findings above for review.
allan merged commit b1ec8bec7c into main 2026-10-11 10:28:48 +00:00
allan deleted branch docs/row-cell-limits 2026-10-11 10:28:48 +00:00
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: dc/docs.datacontroller.io#14