Skip to content

Tessera DB

PX-01

View 02

Rows, joins and window functions, over the same records the graph walks.

A large, honest subset of SQL: tables, joins, aggregates, window functions, constraints, triggers and MERGE, over HTTP or the Postgres wire protocol, so psql and BI tools connect without a driver of ours.

01

04

View 02 · SQL

The same records, as tables a BI tool can read.

SQL and Cypher answer the same question with the same rows, because they read one store. Bound parameters keep input that looks like syntax a string, on every door.

4

Query languages

psql

Over Postgres wire

$1

Bound parameters

02

04

What it does.

01

The everyday SQL

SELECT, JOIN, GROUP BY, aggregates, window functions, constraints and BEFORE / AFTER triggers.

02

MERGE INTO

WHEN MATCHED and WHEN NOT MATCHED, from a table or subquery source — enough for an incremental merge.

03

Materialized views

CREATE and REFRESH MATERIALIZED VIEW. A plain CREATE VIEW is refused by name rather than half-supported.

04

Postgres wire

Simple and extended query protocols, prepared statements and real transactions. Reads tested with psql, psycopg and PostgreSQL JDBC; writes tested with psql.

05

Streaming results

SQL, Cypher and TQL stream as NDJSON, so a slow client slows the scan instead of filling memory.

06

CSV out

Add "format":"csv" to a query and the answer is CSV with a header row.

03

04

What it is not.

01

Not full PostgreSQL

The kit's query guide lists what is missing, for example ROUND and CREATE INDEX.

02

One statement per request

Two statements in one request are refused, not half-run.

04

04

First rows in thirty seconds, from the kit.

H=(-H "Authorization: Bearer $TESSERA_KEY" -H 'Content-Type: application/json')

curl -s "${H[@]}" -X POST "$TESSERA_URL/api/sql" \
  -d '{"sql":"CREATE TABLE Note (id TEXT PRIMARY KEY DEFAULT ULID(), body TEXT, at BIGINT DEFAULT NOW_MS())"}'
curl -s "${H[@]}" -X POST "$TESSERA_URL/api/sql" \
  -d '{"sql":"INSERT INTO Note (body) VALUES ($1)","params":["hello tessera"]}'
curl -s "${H[@]}" -X POST "$TESSERA_URL/api/sql" -d '{"sql":"SELECT id, body, at FROM Note"}'

# The same row, found by its words
curl -s -H "Authorization: Bearer $TESSERA_KEY" "$TESSERA_URL/api/search?q=hello"

Tessera DB is live.