diff --git a/jOOQ/src/main/java/org/jooq/conf/DiagnosticsConnection.java b/jOOQ/src/main/java/org/jooq/conf/DiagnosticsConnection.java new file mode 100644 index 0000000000..2b91b9769a --- /dev/null +++ b/jOOQ/src/main/java/org/jooq/conf/DiagnosticsConnection.java @@ -0,0 +1,39 @@ + +package org.jooq.conf; + +import jakarta.xml.bind.annotation.XmlEnum; +import jakarta.xml.bind.annotation.XmlType; + + +/** + *
Java class for DiagnosticsConnection. + * + *
The following schema fragment specifies the expected content contained within this class. + *
+ * <simpleType name="DiagnosticsConnection">
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}string">
+ * <enumeration value="DEFAULT"/>
+ * <enumeration value="ON"/>
+ * <enumeration value="OFF"/>
+ * </restriction>
+ * </simpleType>
+ *
+ *
+ */
+@XmlType(name = "DiagnosticsConnection")
+@XmlEnum
+public enum DiagnosticsConnection {
+
+ DEFAULT,
+ ON,
+ OFF;
+
+ public String value() {
+ return name();
+ }
+
+ public static DiagnosticsConnection fromValue(String v) {
+ return valueOf(v);
+ }
+
+}
diff --git a/jOOQ/src/main/java/org/jooq/impl/DiagnosticsConnection.java b/jOOQ/src/main/java/org/jooq/impl/DiagnosticsConnection.java
index 42b11fb619..5afc35bd27 100644
--- a/jOOQ/src/main/java/org/jooq/impl/DiagnosticsConnection.java
+++ b/jOOQ/src/main/java/org/jooq/impl/DiagnosticsConnection.java
@@ -130,47 +130,47 @@ final class DiagnosticsConnection extends DefaultConnection {
@Override
public final PreparedStatement prepareStatement(String sql) throws SQLException {
- return new DiagnosticsStatement(this, getDelegate().prepareStatement(parse(sql)));
+ return new DiagnosticsStatement(this, getDelegate().prepareStatement(parse(sql)), sql);
}
@Override
public final PreparedStatement prepareStatement(String sql, int resultSetType, int resultSetConcurrency) throws SQLException {
- return new DiagnosticsStatement(this, getDelegate().prepareStatement(parse(sql), resultSetType, resultSetConcurrency));
+ return new DiagnosticsStatement(this, getDelegate().prepareStatement(parse(sql), resultSetType, resultSetConcurrency), sql);
}
@Override
public final PreparedStatement prepareStatement(String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability) throws SQLException {
- return new DiagnosticsStatement(this, getDelegate().prepareStatement(parse(sql), resultSetType, resultSetConcurrency, resultSetHoldability));
+ return new DiagnosticsStatement(this, getDelegate().prepareStatement(parse(sql), resultSetType, resultSetConcurrency, resultSetHoldability), sql);
}
@Override
public final PreparedStatement prepareStatement(String sql, int autoGeneratedKeys) throws SQLException {
- return new DiagnosticsStatement(this, getDelegate().prepareStatement(parse(sql), autoGeneratedKeys));
+ return new DiagnosticsStatement(this, getDelegate().prepareStatement(parse(sql), autoGeneratedKeys), sql);
}
@Override
public final PreparedStatement prepareStatement(String sql, int[] columnIndexes) throws SQLException {
- return new DiagnosticsStatement(this, getDelegate().prepareStatement(parse(sql), columnIndexes));
+ return new DiagnosticsStatement(this, getDelegate().prepareStatement(parse(sql), columnIndexes), sql);
}
@Override
public final PreparedStatement prepareStatement(String sql, String[] columnNames) throws SQLException {
- return new DiagnosticsStatement(this, getDelegate().prepareStatement(parse(sql), columnNames));
+ return new DiagnosticsStatement(this, getDelegate().prepareStatement(parse(sql), columnNames), sql);
}
@Override
public final CallableStatement prepareCall(String sql) throws SQLException {
- return new DiagnosticsStatement(this, getDelegate().prepareCall(parse(sql)));
+ return new DiagnosticsStatement(this, getDelegate().prepareCall(parse(sql)), sql);
}
@Override
public final CallableStatement prepareCall(String sql, int resultSetType, int resultSetConcurrency) throws SQLException {
- return new DiagnosticsStatement(this, getDelegate().prepareCall(parse(sql), resultSetType, resultSetConcurrency));
+ return new DiagnosticsStatement(this, getDelegate().prepareCall(parse(sql), resultSetType, resultSetConcurrency), sql);
}
@Override
public final CallableStatement prepareCall(String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability) throws SQLException {
- return new DiagnosticsStatement(this, getDelegate().prepareCall(parse(sql), resultSetType, resultSetConcurrency, resultSetHoldability));
+ return new DiagnosticsStatement(this, getDelegate().prepareCall(parse(sql), resultSetType, resultSetConcurrency, resultSetHoldability), sql);
}
@Override
diff --git a/jOOQ/src/main/java/org/jooq/impl/DiagnosticsStatement.java b/jOOQ/src/main/java/org/jooq/impl/DiagnosticsStatement.java
index f152d253f1..00d0b5e2e9 100644
--- a/jOOQ/src/main/java/org/jooq/impl/DiagnosticsStatement.java
+++ b/jOOQ/src/main/java/org/jooq/impl/DiagnosticsStatement.java
@@ -50,11 +50,17 @@ import org.jooq.tools.jdbc.DefaultCallableStatement;
final class DiagnosticsStatement extends DefaultCallableStatement {
final DiagnosticsConnection connection;
+ final String actualStatement;
DiagnosticsStatement(DiagnosticsConnection connection, Statement statement) {
+ this(connection, statement, null);
+ }
+
+ DiagnosticsStatement(DiagnosticsConnection connection, Statement statement, String actualStatement) {
super(statement);
this.connection = connection;
+ this.actualStatement = actualStatement;
}
@Override
@@ -65,6 +71,14 @@ final class DiagnosticsStatement extends DefaultCallableStatement {
return new DiagnosticsResultSet(super.executeQuery(connection.parse(sql)), sql, this, connection);
}
+ @Override
+ public ResultSet executeQuery() throws SQLException {
+ if (connection.disabled())
+ return super.executeQuery();
+ else
+ return new DiagnosticsResultSet(super.executeQuery(), actualStatement, this, connection);
+ }
+
@Override
public final int executeUpdate(String sql) throws SQLException {
return super.executeUpdate(connection.parse(sql));