@Override public long removeByPattern(String regex) throws IOException { Statement statement = Delete.deleteFromCurrentBucket().where(regexpContains("meta().id", regex)); final N1qlQueryResult result = bucket.query(N1qlQuery.simple(statement)); if (logger.isDebugEnabled()) { logger.debug("Deleted documents using regex {}, result={}", regex, result); } return result.info().mutationCount(); } }
public static DeleteUsePath deleteFrom(String bucket) { return deleteFrom(i(bucket)); }
public static DeleteUsePath deleteFromCurrentBucket() { return deleteFrom(x(CouchbaseAsyncBucket.CURRENT_BUCKET_IDENTIFIER)); }
static QueryConverterResult delete(DocumentDeleteQuery query, String bucket) { JsonObject params = JsonObject.create(); List<String> ids = new ArrayList<>(); Expression condition = getCondition(query.getCondition() .orElseThrow(() -> new IllegalArgumentException("Condigtion is required")), params, ids, query.getDocumentCollection()); MutateLimitPath statement = null; if (nonNull(condition)) { statement = Delete.deleteFrom(bucket).where(condition); } return new QueryConverterResult(params, statement, ids); }
public static N1qlSpelValues createN1qlSpelValues(String bucketName, String typeField, Class<?> typeValue, boolean isCount) { String b = "`" + bucketName + "`"; String entity = "META(" + b + ").id AS " + SELECT_ID + ", META(" + b + ").cas AS " + SELECT_CAS; String count = "COUNT(*) AS " + CountFragment.COUNT_ALIAS; String selectEntity; if (isCount) { selectEntity = "SELECT " + count + " FROM " + b; } else { selectEntity = "SELECT " + entity + ", " + b + ".* FROM " + b; } String typeSelection = "`" + typeField + "` = \"" + typeValue.getName() + "\""; String delete = deleteFrom(i(bucketName)).toString(); String returning = " returning " + N1qlUtils.createReturningExpressionForDelete(bucketName).toString(); return new N1qlSpelValues(selectEntity, entity, b, typeSelection, delete, returning); }
public static N1qlSpelValues createN1qlSpelValues(String bucketName, String typeField, Class<?> typeValue, boolean isCount) { String b = "`" + bucketName + "`"; String entity = "META(" + b + ").id AS " + SELECT_ID + ", META(" + b + ").cas AS " + SELECT_CAS; String count = "COUNT(*) AS " + CountFragment.COUNT_ALIAS; String selectEntity; if (isCount) { selectEntity = "SELECT " + count + " FROM " + b; } else { selectEntity = "SELECT " + entity + ", " + b + ".* FROM " + b; } String typeSelection = "`" + typeField + "` = \"" + typeValue.getName() + "\""; String delete = deleteFrom(i(bucketName)).toString(); String returning = " returning " + N1qlUtils.createReturningExpressionForDelete(bucketName).toString(); return new N1qlSpelValues(selectEntity, entity, b, typeSelection, delete, returning); }
DeleteUsePath deleteUsePath = deleteFrom(bucket); N1qlMutateQueryCreator mutateQueryCreator = new N1qlMutateQueryCreator(partTree, accessor, deleteUsePath, getCouchbaseOperations().getConverter(), getQueryMethod()); MutateLimitPath mutateFromWhereOrderBy = mutateQueryCreator.createQuery();
DeleteUsePath deleteUsePath = deleteFrom(bucket); N1qlMutateQueryCreator mutateQueryCreator = new N1qlMutateQueryCreator(partTree, accessor, deleteUsePath, getCouchbaseOperations().getConverter(), getQueryMethod()); MutateLimitPath mutateFromWhereOrderBy = mutateQueryCreator.createQuery();