Azure / Azurite

A lightweight server clone of Azure Storage that simulates most of the commands supported by it with minimal dependencies

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

TableClient.CreateQueryFilter(predicate) treating long data type filter as string type.

piyushanshu opened this issue · comments

Which service(blob, files queue, table) does this issue concern?

Table

Which version of the Azurite was used?

3.26.0

Where do you get Azurite? (npm, DockerHub, NuGet, Visual Studio Code Extension)

npm

What's the Node.js version?

v18.13.0

What problem was encountered?

Using TableClient.CreateQueryFilter(predicate) to convert predicate into ODATA filter string used for query. It is producing filter query string - "((((PartitionKey eq 'tables_querytests_1') and (RowKey ge 'rowkey_0')) and (RowKey le 'rowkey_1')) and (IsGCed eq false)) and (LongPrimitive gt 60L)"
This filterQueryString is accepted in AzureStorage emulator as ^0L is treated as Long data type and returns correct result
But the same Azurite treats 60L as string hence is returning incorrect result due to comparing coloumn data as string

Steps to reproduce the issue?

Create table query with filter on some column which of type long it will give incorrect result.

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?

no

@piyushanshu

We recently has a fix for long data in table query: #2386
Would you please install/run the latest Azurite 3.30.0, and see if the issue repro or not?

@piyushanshu

We recently has a fix for long data in table query: #2386 Would you please install/run the latest Azurite 3.30.0, and see if the issue repro or not?

Thanks for the update.