本文整理了Java中org.jooq.Table.as()
方法的一些代码示例,展示了Table.as()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Table.as()
方法的具体详情如下:
包路径:org.jooq.Table
类名称:Table
方法名:as
[英]Create an alias for this table.
Note that the case-sensitivity of the returned table depends on Settings#getRenderNameStyle(). By default, table aliases are quoted, and thus case-sensitive!
[中]为此表创建别名。
请注意,返回表的大小写敏感度取决于设置#getRenderNameStyle()。默认情况下,会引用表别名,因此区分大小写!
代码示例来源:origin: palantir/atlasdb
@Override
public void delete(final TableReference tableRef, final Multimap<Cell, Long> keys) {
if (keys.isEmpty()) {
return;
}
for (List<Entry<Cell, Long>> partition : Iterables.partition(keys.entries(), batchSizeForMutations)) {
run((Function<DSLContext, Void>) ctx -> {
Collection<Row3<byte[], byte[], Long>> rows = Lists.newArrayListWithCapacity(partition.size());
for (Entry<Cell, Long> entry : partition) {
rows.add(row(entry.getKey().getRowName(), entry.getKey().getColumnName(), entry.getValue()));
}
ctx.deleteFrom(atlasTable(tableRef).as(ATLAS_TABLE))
.where(row(A_ROW_NAME, A_COL_NAME, A_TIMESTAMP).in(rows))
.execute();
return null;
});
}
}
代码示例来源:origin: palantir/atlasdb
private Select<? extends Record> getAllTimestampsQueryAllColumns(DSLContext ctx,
TableReference tableRef,
Select<Record1<byte[]>> subQuery,
long timestamp) {
return ctx.select(A_ROW_NAME, A_COL_NAME, A_TIMESTAMP)
.from(atlasTable(tableRef).as(ATLAS_TABLE))
.where(A_ROW_NAME.in(subQuery)
.and(A_TIMESTAMP.lessThan(timestamp)));
}
代码示例来源:origin: palantir/atlasdb
@Override
public Multimap<Cell, Long> getAllTimestamps(final TableReference tableRef,
final Set<Cell> cells,
final long timestamp) throws InsufficientConsistencyException {
if (cells.isEmpty()) {
return ImmutableMultimap.of();
}
Multimap<Cell, Long> toReturn = ArrayListMultimap.create();
for (List<Cell> partition : Iterables.partition(cells, batchSizeForReads)) {
toReturn.putAll(run(ctx -> {
Result<? extends Record> records = ctx
.select(A_ROW_NAME, A_COL_NAME, A_TIMESTAMP)
.from(atlasTable(tableRef).as(ATLAS_TABLE))
.join(values(ctx, toRows(Sets.newHashSet(partition)), TEMP_TABLE_1, ROW_NAME, COL_NAME))
.on(A_ROW_NAME.eq(T1_ROW_NAME)
.and(A_COL_NAME.eq(T1_COL_NAME)))
.where(A_TIMESTAMP.lessThan(timestamp))
.fetch();
Multimap<Cell, Long> results = ArrayListMultimap.create(records.size() / 4, 4);
for (Record record : records) {
results.put(
Cell.create(record.getValue(A_ROW_NAME), record.getValue(A_COL_NAME)),
record.getValue(A_TIMESTAMP));
}
return results;
}));
}
return toReturn;
}
代码示例来源:origin: palantir/atlasdb
private Select<? extends Record> getAllTimestampsQuerySomeColumns(DSLContext ctx,
TableReference tableRef,
Select<Record1<byte[]>> subQuery,
Collection<byte[]> cols,
long timestamp) {
return ctx.select(A_ROW_NAME, A_COL_NAME, A_TIMESTAMP)
.from(atlasTable(tableRef).as(ATLAS_TABLE))
.where(A_ROW_NAME.in(subQuery)
.and(A_COL_NAME.in(cols)))
.and(A_TIMESTAMP.lessThan(timestamp));
}
代码示例来源:origin: palantir/atlasdb
private Select<? extends Record> getLatestTimestampQueryAllColumnsSubQuery(DSLContext ctx,
TableReference tableRef,
Select<Record1<byte[]>> subQuery,
long timestamp) {
return ctx.select(A_ROW_NAME, A_COL_NAME, DSL.max(A_TIMESTAMP).as(MAX_TIMESTAMP))
.from(atlasTable(tableRef).as(ATLAS_TABLE))
.where(A_ROW_NAME.in(subQuery)
.and(A_TIMESTAMP.lessThan(timestamp)))
.groupBy(A_ROW_NAME, A_COL_NAME);
}
代码示例来源:origin: palantir/atlasdb
private Select<? extends Record> getLatestTimestampQueryAllColumns(DSLContext ctx,
TableReference tableRef,
Collection<byte[]> rows,
long timestamp) {
return ctx.select(A_ROW_NAME, A_COL_NAME, DSL.max(A_TIMESTAMP).as(MAX_TIMESTAMP))
.from(atlasTable(tableRef).as(ATLAS_TABLE))
.where(A_ROW_NAME.in(rows)
.and(A_TIMESTAMP.lessThan(timestamp)))
.groupBy(A_ROW_NAME, A_COL_NAME);
}
代码示例来源:origin: palantir/atlasdb
TableLike<?> values(DSLContext ctx, RowN[] rows, String tableName, String... fieldNames) {
switch (sqlDialect.family()) {
case H2:
List<SelectField<?>> fields = Lists.newArrayListWithCapacity(fieldNames.length);
for (int i = 1; i <= fieldNames.length; i++) {
fields.add(DSL.field("C" + i).as(fieldNames[i-1]));
}
RenderContext context = ctx.renderContext();
context.start(TABLE_VALUES)
.keyword("values")
.formatIndentLockStart();
boolean firstRow = true;
for (Row row : rows) {
if (!firstRow) {
context.sql(',').formatSeparator();
}
context.sql(row.toString());
firstRow = false;
}
context.formatIndentLockEnd()
.end(TABLE_VALUES);
String valuesClause = context.render();
return ctx.select(fields).from(valuesClause).asTable(tableName);
default:
return DSL.values(rows).as(tableName, fieldNames);
}
}
代码示例来源:origin: palantir/atlasdb
private Result<? extends Record> fetchValues(DSLContext ctx,
TableReference tableRef,
Select<? extends Record> subQuery) {
return ctx.select(A_ROW_NAME, A_COL_NAME, A_TIMESTAMP, A_VALUE)
.from(atlasTable(tableRef).as(ATLAS_TABLE))
.join(subQuery.asTable(TEMP_TABLE_2))
.on(A_ROW_NAME.eq(T2_ROW_NAME)
.and(A_COL_NAME.eq(T2_COL_NAME))
.and(A_TIMESTAMP.eq(T2_MAX_TIMESTAMP)))
.fetch();
}
代码示例来源:origin: palantir/atlasdb
private Select<? extends Record> getLatestTimestampQuerySomeColumns(DSLContext ctx,
TableReference tableRef,
Collection<byte[]> rows,
Collection<byte[]> cols,
long timestamp) {
return ctx.select(A_ROW_NAME, A_COL_NAME, DSL.max(A_TIMESTAMP).as(MAX_TIMESTAMP))
.from(atlasTable(tableRef).as(ATLAS_TABLE))
.where(A_ROW_NAME.in(rows)
.and(A_COL_NAME.in(cols)))
.and(A_TIMESTAMP.lessThan(timestamp))
.groupBy(A_ROW_NAME, A_COL_NAME);
}
代码示例来源:origin: palantir/atlasdb
private Select<? extends Record> getLatestTimestampQuerySomeColumnsSubQuery(DSLContext ctx,
TableReference tableRef,
Select<Record1<byte[]>> subQuery,
Collection<byte[]> cols,
long timestamp) {
return ctx.select(A_ROW_NAME, A_COL_NAME, DSL.max(A_TIMESTAMP).as(MAX_TIMESTAMP))
.from(atlasTable(tableRef).as(ATLAS_TABLE))
.where(A_ROW_NAME.in(subQuery)
.and(A_COL_NAME.in(cols)))
.and(A_TIMESTAMP.lessThan(timestamp))
.groupBy(A_ROW_NAME, A_COL_NAME);
}
代码示例来源:origin: palantir/atlasdb
private Select<? extends Record> getLatestTimestampQueryManyTimestamps(DSLContext ctx,
TableReference tableRef,
RowN[] rows) {
return ctx.select(A_ROW_NAME, A_COL_NAME, DSL.max(A_TIMESTAMP).as(MAX_TIMESTAMP))
.from(atlasTable(tableRef).as(ATLAS_TABLE))
.join(values(ctx, rows, TEMP_TABLE_1, ROW_NAME, COL_NAME, TIMESTAMP))
.on(A_ROW_NAME.eq(T1_ROW_NAME)
.and(A_COL_NAME.eq(T1_COL_NAME)))
.where(A_TIMESTAMP.lessThan(T1_TIMESTAMP))
.groupBy(A_ROW_NAME, A_COL_NAME);
}
代码示例来源:origin: com.ning.billing/killbill-osgi-bundles-analytics
@Override
public final Table<Record> as(String alias) {
if (force) {
return FORCED_DUAL.as(alias);
}
else {
return new TableAlias<Record>(this, alias);
}
}
代码示例来源:origin: org.jooq/jooq
@Override
public final Table<Record> as(Name alias) {
if (force) {
return FORCED_DUAL.as(alias);
}
else {
return new TableAlias<Record>(this, alias);
}
}
代码示例来源:origin: org.jooq/jooq
@Override
public final Table<Record> as(Name alias, Name... fieldAliases) {
if (force) {
return FORCED_DUAL.as(alias, fieldAliases);
}
else {
return new TableAlias<Record>(this, alias, fieldAliases);
}
}
代码示例来源:origin: com.ning.billing/killbill-osgi-bundles-analytics
@Override
public final Table<Record> as(String alias, String... fieldAliases) {
if (force) {
return FORCED_DUAL.as(alias, fieldAliases);
}
else {
return new TableAlias<Record>(this, alias, fieldAliases);
}
}
代码示例来源:origin: com.torodb.torod.backends/postgresql
@Nonnull
@Override
public Table arrayElements(Field<?> iteratorVariable, Field<?> field) {
return DSL.table("jsonb_array_elements(" + field.toString() + ")").as(iteratorVariable.toString());
}
代码示例来源:origin: palantir/atlasdb
private SelectOffsetStep<Record1<byte[]>> getRangeQuery(DSLContext ctx,
TableReference tableRef,
RangeRequest rangeRequest,
long timestamp,
int maxRows) {
boolean reverse = rangeRequest.isReverse();
byte[] start = rangeRequest.getStartInclusive();
byte[] end = rangeRequest.getEndExclusive();
Condition cond = R_TIMESTAMP.lessThan(timestamp);
if (start.length > 0) {
cond = cond.and(reverse ? R_ROW_NAME.lessOrEqual(start) : R_ROW_NAME.greaterOrEqual(start));
}
if (end.length > 0) {
cond = cond.and(reverse ? R_ROW_NAME.greaterThan(end) : R_ROW_NAME.lessThan(end));
}
return ctx.selectDistinct(R_ROW_NAME)
.from(atlasTable(tableRef).as(RANGE_TABLE))
.where(cond)
.orderBy(reverse ? R_ROW_NAME.desc() : R_ROW_NAME.asc())
.limit(maxRows);
}
代码示例来源:origin: palantir/atlasdb
.from(values(ctx, rows, TEMP_TABLE_1, ROW_NAME, COL_NAME, TIMESTAMP, VALUE))
.whereNotExists(ctx.selectOne()
.from(atlasTable(tableRef).as(ATLAS_TABLE))
.where(A_ROW_NAME.eq(T1_ROW_NAME)
.and(A_COL_NAME.eq(T1_COL_NAME))
代码示例来源:origin: palantir/atlasdb
private void putBatch(DSLContext ctx, TableReference tableRef, PutBatch batch, boolean allowReinserts) {
InsertValuesStep4<Record, byte[], byte[], Long, byte[]> query =
ctx.insertInto(table(tableName(tableRef)),
field(ROW_NAME, byte[].class),
field(COL_NAME, byte[].class),
field(TIMESTAMP, Long.class),
field(VALUE, byte[].class));
query = batch.addValuesForInsert(query);
try {
query.execute();
} catch (DataAccessException e) {
if (allowReinserts) {
Result<? extends Record> records = ctx
.select(A_ROW_NAME, A_COL_NAME, A_TIMESTAMP, A_VALUE)
.from(atlasTable(tableRef).as(ATLAS_TABLE))
.where(row(A_ROW_NAME, A_COL_NAME, A_TIMESTAMP).in(batch.getRowsForSelect()))
.fetch();
if (records.isEmpty()) {
throw e;
}
PutBatch nextBatch = batch.getNextBatch(records);
if (nextBatch != null) {
putBatch(ctx, tableRef, nextBatch, allowReinserts);
return;
}
}
throw new KeyAlreadyExistsException("Conflict on table " + tableRef, e);
}
}
代码示例来源:origin: infiniteautomation/ma-core-public
@Override
public <R extends Record> SelectJoinStep<R> joinTables(SelectJoinStep<R> select, ConditionSortLimit conditions) {
if (conditions instanceof ConditionSortLimitWithTagKeys) {
Map<String, Name> tagKeyToColumn = ((ConditionSortLimitWithTagKeys) conditions).getTagKeyToColumn();
if (!tagKeyToColumn.isEmpty()) {
Table<Record> pivotTable = DataPointTagsDao.getInstance().createTagPivotSql(tagKeyToColumn).asTable().as(DATA_POINT_TAGS_PIVOT_ALIAS);
return select.leftJoin(pivotTable)
.on(DataPointTagsDao.PIVOT_ALIAS_DATA_POINT_ID.eq(ID));
}
}
return select;
}
内容来源于网络,如有侵权,请联系作者删除!