hazelcast / hazelcast/hazelcast-cpp-client

[TRACKING ISSUE] [HZ-563] JSON type support

Open
#941 0 comments 0 reactions 0 assignees View on GitHub
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.