org.jooq.Field类的使用及代码示例

x33g5p2x  于2022-01-19 转载在 其他  
字(12.3k)|赞(0)|评价(0)|浏览(178)

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

Field介绍

[英]A field used in tables and conditions

Note that all fields qualify as GroupField, i.e. they can always be used in GROUP BY clauses
[中]表和条件中使用的字段
请注意,所有字段都限定为GroupField,即它们始终可以在GROUP BY子句中使用

代码示例

代码示例来源:origin: palantir/atlasdb

public static JdbcTimestampBoundStore create(final JdbcKeyValueService kvs) {
  final JdbcTimestampBoundStore store = new JdbcTimestampBoundStore(kvs);
  kvs.run((Function<DSLContext, Void>) ctx -> {
    String partialSql = ctx.createTable(store.TABLE)
        .column(DUMMY_COLUMN, INTEGER.nullable(false))
        .column(LATEST_TIMESTAMP, BIGINT.nullable(false))
        .getSQL();
    int endIndex = partialSql.lastIndexOf(')');
    String fullSql = partialSql.substring(0, endIndex) + "," +
        " CONSTRAINT " + kvs.primaryKey(TIMESTAMP_TABLE) +
        " PRIMARY KEY (" + DUMMY_COLUMN.getName() + ")" +
        partialSql.substring(endIndex);
    try {
      ctx.execute(fullSql);
    } catch (DataAccessException e) {
      kvs.handleTableCreationException(e);
    }
    ctx.insertInto(store.TABLE, DUMMY_COLUMN, LATEST_TIMESTAMP)
      .select(ctx.select(DUMMY_COLUMN, LATEST_TIMESTAMP)
          .from(kvs.values(ctx, new RowN[] {(RowN) DSL.row(0, 10000L)}, "t", DUMMY_COLUMN.getName(), LATEST_TIMESTAMP.getName()))
          .whereNotExists(ctx.selectOne()
              .from(store.TABLE)
              .where(DUMMY_COLUMN.eq(0))))
      .execute();
    return null;
  });
  return store;
}

代码示例来源: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: my2iu/Jinq

result = leftField.eq(rightField);
 break;
case ge:
 result = leftField.ge(rightField);
 break;
case gt:
 result = leftField.gt(rightField);
 break;
case le:
 result = leftField.le(rightField);
 break;
case lt:
 result = leftField.lt(rightField);
 break;
case ne:
 result = leftField.ne(rightField);
 break;
default:

代码示例来源: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> 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: palantir/atlasdb

int i = 0;
for (Cell cell : partCells) {
  rows[i++] = row(new Object[] {cell.getRowName(), cell.getColumnName(), timestamp, value});
  ctx.insertInto(table(tableName(tableRef)),
      field(ROW_NAME, byte[].class),
      field(COL_NAME, byte[].class),
      field(TIMESTAMP, Long.class),
      field(VALUE, byte[].class))
      .select(ctx.select(T1_ROW_NAME, T1_COL_NAME, T1_TIMESTAMP, T1_VALUE)
          .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))
                  .and(A_TIMESTAMP.eq(T1_TIMESTAMP)))))
      .execute();
  return null;

代码示例来源:origin: RankSys/RankSys

@Override
public boolean containsItem(String i) {
  return dsl
      .select()
      .from(ITEMS)
      .where(ITEM_ID.eq(i))
      .fetch().isNotEmpty();
}

代码示例来源:origin: palantir/atlasdb

private long getLatestTimestamp(DSLContext ctx) {
    return ctx.select(LATEST_TIMESTAMP)
        .from(TABLE)
        .where(DUMMY_COLUMN.eq(0))
        .fetchOne(LATEST_TIMESTAMP);
  }
}

代码示例来源:origin: org.kill-bill.billing.plugin.java/killbill-base-plugin

@Override
  public List<PM_R> withConnection(final Connection conn) throws SQLException {
    return DSL.using(conn, dialect, settings)
         .selectFrom(paymentMethodsTable)
         .where(DSL.field(KB_ACCOUNT_ID).equal(kbAccountId.toString()))
         .and(DSL.field(IS_DELETED).equal(FALSE))
         .and(DSL.field(KB_TENANT_ID).equal(kbTenantId.toString()))
         .orderBy(DSL.field(recordIdFieldName).asc())
         .fetch();
  }
});

代码示例来源:origin: perfectsense/dari

/**
 * Returns an SQL statement that can be used to get when the rows
 * matching the query were last updated.
 */
public String lastUpdateStatement() {
  Table<?> table = initialize(DSL.table(DSL.name(database.recordUpdateTable.getName())).as(recordTableAlias));
  return tableRenderContext.render(dslContext
      .select(DSL.field(DSL.name(recordTableAlias, database.recordUpdateDateField.getName())).max())
      .from(table)
      .where(whereCondition));
}

代码示例来源:origin: rancher/cattle

Field<Date> removeField = table.removeField;
ResultQuery<Record1<Long>> idsToDeleteQuery = create()
    .select(idField)
    .from(table.table)
    .where(removeField.lt(cutoffTime)
    .and(idField.gt(DSL.param(ID_GREATER_THAN_PARAM, 0L))))
    .orderBy(idField)
    .limit(QUERY_LIMIT_ROWS.getValue());
Param<?> idGreaterThanParam = idsToDeleteQuery.getParam(ID_GREATER_THAN_PARAM);
  Table<?> referencingTable = key.getTable();
  Field<Long> foreignKeyField = (Field<Long>) key.getFields().get(0);
  idsReferencedQuery = create().selectDistinct(foreignKeyField).from(referencingTable);
  for(Record1<Long> record : idsReferencedQuery.fetch()) {
    idsReferencedInOtherTables.add(record.value1());
    try {
      int rowsDeleted = create()
          .delete(table.table)
          .where(idField.in(idsToDelete))
          .execute();
      table.addRowsDeleted(rowsDeleted);

代码示例来源: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: orientechnologies/spring-data-orientdb

protected Condition toCondition(Part part, Iterator<Object> iterator) {
  String property = part.getProperty().toDotPath();
  Field<Object> field = field(property);
  
  switch (part.getType()) {
    case AFTER: 
    case GREATER_THAN: return field.gt(iterator.next());
    case GREATER_THAN_EQUAL: return field.ge(iterator.next());
    case BEFORE:
    case LESS_THAN: return field.lt(iterator.next());
    case LESS_THAN_EQUAL: return field.le(iterator.next());
    case BETWEEN: return field.between(iterator.next(), iterator.next());
    case IS_NULL: return field.isNull();
    case IS_NOT_NULL: return field.isNotNull();
    case IN: return field.in(toList(iterator));
    case NOT_IN: return field.notIn(toList(iterator));
    case LIKE: return lowerIfIgnoreCase(part, field, iterator);
    case NOT_LIKE: return lowerIfIgnoreCase(part, field, iterator).not();
    case STARTING_WITH: return field.startsWith(iterator.next());
    case ENDING_WITH: return field.endsWith(iterator.next());
    case CONTAINING: return field.contains(iterator.next());
    case SIMPLE_PROPERTY: return field.eq(iterator.next());
    case NEGATING_SIMPLE_PROPERTY: return field.ne(iterator.next());
    case TRUE: return field.eq(true);
    case FALSE: return field.eq(false);
    default: throw new IllegalArgumentException("Unsupported keyword!");
  }
}

代码示例来源: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: com.walmartlabs.concord.server/concord-server

@WithTimer
  public int getDepth(UUID parentInstanceId) {
    return txResult(tx -> tx.withRecursive("ancestors").as(
        select(PROCESS_QUEUE.INSTANCE_ID, PROCESS_QUEUE.PARENT_INSTANCE_ID, field("1", Integer.class).as("depth"))
            .from(PROCESS_QUEUE)
            .where(PROCESS_QUEUE.INSTANCE_ID.eq(parentInstanceId))
            .unionAll(
                select(PROCESS_QUEUE.INSTANCE_ID, PROCESS_QUEUE.PARENT_INSTANCE_ID, field("1 + ancestors.depth", Integer.class).as("depth"))
                    .from(PROCESS_QUEUE)
                    .join(name("ancestors"))
                    .on(PROCESS_QUEUE.INSTANCE_ID.eq(
                        field(name("ancestors", "PARENT_INSTANCE_ID"), UUID.class)))))
        .select(max(field(name("ancestors", "depth"), Integer.class)))
        .from(name("ancestors"))
        .fetchOne(Record1::value1));
  }
}

代码示例来源: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: com.walmartlabs.concord.server/concord-server

public List<SecretEntry> list(UUID orgId, UUID currentUserId, Field<?> sortField, boolean asc) {
  SelectConditionStep<Record1<UUID>> teamIds = select(TEAMS.TEAM_ID)
      .from(TEAMS)
      .where(TEAMS.ORG_ID.eq(orgId));
  Condition filterByTeamMember = exists(selectOne().from(USER_TEAMS)
      .where(USER_TEAMS.USER_ID.eq(currentUserId)
          .and(USER_TEAMS.TEAM_ID.in(teamIds))));
  try (DSLContext tx = DSL.using(cfg)) {
    SelectJoinStep<Record12<UUID, String, UUID, String, UUID, String, UUID, String, String, String, String, String>> query = selectEntry(tx);
    if (currentUserId != null) {
      query.where(or(SECRETS.VISIBILITY.eq(SecretVisibility.PUBLIC.toString()), filterByTeamMember));
    }
    if (orgId != null) {
      query.where(SECRETS.ORG_ID.eq(orgId));
    }
    if (sortField != null) {
      query.orderBy(asc ? sortField.asc() : sortField.desc());
    }
    return query.fetch(SecretDao::toEntry);
  }
}

代码示例来源:origin: org.jooq/jooq

@SuppressWarnings("unchecked")
@Override
public /* non-final */ <Z> List<P> fetch(Field<Z> field, Z... values) {
  return using(configuration)
       .selectFrom(table)
       .where(field.in(values))
       .fetch()
       .map(mapper());
}

代码示例来源: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: org.jooq/jooq-meta

private Result<Record3<String, String, String>> fetchKeys(Condition condition) {
  return
  create().select(
        concat(DB_CLASS.CLASS_NAME, val("__"), DB_INDEX.INDEX_NAME).as("constraint_name"),
        DB_INDEX_KEY.KEY_ATTR_NAME,
        DB_CLASS.CLASS_NAME)
      .from(DB_INDEX)
      .join(DB_CLASS).on(DB_INDEX.CLASS_NAME.equal(DB_CLASS.CLASS_NAME))
      .join(DB_INDEX_KEY).on(
        DB_INDEX_KEY.INDEX_NAME.equal(DB_INDEX.INDEX_NAME).and(
        DB_INDEX_KEY.CLASS_NAME.equal(DB_INDEX.CLASS_NAME)))
      .where(condition)
      .orderBy(
        DB_INDEX.INDEX_NAME.asc())
      .fetch();
}

相关文章