Skip to content

Commit 5b3fb0b

Browse files
authored
Add MemGQL v0.6.2 docs (#1653)
* typed projections * liveness queries * NUMERIC + ORDER BY alias
1 parent 1f5a032 commit 5b3fb0b

10 files changed

Lines changed: 38 additions & 8 deletions

File tree

pages/memgraph-zero/memgql/changelog.mdx

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,34 @@ description: MemGQL release notes
55

66
# MemGQL Changelog
77

8+
## MemGQL v0.6.2 - June 7th, 2026
9+
10+
### ✨ New features & Improvements
11+
12+
- **Typed projections on every SQL backend.** `RETURN p` now returns a
13+
structured Bolt **Node** and `RETURN r` a typed Bolt **Relationship** on
14+
every SQL connector (PostgreSQL, MySQL, DuckDB, ClickHouse, Iceberg, Pinot,
15+
Oracle) — previously SQL backends returned the underlying column values and a
16+
map projection (`RETURN p {.id, .name}`) was required. Nodes carry their
17+
label and mapped properties; relationships carry their type and mapped
18+
properties. Mixing scalar and whole-element projections in one `RETURN`
19+
(`RETURN p.name, p`) works too.
20+
- **Connection-less queries (liveness check).** `RETURN 1`, `RETURN 1 + 2 AS x`
21+
and `WITH 1 AS x RETURN x` now evaluate locally with no connector configured
22+
and no backend reachable — useful as a Bolt-level health probe.
23+
- **`ORDER BY` by `RETURN` alias in cross-backend queries.** A sort key can
24+
reference a projected alias (`RETURN fact.tx_count AS tx_count … ORDER BY
25+
tx_count`), including when the alias is nested inside an arithmetic
26+
expression (`ORDER BY tx_count + 1`). The post-join sort rewrites the alias
27+
back to its underlying expression.
28+
- **Delimited (quoted) identifiers** in GQL queries now parse.
29+
30+
### 🐞 Bug fixes
31+
32+
- **PostgreSQL `NUMERIC` columns** now deserialize correctly — whole and
33+
fractional values arrive at the Bolt driver as Float and `NULL` is
34+
preserved. Previously `NUMERIC`-typed columns were unsupported.
35+
836
## MemGQL v0.6.1 - May 31st, 2026
937

1038
### ✨ New features & Improvements

pages/memgraph-zero/memgql/complete.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,7 @@ Save the following as `docker-compose.yml`:
102102
```yaml
103103
services:
104104
memgql:
105-
image: ${MEMGQL_IMAGE:-memgraph/memgql:0.6.1}
105+
image: ${MEMGQL_IMAGE:-memgraph/memgql:0.6.2}
106106
container_name: memgql
107107
ports:
108108
- "7688:7688"

pages/memgraph-zero/memgql/connect/clickhouse.mdx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,7 @@ For environment variables, see [Reference](../reference.mdx#clickhouse-clickhous
102102
| Feature | ClickHouse |
103103
|-----------------------------------------------|------------|
104104
| `MATCH (n:Label) RETURN n.prop` ||
105+
| Whole-node `RETURN n` / whole-rel `RETURN r` ||
105106
| Pattern-level `WHERE` (`MATCH (n WHERE …)`) ||
106107
| Typed edge `(a)-[r:R]->(b)` ||
107108
| `ORDER BY` / `LIMIT` ||

pages/memgraph-zero/memgql/connect/duckdb.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,7 @@ For environment variables, see [Reference](../reference.mdx#duckdb-duckdb).
9191
| Untyped edge `()-[]->(b)` ||
9292
| `UNION` / `UNION ALL` / `UNION DISTINCT` ||
9393
| Quantified path `(){m,n}` — bounded ||
94+
| Whole-node `RETURN n` / whole-rel `RETURN r` ||
9495
| Map projections `RETURN n {.a, .b}` ||
9596
| `IN` list membership `WHERE x IN [...]` ||
9697
| `STARTS WITH` / `ENDS WITH` / `CONTAINS` ||
@@ -113,4 +114,3 @@ For environment variables, see [Reference](../reference.mdx#duckdb-duckdb).
113114
- **Unbounded variable-length paths** (`()-[*]->()`) are rejected. Bound the depth (`{1,5}`) or run the query against a Cypher backend.
114115
- **`FOR x IN [...]` (UNWIND-style)** is rejected with an actionable error. Cypher backends (Memgraph, Neo4j) handle this syntax natively.
115116
- **Path variables on variable-length patterns**`MATCH p = (a){1,3}(b) RETURN p` is not supported. Drop the `p =` binding (or query a Cypher backend) and `RETURN` the individual nodes / edges instead.
116-
- **`RETURN n`** returns the node's column values rather than a single structured node object. For a structured result, use a map projection: `RETURN n {.id, .name} AS info`.

pages/memgraph-zero/memgql/connect/iceberg.mdx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,7 @@ For environment variables, see [Reference](../reference.mdx#iceberg-iceberg).
100100
| Feature | Iceberg / Trino |
101101
|-----------------------------------------------|-----------------|
102102
| `MATCH (n:Label) RETURN n.prop` ||
103+
| Whole-node `RETURN n` / whole-rel `RETURN r` ||
103104
| Pattern-level `WHERE` (`MATCH (n WHERE …)`) ||
104105
| Typed edge `(a)-[r:R]->(b)` ||
105106
| `ORDER BY` / `LIMIT` ||

pages/memgraph-zero/memgql/connect/mysql.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -122,6 +122,7 @@ For environment variables, see [Reference](../reference.mdx#mysql-mysql).
122122
| Untyped edge `()-[]->(b)` ||
123123
| `UNION` / `UNION ALL` / `UNION DISTINCT` ||
124124
| Quantified path `(){m,n}` — bounded ||
125+
| Whole-node `RETURN n` / whole-rel `RETURN r` ||
125126
| Map projections `RETURN n {.a, .b}` ||
126127
| `IN` list membership `WHERE x IN [...]` ||
127128
| `STARTS WITH` / `ENDS WITH` / `CONTAINS` ||
@@ -144,4 +145,3 @@ For environment variables, see [Reference](../reference.mdx#mysql-mysql).
144145
- **Unbounded variable-length paths** (`()-[*]->()`) are rejected. Bound the depth (`{1,5}`) or run the query against a Cypher backend.
145146
- **`FOR x IN [...]` (UNWIND-style)** is rejected with an actionable error. Cypher backends (Memgraph, Neo4j) handle this syntax natively.
146147
- **Path variables on variable-length patterns**`MATCH p = (a){1,3}(b) RETURN p` is not supported. Drop the `p =` binding (or query a Cypher backend) and `RETURN` the individual nodes / edges instead.
147-
- **`RETURN n`** returns the node's column values rather than a single structured node object. For a structured result, use a map projection: `RETURN n {.id, .name} AS info`.

pages/memgraph-zero/memgql/connect/pinot.mdx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -100,5 +100,6 @@ For environment variables, see [Reference](../reference.mdx#apache-pinot-pinot).
100100
| Feature | Pinot |
101101
|-----------------------------------------------|-------|
102102
| `MATCH (n:Label) RETURN n.prop` ||
103+
| Whole-node `RETURN n` / whole-rel `RETURN r` ||
103104
| Pattern-level `WHERE` (`MATCH (n WHERE …)`) ||
104105
| Typed edge `(a)-[r:R]->(b)` ||

pages/memgraph-zero/memgql/connect/postgres.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,7 @@ For environment variables, see [Reference](../reference.mdx#postgresql-postgres)
106106
| Untyped edge `()-[]->(b)` ||
107107
| `UNION` / `UNION ALL` / `UNION DISTINCT` ||
108108
| Quantified path `(){m,n}` — bounded ||
109+
| Whole-node `RETURN n` / whole-rel `RETURN r` ||
109110
| Map projections `RETURN n {.a, .b}` ||
110111
| `IN` list membership `WHERE x IN [...]` ||
111112
| `STARTS WITH` / `ENDS WITH` / `CONTAINS` ||
@@ -128,4 +129,3 @@ For environment variables, see [Reference](../reference.mdx#postgresql-postgres)
128129
- **Unbounded variable-length paths** (`()-[*]->()`) are rejected. Bound the depth (`{1,5}`) or run the query against a Cypher backend.
129130
- **`FOR x IN [...]` (UNWIND-style)** is rejected with an actionable error. Cypher backends (Memgraph, Neo4j) handle this syntax natively.
130131
- **Path variables on variable-length patterns**`MATCH p = (a){1,3}(b) RETURN p` is not supported. Drop the `p =` binding (or query a Cypher backend) and `RETURN` the individual nodes / edges instead.
131-
- **`RETURN n`** returns the node's column values rather than a single structured node object. For a structured result, use a map projection: `RETURN n {.id, .name} AS info`.

pages/memgraph-zero/memgql/reference.mdx

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,9 @@ supports.
3030
| Quantified path `(){m,n}` — bounded |||
3131
| Quantified path `(){m,}` — unbounded |||
3232
| Shortest-path (`ALL SHORTEST` / `ANY SHORTEST` / `SHORTEST k`) ||||
33+
| Whole-node `RETURN n` / whole-relationship `RETURN r` |||
3334
| Map projections `RETURN n {.id, .title}` |||
35+
| Connection-less `RETURN 1` / `RETURN 1 + 2` (liveness) |||
3436
| `IN` list membership `WHERE x IN […]` |||
3537
| `STARTS WITH` / `ENDS WITH` / `CONTAINS` |||
3638
| `collect()` / `collect_list()` (aggregate) |||
@@ -61,9 +63,6 @@ supports.
6163
`MATCH p = (a){1,3}(b) RETURN p` is not yet supported on SQL backends.
6264
Drop the `p =` binding (or query a Cypher backend) and `RETURN` the
6365
individual nodes / edges instead.
64-
- **`RETURN n` on SQL backends returns the node's column values** rather
65-
than a single structured node object. For a structured result, use a
66-
map projection: `RETURN n {.id, .name} AS info`.
6766

6867
## Graph Management Query Syntax
6968

pages/memgraph-zero/memgql/use-cases/public-private.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ MemGQL, and a one-shot init container:
6262
cat > docker-compose.yml << 'EOF'
6363
services:
6464
memgql:
65-
image: ${MEMGQL_IMAGE:-memgraph/memgql:0.6.1}
65+
image: ${MEMGQL_IMAGE:-memgraph/memgql:0.6.2}
6666
ports:
6767
- "7688:7688"
6868
environment:

0 commit comments

Comments
 (0)