docs: private void primUpdate(IPermission[] perms) throws Exception {
          Connection conn = null;
  
          try {
              conn = RDBMServices.getConnection();
              String sQuery = getUpdatePermissionSql();
              PreparedStatement ps = conn.prepareStatement(sQuery);
              try {
                  RDBMServices.setAutoCommit(conn, false);
  
                  for (int i = 0; i < perms.length; i++) {
                      primUpdate(perms[i], ps);
                  }
              } finally {
                  ps.close();
              }
  
              RDBMServices.commit(conn);
  
          } catch (Exception ex) {
              log.error("Exception updating permissions " + Arrays.toString(perms), ex);
              RDBMServices.rollback(conn);
              throw ex;
          } finally {
              try {
                  RDBMServices.setAutoCommit(conn, true);
              } finally {
                  RDBMServices.releaseConnection(conn);
              }
          }
      }