@Override public void prepare(Properties p, Connection cnx) { super.prepare(p, cnx); // We do NOT want to use paginateQuery on each poll query as we want polling to be as painless as possible, so we pre-paginate it. queries.put("ji_select_poll", queries.get("ji_select_poll") + " LIMIT ?"); }
@Override public void prepare(Properties p, Connection cnx) { super.prepare(p, cnx); // We do NOT want to use paginateQuery on each poll query as we want polling to be as painless as possible, so we pre-paginate it. queries.put("ji_select_poll", queries.get("ji_select_poll") + " LIMIT ?"); }
@Override public void prepare(Properties p, Connection cnx) { super.prepare(p, cnx); // We do NOT want to use paginateQuery on each poll query as we want polling to be as painless as possible, so we pre-paginate it. queries.put("ji_select_poll", queries.get("ji_select_poll") + " LIMIT ?"); }
@Override public void prepare(Properties p, Connection cnx) { super.prepare(p, cnx); // We do NOT want to use paginateQuery on each poll query as we want polling to be as painless as possible, so we pre-paginate it. queries.put("ji_select_poll", queries.get("ji_select_poll") + " LIMIT ?"); }
@Override public void prepare(Properties p, Connection cnx) { super.prepare(p, cnx); // In some driver versions, trace is enabled by default! System.setProperty("oracle.jdbc.Trace", "false"); // See poll method for everything which is wrong with Oracle and queues. queries.put("ji_select_poll", String.format("SELECT /*+ FIRST_ROWS */ a.* FROM (%s) a WHERE ROWNUM < ?", queries.get("ji_select_poll"))); }
@Override public void prepare(Properties p, Connection cnx) { super.prepare(p, cnx); // In some driver versions, trace is enabled by default! System.setProperty("oracle.jdbc.Trace", "false"); // See poll method for everything which is wrong with Oracle and queues. queries.put("ji_select_poll", String.format("SELECT /*+ FIRST_ROWS */ a.* FROM (%s) a WHERE ROWNUM < ?", queries.get("ji_select_poll"))); }
@Override public void prepare(Properties p, Connection cnx) { super.prepare(p, cnx); // Simpler polling query, as DB2 has a very weird locking model. queries.put("ji_update_poll", this.adaptSql( "UPDATE __T__JOB_INSTANCE j1 SET NODE=?, STATUS='ATTRIBUTED', DATE_ATTRIBUTION=CURRENT_TIMESTAMP WHERE j1.STATUS='SUBMITTED' AND j1.ID IN " + "(SELECT j2.ID FROM __T__JOB_INSTANCE j2 WHERE j2.STATUS='SUBMITTED' AND j2.QUEUE=? " + "AND (j2.HIGHLANDER=0 OR (j2.HIGHLANDER=1 AND (SELECT COUNT(1) FROM __T__JOB_INSTANCE j3 WHERE j3.STATUS IN('ATTRIBUTED', 'RUNNING') AND j3.JOBDEF=j2.JOBDEF)=0 )) ORDER BY PRIORITY DESC, INTERNAL_POSITION FETCH FIRST ? ROWS ONLY)")); }
@Override public void prepare(Properties p, Connection cnx) { super.prepare(p, cnx); // Simpler polling query, as DB2 has a very weird locking model. queries.put("ji_update_poll", this.adaptSql( "UPDATE __T__JOB_INSTANCE j1 SET NODE=?, STATUS='ATTRIBUTED', DATE_ATTRIBUTION=CURRENT_TIMESTAMP WHERE j1.STATUS='SUBMITTED' AND j1.ID IN " + "(SELECT j2.ID FROM __T__JOB_INSTANCE j2 WHERE j2.STATUS='SUBMITTED' AND j2.QUEUE=? " + "AND (j2.HIGHLANDER=0 OR (j2.HIGHLANDER=1 AND (SELECT COUNT(1) FROM __T__JOB_INSTANCE j3 WHERE j3.STATUS IN('ATTRIBUTED', 'RUNNING') AND j3.JOBDEF=j2.JOBDEF)=0 )) ORDER BY PRIORITY DESC, INTERNAL_POSITION FETCH FIRST ? ROWS ONLY)")); }
/** * Create the query cache (with db-specific queries) */ private void initQueries() { DbConn cnx = getConn(); adapter.prepare(p, cnx._cnx); cnx.close(); }
/** * Create the query cache (with db-specific queries) */ private void initQueries() { DbConn cnx = getConn(); adapter.prepare(p, cnx._cnx); cnx.close(); }