Ridge SQL Referencia
ridge_sql implementa un relacional acotado SQL superficie. La sintaxis familiar no implica completa. PostgreSQL, MySQL o SQLite. Las formas no admitidas fallan explícitamente.
Tipos
El esquema de generación 2 y el formato de fila admiten bigint, doble y exacto acotado. numeric/decimal, booleano, UTF-8 texto, bytea, fecha, marca de tiempo, marca de tiempo, intervalo, UUID, canónico JSON, valores nulos, valores predeterminados, columnas generadas y columnas de versión optimista.
Algunas rutas analíticas avanzadas conservan límites de forma de columna documentados más estrechos. La compatibilidad con el códec no debe interpretarse como una cobertura SQL sin restricciones.
Definición de datos
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 delimitada incluye índices estables de varias columnas con nombre, restricciones primarias, únicas, de rango de ID y de clave externa de ID primaria, evolución aditiva del esquema, rename/drop guardias, REINDEXy a prueba de choques table/index caída de definición.
Manipulación de datos
Las formas de aplicaciones admitidas incluyen varias filas INSERT, valores predeterminados de columnas arbitrarias, secuencias de identidad y de incremento positivo, UPSERT de clave primaria, general UPDATE y DELETE, lotes preparados, y RETURNING *.
INSERT INTO account_records (name, balance)
VALUES ('Ada', 125)
RETURNING *;
UPDATE account_records
SET balance = 135
WHERE account_id = 1
RETURNING *;
Consultas
La superficie documentada cubre proyecciones y alias mecanografiados, semántica nula, aritmética acotada y conversiones, COALESCE, respaldo nulo CASE, LIKE, BETWEEN, limitado IN, ordenamiento, límites, uniones, agrupaciones, agregados, CTE no recursivos materializados, operaciones de conjuntos, subconsultas limitadas, filtros agregados, recuentos distintos y funciones de ventana documentadas.
Utilice EXPLAIN o EXPLAIN ANALYZE para inspeccionar el plan delimitado determinista y el trabajo real.
Transacciones
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;
Los niveles de aislamiento admitidos son lectura confirmada y lectura repetible. Las transacciones automáticas y explícitas comparten la misma visibilidad y reglas SQLSTATE. Después de perder una conexión, nunca reproduzca una mutación automáticamente cuando se desconozca el resultado de la confirmación.
Introspección
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;
El servicio actual expone una base de datos configurada y la sintética. public esquema de compatibilidad. Las formas resultantes están versionadas. Ridge metadatos, no compatibilidad con el catálogo MySQL.
Explícitamente sin soporte
No genere disparadores, procedimientos almacenados, extensiones, CTE recursivos, marcos de ventanas generales, partial/expression índices, COPY, amplio information_schema, o PostgreSQL pg_catalog consultas. comprobar grove/libs/ridge_sql/README.md antes de confiar en una expresión compleja o un comportamiento específico del protocolo.