-
Notifications
You must be signed in to change notification settings - Fork 325
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
Guid queries on table returns all rows without value #2169
Comments
I can repro this issue. The problem looks in function
When "otherValue" is undefined, "thisValue < otherValue" and "thisValue > otherValue" both are false, so finally 0 is returned which means "thisValue" equals to "otherValue", this is also not correct. However, when "otherValue" is undefined, it looks return -1, 0, 1 in function compare() are all wrong (since all comparison should fail in this case, include eq, gt, lt, ge, le, ne). So not sure how to fix this issue, looks any return value from the function compare() is not correct.We might should do some null check in function evaluate() before call function compare() . But this fix will impact all kinds of value node, I am little worry about the regression risk.
@notheotherben |
… null/empty/undefined values for GUIDs and DateTimes (fixes Azure#2169)
Thank you @FranceyD and @blueww for reporting and investigating the cause of this, I've made the relevant changes to the |
Thanks for the quick fix! |
Which service(blob, file, queue, table) does this issue concern?
Table
Which version of the Azurite was used?
3.25, 3.25.1 or 3.26. No problem with Azurite 3.24 or lower
Where do you get Azurite? (npm, DockerHub, NuGet, Visual Studio Code Extension)
DockerHub and npm
What's the Node.js version?
14.21.3
What problem was encountered?
Doing a query with a specified guid returns all rows with the specified guid, but also all rows where there is no value in the column.
On Table storage and on Azurite < 3.25, only the rows with the specified guid were returned.
Steps to reproduce the issue?
Create a table. Add some rows only with a partition key and row key. Do a query on any empty column with any guid like this:
AnyColumn eq guid'43a29cc9-cc32-4f6c-a40b-1ada7f4bc0b0'
. You receive all rows of the table.If possible, please provide the debug log using the -d parameter, replacing <pathtodebuglog> with an appropriate path for your OS, or review the instructions for docker containers:
Please be sure to remove any PII or sensitive information before sharing!
The debug log will log raw request headers and bodies, so that we can replay these against Azurite using REST and create tests to validate resolution.
Have you found a mitigation/solution?
Yes, using Azurite 3.24
Edit: I Fixed an error with Azurite version. The issue appeared with Azurite 3.25, not Azurite 3.25.1
The text was updated successfully, but these errors were encountered: