Skip to content

Debug build option / Building against release pkgs / Query module / Default PEP regex (except/finally) (4-3-stable) - #273

Open
korydraughn wants to merge 4 commits into
irods:4-3-stablefrom
korydraughn:improvements.43s
Open

korydraughn wants to merge 4 commits into
irods:4-3-stablefrom
korydraughn:improvements.43s

Conversation

@korydraughn

@korydraughn korydraughn commented Sep 21, 2026

Copy link
Copy Markdown
Contributor

Cherry-pick of the following:

Core tests passed against the released version of the iRODS 4.3.5 server.

Also verified that the test for #258 passed. This required copying the test from the main branch of irods/irods into an iRODS 4.3.5 server deployment and reviewing the test output.

korydraughn and others added 4 commits September 21, 2026 13:34
When Query.total_rows() is called on a GenQuery1 query with a non-zero
offset, genquery.py issues a second query with offset=0 so iRODS can
return the full row count.

That recount query was being built via Query(...) without passing
through the original case_sensitive setting. Because
Query.__init__() defaults case_sensitive to True, the recount path
cleared UPPER_CASE_WHERE and skipped uppercasing the condition
string. This allowed a case-insensitive fetch query to be paired
with a case-sensitive recount query, producing total_rows() values
smaller than the number of rows actually returned.

Use self.copy(offset=0, limit=0, ...) for the recount path so the
original query attributes are preserved, including case sensitivity
and the rest of the query configuration. This keeps the recount
query aligned with the fetch query while still forcing
RETURN_TOTAL_ROW_COUNT for the manual recount.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

2 participants