package io.ebeaninternal.server.query;

import io.ebean.config.dbplatform.DbHistorySupport;

import java.util.Map;

Helper to support history functions.
/** * Helper to support history functions. */
class CQueryHistorySupport {
The DB specific support.
/** * The DB specific support. */
private final DbHistorySupport dbHistorySupport;
The mapping of base tables to their matching 'with history' views.
/** * The mapping of base tables to their matching 'with history' views. */
private final Map<String, String> asOfTableMap;
The sys period column.
/** * The sys period column. */
private final String sysPeriod; CQueryHistorySupport(DbHistorySupport dbHistorySupport, Map<String, String> asOfTableMap, String sysPeriod) { this.dbHistorySupport = dbHistorySupport; this.asOfTableMap = asOfTableMap; this.sysPeriod = sysPeriod; }
Return true if the underlying history support is standards based.
/** * Return true if the underlying history support is standards based. */
boolean isStandardsBased() { return dbHistorySupport.isStandardsBased(); }
Return the 'as of' history view for the given base table.
/** * Return the 'as of' history view for the given base table. */
String getAsOfView(String table) { return asOfTableMap.get(table); }
Return the lower bound column.
/** * Return the lower bound column. */
String getSysPeriodLower(String tableAlias) { return dbHistorySupport.getSysPeriodLower(tableAlias, sysPeriod); }
Return the upper bound column.
/** * Return the upper bound column. */
String getSysPeriodUpper(String tableAlias) { return dbHistorySupport.getSysPeriodUpper(tableAlias, sysPeriod); }
Return the predicate appended to the end of the query.

Note used for Oracle total recall etc with the more standard approach.

/** * Return the predicate appended to the end of the query. * <p> * Note used for Oracle total recall etc with the more standard approach. */
String getAsOfPredicate(String tableAlias) { return dbHistorySupport.getAsOfPredicate(tableAlias, sysPeriod); } }