public String bind(DataBind dataBind) throws SQLException { StringBuilder bindLog = new StringBuilder(); if (idValue != null) { // this is a find by id type query... request.getBeanDescriptor().bindId(dataBind, idValue); bindLog.append(idValue); } if (bindParams != null) { // bind named and positioned parameters... binder.bind(bindParams, dataBind, bindLog); } if (whereExprBindValues != null) { for (int i = 0; i < whereExprBindValues.size(); i++) { Object bindValue = whereExprBindValues.get(i); binder.bindObject(dataBind, bindValue); if (i > 0 || idValue != null) { bindLog.append(","); } bindLog.append(bindValue); } } if (filterManyExprBindValues != null) { for (int i = 0; i < filterManyExprBindValues.size(); i++) { Object bindValue = filterManyExprBindValues.get(i); binder.bindObject(dataBind, bindValue); if (i > 0 || idValue != null) { bindLog.append(","); } bindLog.append(bindValue); } } if (havingNamedParams != null) { // bind named parameters in having... bindLog.append(" havingNamed "); binder.bind(havingNamedParams.list(), dataBind, bindLog); } if (havingExprBindValues != null) { // bind having expression... bindLog.append(" having "); for (int i = 0; i < havingExprBindValues.size(); i++) { Object bindValue = havingExprBindValues.get(i); binder.bindObject(dataBind, bindValue); if (i > 0) { bindLog.append(","); } bindLog.append(bindValue); } } return bindLog.toString(); }
public String bind(DataBind dataBind) throws SQLException { StringBuilder bindLog = new StringBuilder(); if (query.isVersionsBetween() && binder.isBindAsOfWithFromClause()) { // sql2011 based versions between timestamp syntax Timestamp start = query.getVersionStart(); Timestamp end = query.getVersionEnd(); bindLog.append("between ").append(start).append(" and ").append(end); binder.bindObject(dataBind, start); binder.bindObject(dataBind, end); bindLog.append(", "); } List<String> historyTableAlias = query.getAsOfTableAlias(); if (historyTableAlias != null && binder.isBindAsOfWithFromClause()) { // bind the asOf value for each table alias as part of the from/join clauses // there is one effective date predicate per table alias Timestamp asOf = query.getAsOf(); bindLog.append("asOf ").append(asOf); for (int i = 0; i < historyTableAlias.size() * binder.getAsOfBindCount(); i++) { binder.bindObject(dataBind, asOf); } bindLog.append(", "); } if (idValue != null) { // this is a find by id type query... request.getBeanDescriptor().bindId(dataBind, idValue); bindLog.append(idValue); } if (bindParams != null) { // bind named and positioned parameters... binder.bind(bindParams, dataBind, bindLog); } if (whereExprBindValues != null) { for (int i = 0; i < whereExprBindValues.size(); i++) { Object bindValue = whereExprBindValues.get(i); bindValue = binder.bindObject(dataBind, bindValue); if (i > 0 || idValue != null) { bindLog.append(","); } bindLog.append(bindValue); } } if (filterManyExprBindValues != null) { for (int i = 0; i < filterManyExprBindValues.size(); i++) { Object bindValue = filterManyExprBindValues.get(i); bindValue = binder.bindObject(dataBind, bindValue); if (i > 0 || idValue != null) { bindLog.append(","); } bindLog.append(bindValue); } } if (historyTableAlias != null && !binder.isBindAsOfWithFromClause()) { // bind the asOf value for each table alias after all the normal predicates // there is one effective date predicate per table alias Timestamp asOf = query.getAsOf(); bindLog.append(" asOf ").append(asOf); for (int i = 0; i < historyTableAlias.size() * binder.getAsOfBindCount(); i++) { binder.bindObject(dataBind, asOf); } } if (havingNamedParams != null) { // bind named parameters in having... bindLog.append(" havingNamed "); binder.bind(havingNamedParams.list(), dataBind, bindLog); } if (havingExprBindValues != null) { // bind having expression... bindLog.append(" having "); for (int i = 0; i < havingExprBindValues.size(); i++) { Object bindValue = havingExprBindValues.get(i); bindValue = binder.bindObject(dataBind, bindValue); if (i > 0) { bindLog.append(","); } bindLog.append(bindValue); } } return bindLog.toString(); }