Ridge SQL Referência
ridge_sql implementa um relacional limitado SQL superfície. A sintaxe familiar não implica completa PostgreSQL, MySQL ou SQLite. As formas não suportadas falham explicitamente.
Tipos
O esquema de geração 2 e o formato de linha suportam bigint, duplo, exato limitado numeric/decimal, booleano, UTF-8 texto, bytea, data, timestamp, timestamptz, intervalo, UUID, canônico JSON, nulos, padrões, colunas geradas e colunas de versão otimista.
Alguns caminhos analíticos avançados mantêm limites de formato de coluna documentados mais estreitos. O suporte a codec não deve ser interpretado como cobertura SQL irrestrita.
Definição de dados
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
);
A superfície limitada inclui índices de múltiplas colunas nomeados estáveis, primário, exclusivo, verificação de intervalo de ID e restrições de chave estrangeira de ID primário, evolução de esquema aditiva, rename/drop guardas, REINDEXe à prova de acidentes table/index queda de definição.
Manipulação de dados
Os formatos de aplicativos suportados incluem várias linhas INSERT, padrões de coluna arbitrária, identidade e sequências de incremento positivo, UPSERT de chave primária, geral UPDATE e DELETE, lotes preparados e RETURNING *.
INSERT INTO account_records (name, balance)
VALUES ('Ada', 125)
RETURNING *;
UPDATE account_records
SET balance = 135
WHERE account_id = 1
RETURNING *;
Consultas
A superfície documentada cobre projeções e aliases digitados, semântica nula, aritmética limitada e conversões, COALESCE, substituto nulo CASE, LIKE, BETWEEN, limitado IN, ordenação, limites, junções, agrupamento, agregações, CTEs não recursivos materializados, operações de conjunto, subconsultas limitadas, filtros agregados, contagens distintas e funções de janela documentadas.
Use EXPLAIN ou EXPLAIN ANALYZE para inspecionar o plano limitado determinístico e o trabalho real.
Transações
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;
Os níveis de isolamento suportados são leitura confirmada e leitura repetível. A confirmação automática e as transações explícitas compartilham a mesma visibilidade e regras SQLSTATE. Após uma conexão perdida, nunca reproduza uma mutação automaticamente quando o resultado do commit for desconhecido.
Introspecção
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;
O serviço atual expõe um banco de dados configurado e o sintético public esquema de compatibilidade. As formas resultantes são versionadas Ridge metadados, não compatibilidade do catálogo MySQL.
Explicitamente sem suporte
Não gere gatilhos, procedimentos armazenados, extensões, CTEs recursivos, frames de janela em geral, partial/expression índices, COPY, amplo information_schema, ou PostgreSQL pg_catalog consultas. Verifique grove/libs/ridge_sql/README.md antes de confiar em uma expressão complexa ou comportamento específico do protocolo.