/** * construct cache key for the parameterized query * * @param query the query string * @param params the params Map<String, Object> * @return cache key for the parameterized query */ public long getResultsKey(String query, Map<String, Object> params) { int highKey = getQueryKey(query); int lowKey = getParamsKey(params); long result = (((long) highKey) << 32) | (lowKey & 0xffffffffL); return result; }
@Override public void run() { fetchResults(iter, props, cursor); cursor.finish(); } });
@Override public void setQueryManagement(QueryManagement queryMgr) { super.setQueryManagement(queryMgr); ((QueryManagementImpl) queryMgr).setRepository(this); }
@Override public void setTxManagement(TransactionManagement txMgr) { super.setTxManagement(txMgr); ((TransactionManagementImpl) txMgr).initialize(this); }
private <T> void fetchResults(Iterator<T> results, Properties props, ResultCursorBase<T> cursor) { int fetchSize = Integer.parseInt(props.getProperty(pn_client_fetchSize, "0")); if (fetchSize > 0) { int cnt = 0; while (results.hasNext() && cnt < fetchSize) { cursor.add(results.next()); cnt++; } } else { while (results.hasNext()) { cursor.add(results.next()); } } }
private <T> ResultCursor<T> createCursor(final Iterator<T> iter, final Properties props) { final ResultCursorBase<T> cursor = getResultCursor(props); if (cursor.isAsynch()) { execPool.execute(new Runnable() { @Override public void run() { fetchResults(iter, props, cursor); cursor.finish(); } }); } else { fetchResults(iter, props, cursor); } return cursor; }
@Override public void setDocumentManagement(DocumentManagement docMgr) { super.setDocumentManagement(docMgr); ((DocumentManagementImpl) docMgr).initialize(this); }
@Override public void setAccessManagement(AccessManagement accessMgr) { super.setAccessManagement(accessMgr); ((AccessManagementImpl) accessMgr).setRepository(this); }
protected void checkPermission(Permission.Value perm) throws BagriException { //repo.getXQProcessor(clientId); ((SchemaRepositoryBase) repo).setClientId(clientId); repo.getAccessManagement().checkPermission(clientId, perm); }
@Override public void setQueryManagement(QueryManagement queryMgr) { super.setQueryManagement(queryMgr); ((QueryManagementImpl) queryMgr).initialize(this); }
@Override public void setTxManagement(TransactionManagement txMgr) { super.setTxManagement(txMgr); ((TransactionManagementImpl) txMgr).setRepository(this); }
@Override public void run() { fetchAndCacheResults(ctx, query, params, iter, props, cursor, returnUris); cursor.finish(); } });
private <T> List<Object> collectResults(Iterator<T> results, ResultCursorBase<T> cursor, int fetchSize) { List<Object> resList = new ArrayList<>(fetchSize); int cnt = 0; while (results.hasNext() && cnt < fetchSize) { T o = results.next(); resList.add(o); cursor.add(o); cnt++; } return resList; }
private <T> ResultCursor<T> createCachedCursor(final String query, final Map<String, Object> params, final Properties props, final Iterator<T> iter, final boolean returnUris) { final QueryExecContext ctx = thContext.get(); final ResultCursorBase<T> cursor = getResultCursor(props); if (cursor.isAsynch()) { execPool.execute(new Runnable() { @Override public void run() { fetchAndCacheResults(ctx, query, params, iter, props, cursor, returnUris); cursor.finish(); } }); } else { fetchAndCacheResults(ctx, query, params, iter, props, cursor, returnUris); } return cursor; }
@Override public void run() { try { iterateDocuments((Map<String, Object>) documents, props, cln); } catch (BagriException ex) { throw new Error(ex); } cln.finish(); } });
private <T> List<Object> collectResults(Iterator<T> results, ResultCursorBase<T> cursor) { List<Object> resList = new ArrayList<>(); while (results.hasNext()) { T o = results.next(); resList.add(o); cursor.add(o); } return resList; }
@Override public void run() { try { fetchDocuments(pattern, props, cln); } catch (BagriException ex) { throw new RuntimeException(ex); } cln.finish(); } });
private <T> List<Object> collectResults(Iterator<T> results, Iterator<String> uris, ResultCursorBase<T> cursor) { List<Object> resList = new ArrayList<>(); while (results.hasNext()) { T o = results.next(); resList.add(o); cursor.add((T) uris.next()); } return resList; }
@Override public void run() { try { deleteDocuments(pattern, props, cln); } catch (BagriException ex) { throw new Error(ex); } cln.finish(); } });
private <T> List<Object> collectResults(Iterator<T> results, Iterator<String> uris, ResultCursorBase<T> cursor, int fetchSize) { List<Object> resList = new ArrayList<>(fetchSize); int cnt = 0; while (results.hasNext() && cnt < fetchSize) { T o = results.next(); resList.add(o); cursor.add((T) uris.next()); cnt++; } return resList; }