Autocompletado sensible al contexto
“El editor sabe si estás en el FROM, el WHERE o la lista de columnas.”
Escribe menos y comete menos errores, porque la sugerencia entiende dónde estás dentro del statement.
Sugiere columnas de la tabla activa, nombres de base de datos, tokens del esquema (tablas, vistas, funciones), keywords DML/DDL/de control, tipos de datos y frases auxiliares SQL filtradas por motor.
Linter léxico en tiempo real
“Los paréntesis desbalanceados nunca llegan al servidor.”
Atrapa el error obvio antes de que MySQL lo rechace.
Detecta comentarios sin cerrar, strings sin cerrar, paréntesis desbalanceados e identificadores con backtick abierto. Escaneo O(n), sin parser completo.
Formateador con modo seguro
“Formatea tus consultas — nunca reescribe tu UPDATE.”
Formato bonito para SELECT, sin sorpresas en un UPDATE sin WHERE.
Conoce más de 150 keywords, tipos y funciones. El modo seguro bloquea el autoformat en statements destructivos (ALTER, CREATE, DELETE, DROP, GRANT, TRUNCATE, UPDATE, REPLACE, RENAME) para prevenir reescrituras accidentales.
Redacción de credenciales en logs y sincronización
“Sincroniza tu historial, no tus credenciales.”
Tu log de consultas no se convierte en un archivo de contraseñas en iCloud.
Neutraliza IDENTIFIED BY, IDENTIFIED WITH … AS, IDENTIFIED BY PASSWORD, SET PASSWORD FOR y PASSWORD(…). Redacción idempotente, aplicada antes de exportar el log de consultas a CloudKit.
Constructores visuales de consultas
“Componé consultas con clics; salen listas para producción.”
Un SELECT … WHERE … JOIN … correcto sin memorizar la sintaxis.
Constructores visuales dedicados para las cuatro formas más frecuentes: SELECT, WHERE, UPDATE y CREATE de tabla.
Renombrado de símbolo con límites de palabra
“Renombra id sin romper client_id.”
Refactoriza identificadores con seguridad, sin destrozar nombres similares.
Regex con límites de palabra \b y escape adecuado. Nunca matchea dentro de identificadores más largos.
Paleta Quick Open (⌘⇧O)
“⌘⇧O y estás en la tabla que buscabas.”
Alcanza cualquier objeto del esquema sin bajar por el árbol.
Búsqueda fuzzy incremental sobre tablas, vistas, rutinas y objetos, con navegación por flechas y Enter para abrir.
Gestor de snippets con seeding por motor
“Tus snippets se adaptan al motor, no al revés.”
Tus recetas SQL siempre a mano, filtradas al motor que estás usando.
Almacenamiento JSON local. Cada snippet declara para qué motores aplica (MySQL, MariaDB…). Conectarse a un motor nuevo agrega los defaults sin duplicados. Admite categorización.
Popovers de documentación DDL y de funciones
“La doc de GROUP_CONCAT se abre donde estás escribiendo.”
Documentación sin salir del editor ni abrir un navegador.
Muestra la firma de la función SQL o el DDL del objeto del esquema bajo el cursor.
Editor de celda avanzado y edición inline de fila
“Edita la celda, ve el SQL, y decide.”
Cambia datos rápido y previsualiza el SQL exacto que se ejecutará.
Edición tipo hoja de cálculo sobre resultados, con vista previa del UPDATE o DELETE generado antes de ejecutar.
SQL Player — historial de ejecución
“Reproduce tu sesión SQL como un video.”
Depura un batch de consultas statement por statement, sin reejecutar todo.
Reproducción tipo timeline de los statements ejecutados, atada al historial persistente de consultas.
Barras de ayuda del iPad sobre el teclado
“Teclado del iPad con superpoderes SQL.”
Sugerencias táctiles rápidas justo encima del teclado en pantalla.
Barras contextuales para el objeto o función bajo el cursor, con acceso rápido a «Ver DDL» y parámetros de función.
Barra de herramientas personalizable
“Tu barra, en tu orden.”
Cada persona tiene su ergonomía; los DBAs reordenan una vez y se olvidan.
Reordena u oculta grupos de botones desde una hoja de personalización dedicada. El layout se persiste.
Buscar y reemplazar en toda la base
“Una búsqueda en todas las columnas de texto que tengas.”
Busca un texto en todas las columnas de texto de todas las tablas a la vez, mira las coincidencias por tabla y columna, previsualiza el resultado que calcula el servidor y reemplaza en bloque dentro de una transacción por tabla.
Enseña dos cifras, no una: la collation suele ignorar mayúsculas y REPLACE() nunca lo hace, así que sin ese aviso una edición masiva anuncia 300 filas y cambia 100 sin que nada falle. El desajuste se mide con CAST(col AS BINARY) y no con una collation concreta. Las columnas generadas, la clave primaria y las únicas quedan fuera por omisión — MariaDB acepta el UPDATE de una columna generada, informa de una fila afectada y no cambia nada. El escape usa |, porque la barra invertida se rompe con NO_BACKSLASH_ESCAPES.
Datos espaciales en un mapa real
“Tus columnas GEOMETRY dejan de ser 25 bytes.”
Puntos, líneas y polígonos dibujados en un mapa acoplado al editor, con estilos satélite y plano, agrupación y un control para encajar los datos. Arrastra un pin o un vértice y Calíope compone la sentencia — te la enseña antes de escribir nada.
El WKB del cable está siempre en (longitud, latitud); lo que cambia es el texto, porque MySQL 8 con un SRID geográfico escribe la latitud primero y MariaDB nunca lo hace. El intercambio vive sólo en la frontera textual, donde el parámetro no tiene valor por omisión: equivocarse no da error, mueve la fila de continente y el servidor lo acepta. El SRID viaja con la geometría, sin clave primaria fiable no se edita y se dice por qué, y no hay CoreLocation en ninguna parte.