org.jooq.Table.as()方法的使用及代码示例

x33g5p2x  于2022-01-30 转载在 其他  
字(9.9k)|赞(0)|评价(0)|浏览(128)

本文整理了Java中org.jooq.Table.as()方法的一些代码示例,展示了Table.as()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Table.as()方法的具体详情如下:
包路径:org.jooq.Table
类名称:Table
方法名:as

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;
}

相关文章