Open knabar opened 2 months ago
@chris-allan While looking into a bug we first thought to be in Pageant, @kyleBalisWest and I tracked down this issue in the bitmask API call. If there are no matches, all rows are returned as matching. I think the issue is that if slice
is called without any rows, it returns everything.
With the coming updates I don't think the bitmask call is used anymore in any of our projects.
Just did a little sleuthing to realize that this is a regression coming from ome/omero-web#554. Previously, when no "hits" were found even though a slice was being performed no paging would take place so the rows returned from perform_table_query()
would have been empty.
Also, this read everything when the indexes are empty behavior is also not consistent with PyTables itself but rather "special" as it relates to the omero.column
implementations. Specifically, omero.column.AbstractColumn.readCoordinates()
.
@sbesson: Once we've settled on the test cases here we should update the OMERO.tables documentation so this is clear; neither read()
or readCoordinates()
behave like this.
What this PR does
Adding a test to verify the behavior of the bitmask table query API call when a query is given that does not match any rows in the table.