static TableOnConditionStep<?> maybeOnService(TableOnConditionStep<Record> table, ZipkinAnnotations aTable, String serviceName) { if (serviceName == null) return table; return table.and(aTable.ENDPOINT_SERVICE_NAME.eq(serviceName)); }
for (String key : request.annotations) { ZipkinAnnotations aTable = ZIPKIN_ANNOTATIONS.as("a" + i++); table = maybeOnService(table.join(aTable) .on(schema.joinCondition(aTable)) .and(aTable.A_KEY.eq(key)), aTable, request.serviceName); table = maybeOnService(table.join(aTable) .on(schema.joinCondition(aTable)) .and(aTable.A_TYPE.eq(STRING.value)) .and(aTable.A_KEY.eq(kv.getKey())) .and(aTable.A_VALUE.eq(kv.getValue().getBytes(UTF_8))), aTable, request.serviceName);
TableOnConditionStep<Record> joinPointPermissions(Table<Record> table, Field<Integer> dataPointIdField, User user) { Condition userHasPermission = DataPointDao.getInstance().userHasPermission(user); return table .join(DataPointDao.DATA_POINTS).on(dataPointIdField.eq(DataPointDao.ID)) .join(DataSourceDao.DATA_SOURCES).on(DSL.and(DataPointDao.DATA_SOURCE_ID.eq(DataSourceDao.ID), userHasPermission)); }
.on(ZIPKIN_SPANS.TRACE_ID.eq(ZIPKIN_ANNOTATIONS.TRACE_ID).and( ZIPKIN_SPANS.ID.eq(ZIPKIN_ANNOTATIONS.SPAN_ID))) .and(ZIPKIN_ANNOTATIONS.A_KEY.in(CLIENT_ADDR, SERVER_RECV, SERVER_ADDR))) .where(lookback == null ? ZIPKIN_SPANS.START_TS.lessOrEqual(endTs) :
.on(ZIPKIN_SPANS.TRACE_ID.eq(ZIPKIN_ANNOTATIONS.TRACE_ID).and( ZIPKIN_SPANS.ID.eq(ZIPKIN_ANNOTATIONS.SPAN_ID))) .and(ZIPKIN_ANNOTATIONS.A_KEY.in(CLIENT_ADDR, SERVER_RECV, SERVER_ADDR))) .where(lookback == null ? ZIPKIN_SPANS.START_TS.lessOrEqual(endTs) :
.on(ZIPKIN_SPANS.TRACE_ID.eq(ZIPKIN_ANNOTATIONS.TRACE_ID).and( ZIPKIN_SPANS.ID.eq(ZIPKIN_ANNOTATIONS.SPAN_ID))) .and(ZIPKIN_ANNOTATIONS.A_KEY.in(CLIENT_ADDR, SERVER_RECV, SERVER_ADDR))) .where(lookback == null ? ZIPKIN_SPANS.START_TS.lessOrEqual(endTs) :
.and(ZIPKIN_ANNOTATIONS.A_KEY.in(CLIENT_SEND, CLIENT_ADDR, SERVER_RECV, SERVER_ADDR, ERROR))) .where(lookback == null ? ZIPKIN_SPANS.START_TS.lessOrEqual(endTs) :
private Result<Record4<String, String, String, String>> fetchKeys(String constraintType) { return create() .select( KEY_COLUMN_USAGE.TABLE_SCHEMA, KEY_COLUMN_USAGE.CONSTRAINT_NAME, KEY_COLUMN_USAGE.TABLE_NAME, KEY_COLUMN_USAGE.COLUMN_NAME) .from(TABLE_CONSTRAINTS .join(KEY_COLUMN_USAGE) .on(TABLE_CONSTRAINTS.CONSTRAINT_SCHEMA.equal(KEY_COLUMN_USAGE.CONSTRAINT_SCHEMA)) .and(TABLE_CONSTRAINTS.CONSTRAINT_NAME.equal(KEY_COLUMN_USAGE.CONSTRAINT_NAME))) .where(TABLE_CONSTRAINTS.CONSTRAINT_TYPE.equal(constraintType)) .and(TABLE_CONSTRAINTS.TABLE_SCHEMA.in(getInputSchemata())) .orderBy( KEY_COLUMN_USAGE.TABLE_SCHEMA.asc(), KEY_COLUMN_USAGE.TABLE_NAME.asc(), KEY_COLUMN_USAGE.CONSTRAINT_NAME.asc(), KEY_COLUMN_USAGE.ORDINAL_POSITION.asc()) .fetch(); }