Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

False-positive results for OID queries across multiple revisions #1333

Open
hlg opened this issue Oct 28, 2024 · 0 comments
Open

False-positive results for OID queries across multiple revisions #1333

hlg opened this issue Oct 28, 2024 · 0 comments

Comments

@hlg
Copy link
Member

hlg commented Oct 28, 2024

When querying across multiple revisions (for example from different subprojects) with an ID (hence GUID or OID) query, under certain conditions false-positive results from other revisions are included. Currently this probably and wrongly als applies to "name" queries, since name attributes are treated as IDs as well. But have not tested with name queries yet. I also could not exactly narrow down the particular conditions under which this applies.

  1. As an example, checkin the buildingSMART dental clinic example with subprojects, in the order given on Github (alphabetical by name).
  2. From BIMvie.ws, execute the following query: { "type": "IfcBuilding", "oid": 66360} while replacing the "oid" value with the OID of the building with GUID 3eM8WbY_59RR5TDWry5aRU.
  3. Check number of buildings, there are two instead of one.

Instead, we expect just one building as a result. BIMvie.ws runs the query on a set of revisions that contains the last revision from each concrete subproject of the root project. Note that this does not happen with the IfcBuilding from the subproject checked in last. The issue seems to be that the revisions are queried and sometimes not just for the exact OID, but for the next equal or higher OID of the respective type.

This bug is particularly impactful for the default double-buffer queries as they rely exclusively on OID queries during the second pass. If for example, the above query is done by GUID instead of OID, it will return two buildings as well with the doublebuffer query but only one (correct) building with doublebuffer switched off.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant