docs: public void executeDelete(Query query, ClassDescriptor cld) throws PersistenceBrokerException
      {
          if (logger.isDebugEnabled())
          {
              logger.debug("executeDelete (by Query): " + query);
          }
          final StatementManagerIF sm = broker.serviceStatementManager();
          PreparedStatement stmt = null;
          final String sql = this.broker.serviceSqlGenerator().getPreparedDeleteStatement(query, cld).getStatement();
          try
          {
              stmt = sm.getPreparedStatement(cld, sql,
                      false, StatementManagerIF.FETCH_SIZE_NOT_APPLICABLE, cld.getDeleteProcedure()!=null);
  
              sm.bindStatement(stmt, query, cld, 1);
              if (logger.isDebugEnabled())
                  logger.debug("executeDelete (by Query): " + stmt);
  
              stmt.executeUpdate();
          }
          catch (SQLException e)
          {
              throw ExceptionHelper.generateException(e, sql, cld, null, logger);
          }
          finally
          {
              sm.closeResources(stmt, null);
          }
      }