Skip to content

Rework CachedResultSetBuilder to require column types#7438

Open
labkey-adam wants to merge 3 commits intodevelopfrom
fb_column_types
Open

Rework CachedResultSetBuilder to require column types#7438
labkey-adam wants to merge 3 commits intodevelopfrom
fb_column_types

Conversation

@labkey-adam
Copy link
Contributor

@labkey-adam labkey-adam commented Feb 20, 2026

Rationales

The crawler recently induced a CachedResultSet was not closed exception caused by the ProtocolManagementWebPart. This can be reproduced by adding a "Pipeline Protocols" webpart to a portal page and then adding a bogus returnUrl parameter to the URL; for example: project-begin.view?returnUrl=">%27>%27"<script>alert(%278(%27)<%2Fscript>

Also, use of a CachedResultSetBuilder initialized with a list of column names would cause the logging of multiple Unknown SQL Type Name ""; using OTHER instead. messages.

Changes

  • Reorder the ProtocolManagementWebPart constructor so it creates and stashes its CachedResultSet at the end of the method, after all parameters have been validated. Previously, bad parameters would cause us to throw and abandon an unclosed ResultSet.
  • Rework CachedResultSetBuilder and callers to always provide column types. Callers must provide a list of ColumnInfos (which most callers already had) or ResultSetMetaData (which other callers had).

Tasks 📍

  • Manual Testing
  • Verify Fix

Copy link
Contributor

@labkey-jeckels labkey-jeckels left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Glad to be able to view the list of pipeline protocols without being bothered by that logging.

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.

2 participants

Comments