Ridge SQL Riferimento

ridge_sql implementa una relazione limitata SQL superficie. La sintassi familiare non implica completa PostgreSQL, MySQL o comportamento SQLite. Le forme non supportate falliscono esplicitamente.

Tipi

Lo schema di seconda generazione e il formato di riga supportano bigint, double, bounded esatto numeric/decimal, booleano, UTF-8 testo, bytea, data, timestamp, timestamptz, intervallo, UUID, canonico JSON, valori null, valori predefiniti, colonne generate e colonne di versione ottimistica.

Alcuni percorsi analitici avanzati mantengono limiti documentati più ristretti relativi alla forma delle colonne. Il supporto dei codec non deve essere interpretato come una copertura SQL illimitata.

Definizione dei dati

CREATE TABLE account_records (
    account_id BIGINT PRIMARY KEY GENERATED BY DEFAULT AS IDENTITY,
    name TEXT NOT NULL,
    balance BIGINT NOT NULL DEFAULT 0,
    active BOOLEAN NOT NULL DEFAULT true,
    version BIGINT NOT NULL DEFAULT 1
);

La superficie delimitata include indici multicolonna con nome stabile, controllo primario, univoco, dell'intervallo ID e vincoli di chiave esterna dell'ID primario, evoluzione dello schema additivo, rename/drop guardie, REINDEXe a prova di incidente table/index calo di definizione.

Manipolazione dei dati

Le forme dell'applicazione supportate includono più righe INSERT, valori predefiniti di colonne arbitrarie, identità e sequenze di incremento positivo, UPSERT chiave primaria, generale UPDATE e DELETE, lotti preparati e RETURNING *.

INSERT INTO account_records (name, balance)
VALUES ('Ada', 125)
RETURNING *;

UPDATE account_records
SET balance = 135
WHERE account_id = 1
RETURNING *;

Domande

La superficie documentata copre proiezioni e alias tipizzati, semantica nulla, aritmetica limitata e cast, COALESCE, fallback nullo CASE, LIKE, BETWEEN, delimitato IN, ordinamento, limiti, join, raggruppamenti, aggregazioni, CTE non ricorsive materializzate, operazioni sugli insiemi, sottoquery limitate, filtri aggregati, conteggi distinti e funzioni finestra documentate.

Utilizzare EXPLAIN o EXPLAIN ANALYZE per ispezionare il piano delimitato deterministico e il lavoro effettivo.

Transazioni

BEGIN ISOLATION LEVEL REPEATABLE READ;
SELECT * FROM account_records WHERE account_id = 1 FOR UPDATE;
UPDATE account_records SET balance = 110 WHERE account_id = 1;
COMMIT;

I livelli di isolamento supportati sono lettura impegnata e lettura ripetibile. Il commit automatico e le transazioni esplicite condividono la stessa visibilità e le stesse regole SQLSTATE. Dopo una connessione persa, non riprodurre mai automaticamente una mutazione quando il risultato del commit è sconosciuto.

Introspezione

SHOW DATABASES;
SHOW SCHEMAS;
SHOW TABLES;
SHOW FULL TABLES FROM ridge;
SHOW COLUMNS FROM accounts;
SHOW FIELDS IN accounts;
DESCRIBE accounts;
DESC accounts;
SHOW INDEXES FROM accounts;
SHOW KEYS IN accounts;
SHOW CONSTRAINTS FROM accounts;

Il servizio corrente espone un database configurato e il file sintetico public schema di compatibilità. Le forme risultanti vengono sottoposte a versione Ridge metadati, non compatibilità del catalogo MySQL.

Esplicitamente non supportato

Non generare trigger, procedure memorizzate, estensioni, CTE ricorsive, frame di finestre generali, partial/expression indici, COPY, ampio information_schema, o PostgreSQL pg_catalog domande. Controlla grove/libs/ridge_sql/README.md prima di fare affidamento su un'espressione complessa o su un comportamento specifico del protocollo.