-
Notifications
You must be signed in to change notification settings - Fork 660
Open
Description
Abstract
Since SpacetimeDB claims to be an SQL-compatible database, I hereafter propose a checklist on improving (and hopefully completing) the SQL querying & data manipulation support in it.
Note: I decided not to add all the already-implemented features in order to minimize necrobumping noise; feel free to do so if desired.
Syntax
- Timestamp literals: Make printed output of
Timestampobjects in all client SDK langs compatible with SQL queries #2450 - Tuples: Implemented value tuple literal in SQL #2843
- Arrays: Implemented array literal in SQL #2849
- Enum literals: SQL query syntax for enums #3434
NULLliteral: ImplementedNULLliteral in SQL forUnits andOptions #3606
Compliance
- Meta: Align with ANSI SQL standards #2993
- Mixed projections: «Column projections are not supported in subscriptions» error in one-off query #2968
- Option compatibility: Implemented Some-typed literals in SQL #3607
BYTEAliteral escape format: Allowed specifying hex strings in the Postgres escape format #3756SELECTbehavior over PG: Any DML statement containing the wordSELECTcauses rows reported via PG Wire #3770
Features
FORMAT: cli: Support more output format in thesqlandsubscribecommands #1437EXPLAIN: Query plan printer #2058ORDER BY: Table Insert Problems #2457- Foreign keys: Feature request: Foreign key constraints #2608
- Support
SumTypes/SumValues in SQL queries (subscription & one-off) #2670 OUTER JOIN: ImplementedOUTER JOINsupport #2892:ownerparameter: Docs - How to access module owner #3229- Non-index joins: RLS Subscription Error: $Subscriptions require indexes on join columns #3241
ALTER: Support manual migrations #3272- Parametrized views: Call parameterized views from sql #3489
SELECT 1OFFSETGROUP BYCAST()/CONVERT()RETURNING- Implicit joins
- Nested queries
Disclaimer: most of the linked PRs are mine. I'm not particularly trying to be pushy, but I found it desirable to categorize all the mess those make and perhaps help the maintainers get them over with imposing less friction.
Remixful and kistz
Metadata
Metadata
Assignees
Labels
No labels