Skip to content

[bot] Fast-forward for 26.7.12 - #8140

Merged
github-actions[bot] merged 4 commits into
release26.7from
26.7_ff_bot_26.7.12
Oct 6, 2026
Merged

github-actions[bot] merged 4 commits into
release26.7from
26.7_ff_bot_26.7.12

Conversation

@github-actions

@github-actions github-actions Bot commented Oct 6, 2026

Copy link
Copy Markdown

Generated automatically.
Approve all matching PRs simultaneously.
Approval will trigger automatic merge.
View all PRs: https://internal.labkey.com/Scrumtime/Backlog/harvest-gitOpenPullRequests.view?branch=26.7_ff_bot_26.7.12

cnathe and others added 4 commits September 30, 2026 09:22
…ery (#8101)

## Rationale
LabKey/internal-issues#1607

In the app React grid, we are sending two API requests: one for the page
of data and a second for the total row count. Because the total row
count API call sends maxRows: 1, we are getting an extra LIMIT 2 query
on the server side prior to the COUNT(*) query.

selectRows with maxRows=0 and an explicitly sent includeTotalCount=true
now becomes a count-only request. The server runs only COUNT(*)
(skipping the LIMIT 2 rows query) and returns rowCount, an empty rows
list, and metadata only if asked for. loadTotalCount in withQueryModels
now sends maxRows: 0 and includeMetadata: false.

## Related Pull Requests
- #8101
- LabKey/labkey-ui-components#2081
- LabKey/limsModules#2501
- LabKey/testAutomation#3215

## Changes
- SelectRowsAction treats maxRows=0 with an explicit
includeTotalCount=true as a count-only request
- a new count-only path runs only the COUNT(*) and returns rowCount,
metadata if requested
- adds loadTotalRowsOnly(), which checks read permission and runs
COUNT(*) without a rows query
- getAggregates() no longer returns empty when no rows query has run
## Rationale
Postgres can capture and report key info on its configuration, resource,
and query execution. It's useful for troubleshooting performance
problems. It requires the `pg_stat_statements` extension.

## Changes
- Query to package up the info as a JSON blob
- New Admin Console link to download the JSON as a file for analysis

## Tasks
- [x] Claude Code Review
- [x] Manual Testing @labkey-adam 
  - [x] Test on PG 17+ (changed metadata views) 
- [x] Test Automation
- [x] User Education Handoff @labkey-hannah 
  - Worth a mention in our Admin Console docs
  - Useful to capture before and after slow DB queries
- Supplements execution plans with more details on how the DB used
memory, CPU, etc
- Not intended for direct customer analysis, but something that we can
use for optimization and troubleshooting
- See notes here for install instructions for on-premise:
LabKey/internal-issues#1613


##User Education ##
This is mostly for Account Managers' knowledge, not really public-facing
documentation or information. That said, we should add "Postgres
snapshot" to our Admin Console docs as an option.

This is a potential tool that can help us (or Account Managers guiding
on prem admins) to understand why a DB is so slow. As mentioned above,
we'd want to capture the snapshot before and after an expensive/slow DB
query.
For on-premise customers, they will need to install a postgres extension
(linked above).
…d of NPE (#8126)

## Rationale

Every ETL whose source schema sits on a MySQL/MariaDB external data
source fails on 26.7 with a NullPointerException in
QueryDataIteratorBuilder. The builder quoted the source query name with
the source database's dialect, which yields backticks for MySQL/MariaDB.
Earlier releases silently dropped those characters in the LabKey SQL
lexer, so the statement re-lexed as an unquoted name and worked by
accident; 26.7 made lexer errors fatal parse errors (#7835), so the
compile now fails. The failure then surfaced as an NPE rather than the
parse error because the builder used the table before checking for
errors.

## Changes

- Quote the source query name as LabKey SQL via the existing LabKeySql
helper, independent of the source dialect.
- Check for parse errors before using the compiled table, and report a
null table as a validation error, so a bad source query produces its
real message.
- Require the Trusted Analyst or Platform Developer permission to add,
change, or clear a file watcher's Parameter Function; folder admins can
still edit other trigger settings when the function is left unchanged
- Hide the Parameter Function in the pipeline trigger wizard from users
without that permission, and keep an existing function when the task
changes
- Stop pre-filling the Parameter Function from URL parameters when
creating a trigger
- Restrict trigger configuration updates to the current folder and
report update errors instead of dropping them ([GH Issue
1626](LabKey/internal-issues#1626))
- Reject trigger configurations that aren't valid JSON, for all users
- Reject bulk loading of trigger configurations
- Start and stop trigger listeners only after the change is committed
- Lint `CreatePipelineTrigger.tsx`
- Add integration tests for these cases
@github-actions
github-actions Bot merged commit 8e0480c into release26.7 Oct 6, 2026
19 of 26 checks passed
@github-actions
github-actions Bot deleted the 26.7_ff_bot_26.7.12 branch October 6, 2026 16:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants