New versions: Dev (3.14)

Unnecessary arithmetic expressions

Applies to ❌ Open Source Edition   ✅ Express Edition   ✅ Professional Edition   ✅ Enterprise Edition

The jOOQ expression tree may contain unnecessary arithmetic expressions, which may not be desirable in generated SQL output. These expressions may originate from user written jOOQ API, or from internal emulations.

-- Input
SELECT -1 - (1 + 1)
-- Output
SELECT -3

Example configuration

Settings settings = new Settings()
    .withTransformUnneededArithmeticExpressions(TransformUnneededArithmeticExpressions.ALWAYS);

These options are available:

  • NEVER (default): Don't transform arithmetic expressions
  • INTERNAL: Transform only arithmetic expressions produced by jOOQ's internals, e.g. for emulations
  • ALWAYS: Always transform arithmetic expressions, if possible
The jOOQ Logo