@SuppressWarnings("squid:S2077")
    @Override
    public int update(final SqlStatement sql, final List<SqlVisitor> sqlVisitors) throws DatabaseException {
        if (sql instanceof CallableSqlStatement) {
            throw new DatabaseException("Direct update using CallableSqlStatement not currently implemented");
        }

        class UpdateStatementCallback implements StatementCallback {
            @Override
            public Object doInStatement(Statement stmt) throws SQLException, DatabaseException {
                String[] sqlToExecute = applyVisitors(sql, sqlVisitors);
                if (sqlToExecute.length != 1) {
                    throw new DatabaseException("Cannot call update on Statement that returns back multiple Sql objects");
                }
                Scope.getCurrentScope().getLog(getClass()).fine(LogType.WRITE_SQL, sqlToExecute[0]);
                return stmt.executeUpdate(sqlToExecute[0]);
            }


            @Override
            public SqlStatement getStatement() {
                return sql;
            }
        }
        return (Integer) execute(new UpdateStatementCallback(), sqlVisitors);
    }
@SuppressWarnings("squid:S2077")
    @Override
    public int update(final SqlStatement sql, final List<SqlVisitor> sqlVisitors) throws DatabaseException {
        if (sql instanceof CallableSqlStatement) {
            throw new DatabaseException("Direct update using CallableSqlStatement not currently implemented");
        }

        class UpdateStatementCallback implements StatementCallback {
            @Override
            public Object doInStatement(Statement stmt) throws SQLException, DatabaseException {
                String[] sqlToExecute = applyVisitors(sql, sqlVisitors);
                if (sqlToExecute.length != 1) {
                    throw new DatabaseException("Cannot call update on Statement that returns back multiple Sql objects");
                }
                Scope.getCurrentScope().getLog(getClass()).fine(LogType.WRITE_SQL, sqlToExecute[0]);
                return stmt.executeUpdate(sqlToExecute[0]);
            }


            @Override
            public SqlStatement getStatement() {
                return sql;
            }
        }
        return (Integer) execute(new UpdateStatementCallback(), sqlVisitors);
    }
@ SuppressWarnings ( "squid:S2077" ) @ Override public int update ( final SqlStatement sql , final List < SqlVisitor > sqlVisitors ) throws DatabaseException { if ( sql instanceof CallableSqlStatement ) { throw new DatabaseException ( "Direct update using CallableSqlStatement not currently implemented" ) ; } class UpdateStatementCallback implements StatementCallback { @ Override public Object doInStatement ( Statement stmt ) throws SQLException , DatabaseException { String [ ] sqlToExecute = applyVisitors ( sql , sqlVisitors ) ; if ( sqlToExecute . length != 1 ) { throw new DatabaseException ( "Cannot call update on Statement that returns back multiple Sql objects" ) ; } Scope . getCurrentScope ( ) . getLog ( getClass ( ) ) . fine ( LogType . WRITE_SQL , sqlToExecute [ 0 ] ) ; return stmt . executeUpdate ( sqlToExecute [ 0 ] ) ; } @ Override public SqlStatement getStatement ( ) { return sql ; } } return ( Integer ) execute ( new UpdateStatementCallback ( ) , sqlVisitors ) ; }
the query is composed.
the query is composed .