protected Column getIdColumn() { return getDirectory().idColumn; }
protected List<Column> getReadColumns() { return readAllColumns ? getDirectory().readColumnsAll : getDirectory().readColumns; }
protected String getReadColumnsSQL() { return readAllColumns ? getDirectory().readColumnsAllSQL : getDirectory().readColumnsSQL; }
@Override public void close() { try { if (!sqlConnection.isClosed()) { sqlConnection.close(); } } catch (SQLException e) { throw new DirectoryException("close failed", e); } finally { getDirectory().removeSession(this); } }
private void acquireConnection() { try { if (sqlConnection == null || sqlConnection.isClosed()) { sqlConnection = getDirectory().getConnection(); } } catch (SQLException e) { throw new DirectoryException( "Cannot connect to SQL directory '" + directory.getName() + "': " + e.getMessage(), e); } }
protected void addFilterWhereClause(StringBuilder clause, List<ColumnAndValue> params) { if (staticFilters.length == 0) { return; } for (SQLStaticFilter filter : staticFilters) { if (clause.length() > 0) { clause.append(" AND "); } Column column = filter.getDirectoryColumn(table, getDirectory().useNativeCase()); clause.append(column.getQuotedName()); clause.append(" "); clause.append(filter.getOperator()); clause.append(" ?"); params.add(new ColumnAndValue(column, filter.getValue())); } }
protected String addFilterWhereClause(String whereClause) { if (staticFilters.length == 0) { return whereClause; } if (whereClause != null && whereClause.trim().length() > 0) { whereClause = whereClause + " AND "; } else { whereClause = ""; } for (int i = 0; i < staticFilters.length; i++) { SQLStaticFilter filter = staticFilters[i]; whereClause += filter.getDirectoryColumn(table, getDirectory().useNativeCase()).getQuotedName(); whereClause += " " + filter.getOperator() + " "; whereClause += "? "; if (i < staticFilters.length - 1) { whereClause = whereClause + " AND "; } } return whereClause; }
protected void addFilterValues(PreparedStatement ps, int startIdx) { for (int i = 0; i < staticFilters.length; i++) { SQLStaticFilter filter = staticFilters[i]; setFieldValue(ps, startIdx + i, filter.getDirectoryColumn(table, getDirectory().useNativeCase()), filter.getValue()); } }
throw new DirectoryException("deleteEntry failed", e); getDirectory().invalidateCaches();
for (String columnName : filterMap.keySet()) { if (getDirectory().isReference(columnName)) { log.warn(columnName + " is a reference and will be ignored" + " as a query criterion"); continue; int queryLimitSize = getDirectory().getDescriptor().getQuerySizeLimit(); boolean trucatedResults = false; if (queryLimitSize != 0 && (limit <= 0 || limit > queryLimitSize)) {
SQLQueryBuilder builder = new SQLQueryBuilder(getDirectory()); builder.visitMultiExpression(queryBuilder.predicate());
if (getDirectory().isReference(fieldName)) { referenceFieldList.add(fieldName); } else {
SQLQueryBuilder builder = new SQLQueryBuilder(getDirectory()); builder.visitMultiExpression(queryBuilder.predicate());