Novedades de DataGrip 2023.1

¡DataGrip 2023.1 ya está aquí! Este ciclo de lanzamiento es muy especial: está dedicado a la calidad, lo que significa que hemos resuelto los errores acumulados en nuestro sistema de seguimiento de incidencias público. ¡Echemos un vistazo a todo lo que hemos conseguido arreglar!

Trabajar con código

  • DBE-4469: Hemos solucionado el problema por el que SQL Formatter no aplicaba el estilo correcto para una subconsulta en la cláusula EXISTS. Ahora funciona de la forma prevista.

DataGrip también puede añadir un espacio entre la palabra clave EXISTS y el paréntesis izquierdo, que puede activarse con un nuevo ajuste. Si desea conservar el antiguo comportamiento del formateador (sin el espacio), puede cambiar el ajuste Space after keyword a No en Preferences | Editor | Code Style | SQL (pestaña Queries).

  • DBE-14440: Hemos corregido el error al guardar los ajustes de estilo. Si ha configurado un estilo especial para SQL2016 y la casilla Inherit general SQL style de Preferences no está activada, tendrá que volver a configurarlo.

  • DBE-15973 BigQuery: Ahora se admite la cláusula WINDOW.
  • DBE-9219 ClickHouse: Ahora se ignoran los ajustes de mayúsculas al completar nombres en mayúsculas exactas.
  • DBE-14796 MySQL: Se han solucionado problemas con las funciones LAG y LEAD.
  • DBE-16311 MySQL: ahora se admite FOR UPDATE en consultas anidadas.
  • DBE-12139 MySQL: Ahora se admite la sintaxis ENCRYPTION.
  • DBE-13186 Microsoft SQL Server: Las inspecciones ya no informan erróneamente de código adicional.
  • DBE-11946 PostgreSQL: Se ha solucionado el problema con Place constraints.
  • DBE-6276 PostgreSQL: La navegación DDL a políticas de seguridad funciona ahora de la forma prevista.
  • DBE-17490 PostgreSQL: El generador SQL ahora entrecomilla correctamente las restricciones EXCLUDE.
  • DBE-11727, DBE-11500 BigQuery: La resolución de alias en las consultas UNNEST funciona ahora correctamente.
  • DBE-17291, DBE-17449 ClickHouse: Ahora se admiten las columnas EPHEMERAL, las cláusulas INTERSECT y EXCEPT.
  • DBE-13506 MongoDB: Se ha corregido el error con la finalización SQL fallida para las propiedades anidadas.

Explorador de bases de datos

  • DBE-17263: Las estadísticas del contenido de la fuente de datos vuelven a mostrarse en la ventana emergente Quick Documentation.

  • DBE-17166: Las carpetas renombradas en el explorador de bases de datos ya no desaparecen.
  • DBE-10812 PostgreSQL: El comando del menú contextual Drop funciona ahora de la forma prevista.

Introspección

  • Oracle: Hemos implementado varias mejoras para acelerar la introspección en el nivel 1, especialmente cuando se utiliza el catálogo interno rápido.

    Compruebe si ya se le han otorgado los permisos SELECT_CATALOG_ROLE y SELECT ANY DICTIONARY. Esto le da acceso al catálogo interno de Oracle y acelera en gran medida la introspección, ya que los catálogos convencionales de Oracle son bastante lentos.

    Más información sobre la introsprección en Oracle.

  • DBE-12578 Oracle: Ahora se admiten los desencadenantes de base de datos interesquema. Puede crear un desencadenante X del esquema A hacia la tabla E del esquema B, y se mostrará en el esquema B en la tabla host E.
  • DBE-6986 MySQL: Ahora se admite la cláusula/sintaxis ROW_FORMAT.
  • DBE-10603 Microsoft SQL Server: Quick Definition funciona ahora de la forma prevista.
  • DBE-9087 PostgreSQL: Al utilizar la cláusula REFERENCING, el DDL del desencadenante se genera correctamente.
  • DBE-12404 Db2: Hemos solucionado un problema con la interrupción de la introspección de objetos. Si los permisos de usuario no permitían recuperar una lista de usuarios de la base de datos, tampoco se cargaban el resto de objetos de la base de datos. Ahora se cargará todo excepto la lista de usuarios.
  • DBE-17330 MySQL: El DDL de una tabla se actualiza después de cambiar un comentario en el cuadro de diálogo Modify.
  • DBE-15555 Redshift: Hemos resuelto un problema de rendimiento. Ahora la introspecicón es considerablemente más rápida.

Conectividad

  • DBE-16417 Microsoft SQL Server: La detección de Current schema ahora funciona para cualquier base de datos.
  • DBE-11012 SQLite: La biblioteca nativa SQLite está ahora descomprimida en la carpeta del sistema.
  • DBE-7466 Microsoft SQL Server: Se ha solucionado la incidencia de conexión a través de pg_bouncer.

Editor de objetos

  • DBE-16393: Hemos añadido un editor de fuentes a la vista Modify.

  • DBE-17329 PostgreSQL: La creación de vistas virtuales ahora también está disponible en el modo de solo lectura.

Editor/visualizador de datos

  • DBE-3572: Hemos añadido un ajuste Alternate row colors para las tablas de resultados. Cuando la casilla de verificación esté activada, las filas tendrán colores alternos.

  • DBE-16250: Ya no hay espacios vacíos en los resultados del editor, ya que ahora la tabla ajusta su altura para que coincida con la altura de los resultados.

  • DBE-17434: Se utiliza el color de fuente correcto en la cabecera del editor de datos.
  • DBE-17292 PostgreSQL: La ventana Quick Doc ya no se congela al contar filas.
  • Solicitud de asistencia: La vista previa de la imagen funciona correctamente en el editor de valores.
  • DBE-16576 PostgreSQL: Se puede actualizar un valor en una vista con la columna ENUM.
  • DBE-14722 Oracle: Ahora se admiten las columnas JSON.
  • DBE-14303 BigQuery: La precisión de milisegundos en los valores TIMESTAMP ya no se pierde.
  • DBE-13329 MongoDB: Hemos añadido la acción Change Default para configurar el tamaño de página predeterminado.

Consola de consultas

  • DBE-14074: Los parámetros con nombre se detectan correctamente.
  • DBE-10555: Cuando copia y pega algo, el IDE ahora analiza correctamente la selección (en lugar de la posición del cursor).
  • DBE-17362: El cambiador de esquemas funciona correctamente en la nueva interfaz de usuario.
  • DBE-12109 Oracle: Los puntos y coma ya no se omiten en las Oracle Aggregate Functions.
  • DBE-16871 BigQuery: El error Unexpected value ya no aparece cuando se obtiene la vista previa de una tabla.
  • DBE-17479: Se han resuelto las consultas fallidas con la notificación Read access is allowed from inside read-action (or EDT) only (El acceso de solo lectura solo está permitido desde la acción de lectura (o EDT)) en la consola Query.
  • DBE-12787, DBE-12109 Oracle: CREATE PROCEDURE y CREATE FUNCTION ahora acaban con ";" de la forma prevista.
  • MongoDB: Pérdida de valores en IN (...) si se han resuelto más de 10.

SQL Resolve

  • DBE-16831: Se ha añadido un ajuste para especificar el modo de resolución predeterminado en la consola a Preferences | Database | Query execution | Other.

  • DBE-5497 Oracle: Hemos resuelto algunos problemas con los métodos de recopilación de Oracle:
    • Los sinónimos públicos ahora se sitúan correctamente en el esquema PUBLIC.
    • Las referencias recursivas a rutinas anidadas se resuelven correctamente.
    • Las referencias a parámetros del cursor cualificados por el nombre de un cursor se resuelven correctamente.
    • Los usos incorrectos de %TYPE se indican como advertencias.
  • DBE-12772 Oracle: Hemos corregido la resolución de atributos estándar para tipos de recopilación (por ejemplo, COUNT).
  • DBE-12758 Oracle: Ahora se admiten atributos de tipo.
  • DBE-11949 Oracle: Los argumentos con nombre en llamadas a costructor de tipo se resuelven correctamente.
  • DBE-16452 Oracle: La navegación por accesos directos ahora funciona con los paquetes.

Navegación y búsqueda

  • DBE-12015 Oracle: Al navegar a una rutina se le lleva de forma predeterminada a su implementación en lugar de a su encabezado.

Diagramas

  • DBE-17137: Hemos corregido un error por el que el IDE mostraba el diagrama Explain Plan solo para la primera de varias consultas.
  • DBE-16238: Ya no aparecen errores al guardar un diagrama.

Generación SQL

  • DBE-17229: El visor Schema diff ahora funciona correctamente; antes se abría vacío si había objetos de la base de datos o del servidor incluidos.
  • Microsoft SQL Server, PostgreSQL, Db2: Ahora puede utilizar la opción Specify next value for sequences para controlar el comportamiento de las secuencias que tienen un valor de inicio.

Si la opción Specify next value for sequences no está activada, DataGrip genera el DDL de la secuencia, añadiendo el valor de inicio a START WITH start_value.

Cuando se activa la opción Specify next value for sequences, DataGrip añade el siguiente valor que debe tener la secuencia al DDL, con algunas diferencias para las siguientes bases de datos:

  • Microsoft SQL Server: En lugar del valor de inicio de secuencia, se especifica el siguiente valor de secuencia en la cláusula RESTART WITH de las declaraciones CREATE y ALTER.
  • PostgreSQL: En lugar del valor de inicio de secuencia, se especifica el siguiente valor de secuencia en la cláusula START WITH de la sentencia CREATE. El valor inicial se especifica en la cláusula START WITH y el valor siguiente en la cláusula RESTART WITH de la declaración ALTER.
  • Db2: En lugar del valor de inicio de secuencia, se especifica el siguiente valor de secuencia en la cláusula START WITH de la declaración CREATE. El siguiente valor se especifica en la cláusula RESTART WITH de la declaración ALTER (cambiar el valor de inicio no está permitido en Db2).