Add Map and Point types to result set structure documentation#396
Add Map and Point types to result set structure documentation#396
Conversation
Co-authored-by: gkorland <753206+gkorland@users.noreply.github.com> Agent-Logs-Url: https://github.com/FalkorDB/docs/sessions/0e4782a4-8394-45bb-94d3-04705fcbd37b
There was a problem hiding this comment.
Pull request overview
Adds missing documentation for FalkorDB’s Map and Point return types so client library authors can correctly decode/serialize these values in both verbose (redis-cli) and compact result formats.
Changes:
- Extends the verbose “Result Set Structure” documentation to include Point scalar display formatting and adds new Maps/Points sections with examples.
- Extends the compact “Client Specification” documentation with serialization details for VALUE_MAP (10) and VALUE_POINT (11).
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
| design/result-structure.md | Documents how Map/Point appear in verbose RESP/redis-cli output, including display format and examples. |
| design/client-spec.md | Documents compact-format payload structure for VALUE_MAP and VALUE_POINT. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| key (string), [ValueType (enum), value (scalar)], | ||
| key (string), [ValueType (enum), value (scalar)], | ||
| ... |
There was a problem hiding this comment.
In the Maps serialization pseudo-structure, the value placeholder is labeled as value (scalar), but map values can be non-scalar (e.g., arrays, nodes/edges, paths, nested maps, points). This can mislead client authors into rejecting valid responses. Consider changing the placeholder to something like value (any ValueType payload) or explicitly stating that the value can be any FalkorDB value type, not just scalars.
Map and Point types are supported by FalkorDB but were undocumented in the result set structure and client specification pages, leaving client library authors without serialization details.
design/result-structure.md(verbose format)#### Mapsand#### Pointssections under Collections with redis-cli output examplesdesign/client-spec.md(compact/binary protocol)#### Maps (VALUE_MAP = 10)— flat array of alternating key strings and[ValueType, value]pairs, length2 * key_count#### Points (VALUE_POINT = 11)— 2-array of[latitude (double), longitude (double)]Formats verified against source in
resultset_replycompact.candresultset_replyverbose.c.Original prompt
💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.