Ridge SQL Référence
ridge_sql implémente une relationnelle bornée SQL surface. Une syntaxe familière n'implique pas qu'elle soit complète PostgreSQL, MySQL ou SQLite. Les formes non prises en charge échouent explicitement.
Espèces
Le schéma et le format de ligne de génération 2 prennent en charge les formats bigint, double et borné exact. numeric/decimal, booléen, UTF-8 texte, octet, date, horodatage, timestamptz, intervalle, UUID, canonique JSON, valeurs nulles, valeurs par défaut, colonnes générées et colonnes de version optimiste.
Certaines voies analytiques avancées conservent des limites documentées plus étroites en matière de forme de colonne. La prise en charge des codecs ne doit pas être interprétée comme une couverture SQL illimitée.
Définition des données
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 surface délimitée comprend des index multi-colonnes nommés stables, des contraintes primaires, uniques, de vérification de plage d'ID et de clé étrangère d'ID primaire, une évolution de schéma additive, rename/drop gardes, REINDEXet résistant aux chocs table/index baisse de définition.
Manipulation des données
Les formes d'application prises en charge incluent plusieurs lignes INSERT, valeurs par défaut de colonnes arbitraires, séquences d'identité et d'incrémentation positive, UPSERT de clé primaire, général UPDATE et DELETE, lots préparés, et RETURNING *.
INSERT INTO account_records (name, balance)
VALUES ('Ada', 125)
RETURNING *;
UPDATE account_records
SET balance = 135
WHERE account_id = 1
RETURNING *;
Requêtes
La surface documentée couvre les projections et alias typés, la sémantique nulle, l'arithmétique limitée et les conversions, COALESCE, repli nul CASE, LIKE, BETWEEN, délimité IN, l'ordre, les limites, les jointures, le regroupement, les agrégats, les CTE non récursifs matérialisés, les opérations d'ensemble, les sous-requêtes délimitées, les filtres d'agrégation, les décomptes distincts et les fonctions de fenêtre documentées.
Utilisez EXPLAIN ou EXPLAIN ANALYZE pour inspecter le plan déterministe et le travail réel.
Opérations
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;
Les niveaux d'isolement pris en charge sont les lectures validées et les lectures répétables. Les transactions de validation automatique et explicites partagent les mêmes règles de visibilité et SQLSTATE. Après une connexion perdue, ne rejouez jamais automatiquement une mutation lorsque le résultat de la validation est inconnu.
Introspection
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;
Le service actuel expose une base de données configurée et la base de données synthétique public schéma de compatibilité. Les formes résultantes sont versionnées Ridge métadonnées, pas de compatibilité avec le catalogue MySQL.
Explicitement non pris en charge
Ne générez pas de déclencheurs, de procédures stockées, d'extensions, de CTE récursifs, de cadres de fenêtres généraux, partial/expression des index, COPY, large information_schema, ou PostgreSQL pg_catalog requêtes. Vérifier grove/libs/ridge_sql/README.md avant de s'appuyer sur une expression complexe ou un comportement spécifique au protocole.