SQL overview

The complete implemented SQL surface of PLOMID v0.1.0.

Version
Latest
v0.1.0 · latest 2 min read
On this page
  1. Statements
  2. Clauses and features
  3. Compatibility philosophy

Source of truth: the implementation — parser, AST, and executor. Only behavior verified there is documented below.

Statements#

Statement Status Page
SELECT, bare VALUES Supported SELECT
INSERT (values / default / select / conflict / returning) Supported INSERT
UPDATE (+FROM, JSON targets, RETURNING) Supported (Partial: UPDATE…FROM not in explicit txn) UPDATE
DELETE (+USING, RETURNING), TRUNCATE Supported DELETE
`CREATE TABLE DATABASE SCHEMA
ALTER TABLE (rename/add/drop), DROP …, COMMENT ON Supported subset DDL
`BEGIN START TRANSACTION COMMIT
SET, SHOW, DESCRIBE, USE, GRANT role TO member (only form) Supported DDL
WITH [RECURSIVE], EXPLAIN [ANALYZE] Supported Subqueries + CTEs, EXPLAIN
`COPY … FROM STDIN TO STDOUT` (wire only) Supported; file COPY rejected
`VACUUM ANALYZE REINDEX

CREATE MATERIALIZED VIEW, CREATE INDEX-as-Create::Index legacy stub, CREATE TRIGGER/PROCEDURE/EXTENSION parse to stubs without execution. REFRESH MATERIALIZED VIEW parses to an empty-name stub.

Clauses and features#

Expressions, operators, functions, aggregates, joins, subqueries, ordering/grouping, pagination, aliases, casts, NULL, JSON, temporal: each has a dedicated page linked from SELECT.

Compatibility philosophy#

Similar syntax ≠ compatibility. PLOMID speaks the PG wire protocol and mirrors PG type OIDs, but the executor is its own. Compatibility lists implemented / partial / unsupported / different-behavior explicitly. No PostgreSQL-compatible claim is made beyond the wire + catalog surface that is actually implemented.

Was this page helpful?