Revisar SQL de solo lectura
sql-readonly-checkRevisa estáticamente si un SQL solo lee: separa sentencias, ignora comentarios y textos entre comillas y marca palabras de escritura o DDL (también en CTE y SELECT … INTO), bloqueos, EXPLAIN ANALYZE y funciones riesgosas. Es heurístico; para imponerlo use roles de solo lectura. Cuándo: hay que revisar si un SQL de un modelo o de un usuario escribe datos antes de que llegue a una base de datos. No para: aplicar una expresión regular de JavaScript a un texto y listar cada coincidencia con posición y grupos (regex-test). Efectos secundarios: ninguno (solo lectura, sin red, sin estado guardado). Determinista: la misma entrada da la misma salida. Límites: entrada JSON de hasta 64 KB, 1 s por llamada, resultado de hasta 1 MB.
EN: Statically checks whether SQL text only reads: splits statements, skips comments and quoted text, and flags write or DDL keywords (also inside CTEs and SELECT … INTO), locking clauses, EXPLAIN ANALYZE and risky functions. A heuristic;… [EN completo / full EN: inputSchema.description]
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| sql | Yes | SQL text (any dialect) (string; required). |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| caveat | No | ||
| read_only | No | ||
| statements | No | ||
| statement_count | No | ||
| multiple_statements | No |