microsoft / Kusto-Query-Language

Kusto Query Language is a simple and productive language for querying Big Data.
Apache License 2.0
511 stars 97 forks source link

auto convert uuid in dynamic column to lower case #18

Closed sschoebinger closed 4 years ago

sschoebinger commented 4 years ago

If I write data into a column which is data type dynamic, fields which match to uuid format are converted to lower case automatically.

if I parse a string with extractjson I get the uuid in upper case:

print('{"uuid":"6F77A167-8B36-49BB-8846-497B7F1BE1BF"}')
| extend uuid = extractjson("$.uuid", print_0)

// result: 6F77A167-8B36-49BB-8846-497B7F1BE1BF

but in case of using type dynamic or parse_json the conversion to lower case happens:

print('{"uuid":"6F77A167-8B36-49BB-8846-497B7F1BE1BF"}')
| extend uuid = parse_json(print_0)

// result: {"uuid":"6f77a167-8b36-49bb-8846-497b7f1be1bf"}
print('{"uuid":"6F77A167-8B36-49BB-8846-497B7F1BE1BF"}')
| extend uuid = todynamic(print_0)

// result: {"uuid":"6f77a167-8b36-49bb-8846-497b7f1be1bf"}

Can you please give an indication if this is intended behaviour? From my point of view there is no need to convert uuids to lower case by default, is there a drawback when keeping the case sensitivity?

In my case the system which is used relies on the case sensitive data and cannot change this short term.

Is there a way to use json objects (not only single field values) in ADX without getting all the uuids converted to lower case?

Thanks!

sloutsky commented 4 years ago

This repo is for language parser issues - you can ask ADX/Kusto related question at StackOverflow (tag with 'kusto')