Skip to content

Add Map and Point types to result set structure documentation#396

Open
Copilot wants to merge 2 commits intomainfrom
copilot/add-map-point-types-documentation
Open

Add Map and Point types to result set structure documentation#396
Copilot wants to merge 2 commits intomainfrom
copilot/add-map-point-types-documentation

Conversation

Copy link
Contributor

Copilot AI commented Mar 21, 2026

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)

  • Added Point to the scalar display format table
  • Added #### Maps and #### Points sections under Collections with redis-cli output examples

design/client-spec.md (compact/binary protocol)

  • Added #### Maps (VALUE_MAP = 10) — flat array of alternating key strings and [ValueType, value] pairs, length 2 * key_count
  • Added #### Points (VALUE_POINT = 11) — 2-array of [latitude (double), longitude (double)]

Formats verified against source in resultset_replycompact.c and resultset_replyverbose.c.

Original prompt

This section details on the original issue you should resolve

<issue_title>Add map and point types to result set structure documentation</issue_title>
<issue_description>## Context

Migrated from FalkorDB/FalkorDB#266 (originally from RedisGraph).

What's Missing

The Result Set Structure page documents the following types: Integer, NULL, String, Boolean, Double, Nodes, Relations, Arrays, and Paths.

However, FalkorDB also supports Map and Point composite types (as listed on the Cypher Support page under Composite types), but these are not documented in the result set structure page.

Users and client library authors need to know:

  • How map values are serialized in RESP responses
  • How point values are serialized in RESP responses
  • What type identifiers are used for these types in the binary protocol

Suggested Fix

Add sections for Map and Point types to the result-structure page, similar to how Arrays and Paths are currently documented.

Note

The original issue also reported a broken link from the Redis docs site. This appears resolved since the documentation is now hosted on docs.falkordb.com.</issue_description>

Comments on the Issue (you are @copilot in this section)


💡 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.

Copilot AI changed the title [WIP] Add map and point types to result set structure documentation Add Map and Point types to result set structure documentation Mar 21, 2026
Copilot AI requested a review from gkorland March 21, 2026 22:00
@gkorland gkorland requested review from Copilot and swilly22 March 21, 2026 22:48
@gkorland gkorland marked this pull request as ready for review March 21, 2026 22:49
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Comment on lines +234 to +236
key (string), [ValueType (enum), value (scalar)],
key (string), [ValueType (enum), value (scalar)],
...
Copy link

Copilot AI Mar 21, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Copilot uses AI. Check for mistakes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add map and point types to result set structure documentation

3 participants