/** * Creates a new {@link N1qlQuery} for the given class, this method build a query like: * * <pre> * select b.* from bucket b where b._class = 'model.Beer' * </pre> * * @param bucket Bucket name. * @param entityClass Entity class. * @return A query. */ public static GroupByPath from(final String bucket, final Class<?> entityClass) { String alias = String.valueOf(entityClass.getSimpleName().charAt(0)); return Select.select(alias + ".*") .from(i(bucket) + " " + alias) .where(path(alias, CLASS).eq(s(entityClass.getName()))); }
@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(); } }
@Override public KeysPath useHash(HashSide side) { element(new HashJoinHintElement(side)); return new DefaultKeysPath(this); }
return asPath.where(exp.and(x(CouchbaseConstants.KUNDERA_ENTITY).eq(x("'" + tableName) + "'")));
@Override public NestPath innerNest(String from) { element(new NestElement(JoinType.INNER, from)); return new DefaultNestPath(this); }
@Override public MergeUpdatePath onKey(final Expression expression) { element(new Element() { @Override public String export() { return "ON KEY " + expression.toString(); } }); return new DefaultMergeUpdatePath(this); }
@Override public MergeUpdateSetOrUnsetPath whenMatchedThenUpdate() { element(new Element() { @Override public String export() { return "WHEN MATCHED THEN UPDATE"; } }); return new DefaultMergeUpdateSetOrUnsetPath(this); } }
@Override public MergeKeyClausePath using(final Expression source) { element(new Element() { @Override public String export() { return "USING " + source.toString(); } }); return new DefaultMergeKeyClausePath(this); }
@Override public LetPath on(final Expression expression) { element(new Element() { @Override public String export() { return "ON " + expression.toString(); } }); return new DefaultLetPath(this); } }
@Override public SelectPath unionAll() { element(new UnionElement(true)); return new DefaultSelectPath(this); }
@Override public MergeDeleteWherePath whenMatchedThenDelete() { element(new MergeDeleteElement()); return new DefaultMergeDeleteWherePath(this); } }
@Override public SelectResultPath having(Expression condition) { element(new HavingElement(condition)); return new DefaultSelectResultPath(this); }
@Override public OffsetPath limit(int limit) { element(new LimitElement(limit)); return new DefaultOffsetPath(this); }
@Override public WherePath let(Alias... aliases) { element(new LetElement(aliases)); return new DefaultWherePath(this); }
@Override public ReturningPath select(Expression key, Expression value, Statement select) { element(new InsertSelectElement(key, value, select)); return new DefaultReturningPath(this); }
@Override public MutateWherePath useKeys(Expression expression) { element(new KeysElement(KeysElement.ClauseType.USE_KEYSPACE, expression)); return new DefaultMutateWherePath(this); }
@Override public NestPath leftNest(String from) { element(new NestElement(JoinType.LEFT, from)); return new DefaultNestPath(this); }
@Override public MergeUpdatePath onPrimaryKey(final Expression expression) { element(new Element() { @Override public String export() { return "ON PRIMARY KEY " + expression.toString(); } }); return new DefaultMergeUpdatePath(this); }
@Override public NestPath leftOuterNest(String from) { element(new NestElement(JoinType.LEFT_OUTER, from)); return new DefaultNestPath(this); }