hazelcast / hazelcast/hazelcast-cpp-client
[TRACKING ISSUE] [HZ-563] JSON type support
- Dominant language
- C++
- Stars
- 91
- Forks
- 54
- Avg merge
- 1d 12m
- Merged PRs (30d)
- 5
Description
The tracking issue for the Java side PR.
See https://github.com/hazelcast/hazelcast/pull/19303 for details.
---
Adds `JSON` as a supported type (available in most contexts, aside from JDBC since that's not part of the SQL spec) as well as few functions from SQL JSON TR.
Features:
- `JSON_QUERY(jsonArg VARCHAR|JSON, jsonPath VARCHAR ... ): JSON` - returns a json-object/array by given JSONPath (implemented according to SQL JSON TR)
- JSON_VALUE(jsonArg VARCHAR|JSON, jsonPath VARCHAR ... ): VARCHAR|` - returns a primitive value by given JSONPath (implemented according to SQL JSON TR)
- `JSON_PARSE(jsonString VARCHAR): JSON` - workaround function to mitigate issues with aggressive `CAST(literal AS )` optimizations, analyzer replaces any instance of `CAST( AS JSON)` with a call of this function.
- `CAST(x AS JSON)` support for `VARCHAR`, columns/literals and dynamic params are supported.
- `JSON` as a first-class type, with IMap and Kafka Connector support, usable in most contexts, similarly to any other type.
Contributor guide
Assessment
This issue has not been assessed yet.