Skip to content

Feature/synchronize or reveal - #2

Merged
gaperez64 merged 7 commits into
mainfrom
feature/synchronize-or-reveal
Aug 17, 2026
Merged

Feature/synchronize or reveal#2
gaperez64 merged 7 commits into
mainfrom
feature/synchronize-or-reveal

Conversation

@gaperez64

Copy link
Copy Markdown
Owner

Stacked on top of #1: new API for homing/disambiguating sequences as well as a general update to the previous API

Vincent and others added 7 commits August 17, 2026 13:15
meson only added 'c23' as a recognised c_std value in 1.4, but the project
declares meson_version >=1.3.0. On meson 1.3.x configuration fails outright:

    ERROR: Unknown C std ['c23']. Possible values are [... 'c2x' ...]

Newer meson still accepts 'c2x' and it selects the same standard, so 'c2x' is
the spelling that works across the supported meson range.
sync_module.c calls mgp_list_append_move, mgp_map_insert_move and
mgp_unordered_map_make_empty. Memgraph 3.1.1 ships none of them, so the module
fails to compile against a stock 3.1 install.

Add guarded shims implementing the three on top of the copying variants, and
detect the situation in meson via cc.has_header_symbol rather than requiring
-DSYNC_KGRAPH_MGP_COMPAT to be passed by hand. Against newer headers the shims
compile out entirely and nothing changes.

Note for review: mgp_list_append and mgp_map_insert copy the value, so the shims
destroy the source on success to preserve the move-semantics contract the call
sites rely on (they destroy the value themselves on failure). That mirrors what
the real *_move functions do, but it is an assumption about the intended
contract rather than something the headers state, so it is worth confirming.
@gaperez64
gaperez64 merged commit a11006f into main Aug 17, 2026
10 checks passed
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.

1 participant