stmt.execute(sqlCmd.toString());
try { stmt.execute(sqlCmd.toString()); } catch (SQLException ex) { System.out.println(sqlCmd.toString()); throw ex; }
    private void writeAttrChangeLogs(Connection conn, int txNumber) throws SQLException {	if (attrChangeLogs != null) {	    // allocate a large capacity StringBuilder to avoid reallocation	    int bufferCapacity = Math.min(MIN_BUFFER_CAPACITY + (attrChangeLogs.size() * PER_RECORD_LENGTH), 					  MAX_BUFFER_CAPACITY);	    StringBuilder sqlCmd = new StringBuilder(bufferCapacity);	    sqlCmd.append(SQL_CHANGE_LOGS_CMD_PREFIX);	    Statement stmt = conn.createStatement();	    boolean addedRecord = false;	    for (AttrChangeLog log : attrChangeLogs) {		if (addedRecord) {		    sqlCmd.append(",");		}		sqlCmd.append("('");		sqlCmd.append(log.obj.getClass().getName());		sqlCmd.append("',");		sqlCmd.append(log.obj.getIdInternal());		sqlCmd.append(",'");		sqlCmd.append(log.attr);		sqlCmd.append("',");		sqlCmd.append(txNumber);		sqlCmd.append(")");		addedRecord = true;		if ((bufferCapacity - sqlCmd.length()) < BUFFER_THRESHOLD) {		    stmt.execute(sqlCmd.toString());		    sqlCmd.setLength(0);		    sqlCmd.append(SQL_CHANGE_LOGS_CMD_PREFIX);		    addedRecord = false;		}	    }	    if (addedRecord) {		stmt.execute(sqlCmd.toString());	    }	}    }