.] [INCREMENT BY ] [START WITH ] [MAXVALUE | NOMAXVALUE] [MINVALUE | NOMINVALUE] [CYCLE | NOCYCLE] [CACHE | NOCACHE] [ORDER|NOORDER] */ StringBuffer query = new StringBuffer(createSequenceQuery(sequenceName)); if(prop != null) { Boolean b; Long value; value = SequenceManagerHelper.getSeqIncrementBy(prop); if(value != null) { query.append(" INCREMENT BY ").append(value.longValue()); } value = SequenceManagerHelper.getSeqStart(prop); if(value != null) { query.append(" START WITH ").append(value.longValue()); } value = SequenceManagerHelper.getSeqMaxValue(prop); if(value != null) { query.append(" MAXVALUE ").append(value.longValue()); } value = SequenceManagerHelper.getSeqMinValue(prop); if(value != null) { query.append(" MINVALUE ").append(value.longValue()); } b = SequenceManagerHelper.getSeqCycleValue(prop); if(b != null) { if(b.booleanValue()) query.append(" CYCLE"); else query.append(" NOCYCLE"); } value = SequenceManagerHelper.getSeqCacheValue(prop); if(value != null) { query.append(" CACHE ").append(value.longValue()); } b = SequenceManagerHelper.getSeqOrderValue(prop); if(b != null) { if(b.booleanValue()) query.append(" ORDER"); else query.append(" NOORDER"); } } return query.toString(); } public String nextSequenceQuery(String sequenceName) { return "select " + sequenceName + ".nextval from dual"; } public String dropSequenceQuery(String sequenceName) { return "drop sequence " + sequenceName; } /* (non-Javadoc) * @see org.apache.ojb.broker.platforms.Platform#addPagingSql(java.lang.StringBuffer) */ public void addPagingSql(StringBuffer anSqlString) ]]> null if Oracle update batching is used, * since it is impossible to dissolve total row count into distinct * statement counts. If JDBC update batching is used, an int array is * returned containing number of updated rows for each batched statement. * @throws PlatformException upon JDBC failure */ public int[] executeBatch(PreparedStatement stmt) throws PlatformException { // Check for Oracle batching support final Method methodSendBatch = (Method) m_batchStatementsInProgress.remove(stmt); final boolean statementBatchingSupported = methodSendBatch != null; int[] retval = null; if (statementBatchingSupported) { try { // sendBatch() returns total row count as an Integer methodSendBatch.invoke(stmt, null); } catch (Exception e) { throw new PlatformException(e.getLocalizedMessage(), e); } } else { retval = super.executeBatch(stmt); } return retval; } /** @see Platform#setObjectForStatement */ public void setObjectForStatement(PreparedStatement ps, int index, Object value, int sqlType) throws SQLException { ]]> "); result.append(eol); // Write all arguments only if we're not including all fields. if (!this.getIncludeAllFields()) { Iterator args = this.getArguments().iterator(); while (args.hasNext()) { result.append(((ArgumentDescriptor) args.next()).toXML()); } } // Closing tag result.append(" "); result.append(tags.getClosingTagById(UPDATE_PROCEDURE)); ]]> * The argument will be added only if this procedure is not configured * to {@link #getIncludeAllFields() include all arguments}. */ public final void addArgument(ArgumentDescriptor argument) { if (!this.getIncludeAllFields()) { super.addArgument(argument); } } /* * @see XmlCapable#toXML() */ public String toXML() { RepositoryTags tags = RepositoryTags.getInstance(); String eol = System.getProperty("line.separator"); // The result StringBuffer result = new StringBuffer(1024); result.append(eol); result.append(" "); // Opening tag and attributes result.append(" "); result.append(tags.getOpeningTagNonClosingById(UPDATE_PROCEDURE)); ]]>