Versión 3.18.0 con soporte para más diagnósticos, SQL/JSON, matrices asociativas de Oracle, matrices multidimensionales, R2DBC 1.0 - Java, SQL y jOOQ.

Versión 3.18.0 con soporte para más diagnósticos, SQL/JSON, matrices asociativas de Oracle, matrices multidimensionales, R2DBC 1.0 - Java, SQL y jOOQ.

Mejoras de DiagnosticsListener

Se han agregado muchos diagnósticos adicionales, incluida la detección automatizada de anulación de patrones, lo que lo ayuda a filtrar sus consultas SQL, ya sea que esté usando jOOQ para escribir su SQL o usándolo como un proxy JDBC/R2DBC para una aplicación existente.

Muchos de estos diagnósticos están disponibles como transformaciones de modelos regulares, que comenzamos a agregar en jOOQ 3.17. Algunos modelos nuevos incluyen:

  • CASE WHEN a = b THEN 1 END para CASE a WHEN b THEN 1 END
  • CASE WHEN x IS NULL THEN y ELSE x END para NVL(x, y)
  • CASE WHEN x = y THEN NULL ELSE x END para NULLIF(x, y)
  • (SELECT COUNT(*) FROM t) > 0 para EXISTS(SELECT 1 FROM t)
  • Y mucho más

Consulte estas secciones para obtener más detalles:

Más compatibilidad con SQL/JSON

SQL/JSON es una de las adiciones recientes más emocionantes al lenguaje SQL, y siempre estamos interesados ​​en mejorar el soporte de jOOQ para estas funciones. En esta versión, hemos agregado soporte para una variedad de extensiones SQL/JSON útiles y específicas del proveedor, que incluyen:

  • JSON_KEYS (de MySQL)
  • JSON_SET (de MySQL)
  • JSON_INSERT (desde MySQL)
  • JSON_REPLACE (de MySQL)
  • JSON_REMOVE (de MySQL)
  • Accesores -> y ->> (de PostgreSQL)

Puede encontrar más información sobre la compatibilidad con la nueva función JSON aquí

Más implementación de QOM

La API del modelo de objetos de consulta (QOM), que se introdujo en jOOQ 3.16, se ha mejorado con más soporte para declaraciones, funciones y expresiones, lo que permite una transformación y un recorrido de SQL más completos. Esto es particularmente interesante para reemplazos de modelos, diagnósticos y transformaciones SQL personalizadas.

La API de QOM aún se encuentra en estado experimental. Aunque no esperamos más cambios fundamentales, aún puede haber incompatibilidades de fuentes entre versiones menores.

Para más detalles sobre el modelo API, haga clic aquí

Compatibilidad con arreglos asociativos de Oracle

Al trabajar con procedimientos almacenados en Oracle, es probable que los usuarios hagan un uso intensivo de los tipos de paquetes de Oracle PL/SQL. Admitimos tipos PL/SQL RECORD y tipos PL/SQL TABLE durante un tiempo, los cuales tenían compatibilidad limitada con ojdbc en el pasado. La compatibilidad con matrices asociativas siempre puede ser un desafío con ojdbc, pero con jOOQ y su generador de código, la mayoría de las matrices asociativas se pueden vincular y recuperar muy fácilmente.

Tipos de matrices multidimensionales de PostgreSQL

Una característica solicitada a menudo de nuestra integración de PostgreSQL es la compatibilidad con arreglos multidimensionales. Esta versión de jOOQ admitirá estos tipos en la generación de código (si es posible) y en tiempo de ejecución a través de matrices Java multidimensionales.

Mejoras específicas de Kotlin

jOOQ también es la mejor manera de escribir SQL en kotlin. Siempre estamos buscando nuevas funciones a través del complemento jOOQ-kotlin, por ejemplo:

  • Recopiladores de ResultQuery
  • Acceso JSON
  • Más soporte para la nulabilidad en el código generado

Para más detalles ver esta sección del manual

Compatibilidad con R2DBC 1.0

Esta versión de jOOQ actualiza su dependencia R2DBC a 1.0.0.RELEASE.

Las notas completas de la versión se pueden encontrar aquí.

Si quieres conocer otros artículos parecidos a Versión 3.18.0 con soporte para más diagnósticos, SQL/JSON, matrices asociativas de Oracle, matrices multidimensionales, R2DBC 1.0 - Java, SQL y jOOQ. puedes visitar la categoría Código.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Subir

Esta página web utiliza cookies para analizar de forma anónima y estadística el uso que haces de la web, mejorar los contenidos y tu experiencia de navegación. Para más información accede a la Política de Cookies . Ver mas