From 3711aa1b10844c9e346e39be536ebbedc5d0c682 Mon Sep 17 00:00:00 2001 From: Steven McCanne Date: Thu, 15 Jan 2026 07:09:17 -0800 Subject: [PATCH 1/2] minor edits to book intro and super-sql intro --- book/src/intro.md | 9 +++++++-- book/src/super-sql/intro.md | 8 ++++---- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/book/src/intro.md b/book/src/intro.md index 84fc7b6959..2128b80d19 100644 --- a/book/src/intro.md +++ b/book/src/intro.md @@ -3,6 +3,11 @@ SuperDB is a new type of analytics database that promises an easier approach to modern data because it unifies relational tables and eclectic JSON in a powerful, new data model called [_super-structured data_](formats/model.md). +SuperDB's query language is a +[pipe SQL](https://research.google/pubs/sql-has-problems-we-can-fix-them-pipe-syntax-in-sql/) +adapted for super-structured data called [_SuperSQL_](super-sql/intro.md), +which is aspirationally backward-compatible with +[PostgreSQL](https://www.postgresql.org/). > [!NOTE] > The SuperDB implementation is open source and available as a @@ -12,8 +17,8 @@ powerful, new data model called [_super-structured data_](formats/model.md). Super-structured data is * _dynamic_ so that data collections can vary by type and are not handcuffed by schemas, -* _strongly typed_ ensuring that all the benefits of a comprehensive type system - apply to dynamic data, and +* _strongly typed_ ensuring that the benefits of comprehensive typing + like static type checking apply to dynamic data, and * _self-describing_ thus obviating the need to define schemas up front. SuperDB has taken many of the best ideas of current data systems and adapted them diff --git a/book/src/super-sql/intro.md b/book/src/super-sql/intro.md index c4c4c075e8..c13898b7a0 100644 --- a/book/src/super-sql/intro.md +++ b/book/src/super-sql/intro.md @@ -331,12 +331,12 @@ The array subquery produces an array value so it is often desirable to [unnest](operators/unnest.md) this array with respect to the outer values as in ``` -from f1.json | unnest {outer:this,inner:[from f2.json | ...]} into ( ) +from f1.json | unnest {outer:this,inner:[from f2.json | ...]} into ( ) ``` -where `` can be an arbitrary pipe query that processes each +where `` is an arbitrary pipe query that processes each collection of unnested values separately as a unit for each outer value. -The `into ( )` body is an optional component of `unnest`, and if absent, -the unnested collection boundaries are ignored and all of the unnested data is output. +The `into ( )` body is an optional component of `unnest`, and if absent, +the unnested collection boundaries are ignored and all of the unnested data is output as a combined sequence. With the `unnest` operator, we can now consider how a [correlated subquery](https://en.wikipedia.org/wiki/Correlated_subquery) from SQL can be implemented purely as a pipe query with pipe scoping. From 639fbc6593c01a551b90ab47dc24a3c71f4bb8d9 Mon Sep 17 00:00:00 2001 From: Steven McCanne Date: Fri, 16 Jan 2026 05:36:41 -0800 Subject: [PATCH 2/2] address PR feedback --- book/src/intro.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/book/src/intro.md b/book/src/intro.md index 2128b80d19..bf3106aaf5 100644 --- a/book/src/intro.md +++ b/book/src/intro.md @@ -17,8 +17,8 @@ which is aspirationally backward-compatible with Super-structured data is * _dynamic_ so that data collections can vary by type and are not handcuffed by schemas, -* _strongly typed_ ensuring that the benefits of comprehensive typing - like static type checking apply to dynamic data, and +* _strongly typed_ allowing static type checking and type-based query +optimizations to apply to dynamic data, * _self-describing_ thus obviating the need to define schemas up front. SuperDB has taken many of the best ideas of current data systems and adapted them