public abstract class DBObjectSearchPlan extends SearchPlan
| Modifier and Type | Field and Description |
|---|---|
static int |
MAX_JOINS
maximum number of tables to JOIN
|
static java.lang.String |
RESOLUTION_ARCHIVE_CACHE
The search was resolved by using archive cache.
|
static java.lang.String |
RESOLUTION_DB_SEARCH
The query was resolved by doing a DB scan.
|
static java.lang.String |
RESOLUTION_FIELD_CACHE
The query was handled by the field cache
|
static java.lang.String |
RESOLUTION_FIELD_CACHE_IN
The query was handled by the field cache
|
static java.lang.String |
RESOLUTION_FULL_SEARCH
The query was resolved by doing a full scan.
|
static java.lang.String |
RESOLUTION_LINKAGE_CACHE
the query was resolved by using linkage cache
|
static java.lang.String |
RESOLUTION_LOAD_CACHE_IN
The query was handled by the load cache
|
static java.lang.String |
RESOLUTION_REVERSED
The query was resolved by reversing the clause.
|
static java.lang.String |
RESOLUTION_SPLIT_SEARCH
The query was resolved by doing a SPLIT scan.
|
ALWAYS_LOAD_FIELD_CACHE_LIMIT, DEFAULT_TIMEOUT, maxFullListInsteadOfAffirmativeRestriction, maxFullRecordScan, query, RESOLUTION_KNOWN_TO_FAIL, RESOLUTION_UNKOWN| Constructor and Description |
|---|
DBObjectSearchPlan(DBQuery query)
Creates a new Search plan
|
| Modifier and Type | Method and Description |
|---|---|
abstract void |
addTranslateMap(java.util.Map<java.lang.String,TranslateClause> translateMap)
Add the list of items
|
abstract java.lang.String[] |
listSqlUsed()
List the SQL statements used.
|
abstract PossibleRowsHolder |
tryKeyWord()
key word searches.
|
abstract PossibleRowsHolder |
tryReverseSearch(DBClause usedClause,
long currentLoadRows)
Try to resolve the search by reversing the clauses.
|
abstract PossibleRowsHolder |
trySplitOR()
Split up OR clauses.
|
abstract PossibleRowsHolder |
trySplitSearch()
deal with OR clauses
|
abstract boolean |
useClauseInsteadOfFullScan(long estimatedClauseRows)
only do this search if we are going to limit loading of records.
|
abstract boolean |
useFullSearch()
Should we try the full search option ?
|
abstract boolean |
useLinkageCache()
Should we use linkageCache for this search ?
|
addClauseUsed, archiveSearch, checkThirdPhase, checkTimeout, cleanCriteria, doLayerSearch, getBottomLayer, getCriteria, getDataBase, getEstimatedDatabaseRows, getEstimatedMatchRows, getEstimatedMatchRows, getFirstClausedUsed, getMaxFullListInsteadOfAffirmativeRestriction, getMaxFullRecordScan, getMaximumRequiredRows, getQuery, getResolution, getSecondClausedUsed, getStartTime, getThirdClausedUsed, getTopLayer, isLayerExcluded, setForcePhaseThree, setMasterPlan, setMaxFullListInsteadOfAffirmativeRestriction, setMaxFullRecordScan, setMaximumRequiredRows, setResolution, tryPlanCache, useCache, willSearchFailpublic static final int MAX_JOINS
public static final java.lang.String RESOLUTION_REVERSED
public static final java.lang.String RESOLUTION_FULL_SEARCH
public static final java.lang.String RESOLUTION_LINKAGE_CACHE
public static final java.lang.String RESOLUTION_DB_SEARCH
public static final java.lang.String RESOLUTION_SPLIT_SEARCH
public static final java.lang.String RESOLUTION_FIELD_CACHE
public static final java.lang.String RESOLUTION_FIELD_CACHE_IN
public static final java.lang.String RESOLUTION_LOAD_CACHE_IN
public static final java.lang.String RESOLUTION_ARCHIVE_CACHE
public DBObjectSearchPlan(@Nonnull
DBQuery query)
query - The querypublic abstract void addTranslateMap(java.util.Map<java.lang.String,TranslateClause> translateMap)
translateMap - the map of aliaspublic abstract java.lang.String[] listSqlUsed()
public abstract PossibleRowsHolder tryReverseSearch(DBClause usedClause, long currentLoadRows) throws java.lang.Exception
SELECT *
FROM Dilution
WHERE instrument.ric like 'A%'
| |
V
Step 1
-------
SELECT id
FROM Asset
WHERE ric like 'A%'
Step 2
-------
SELECT *
FROM Dilution
WHERE instrument IS IN ( 1@10~10 ....)
usedClause - the clause has been used.currentLoadRows - current estimatejava.lang.Exception - A serious problempublic abstract PossibleRowsHolder trySplitSearch() throws java.lang.Exception
java.lang.Exception - a serious problempublic abstract PossibleRowsHolder trySplitOR() throws java.lang.Exception
java.lang.Exception - A serious problempublic abstract PossibleRowsHolder tryKeyWord() throws java.lang.Exception
java.lang.Exception - a serious problem.public abstract boolean useLinkageCache()
public abstract boolean useFullSearch()
throws java.lang.Exception
java.lang.Exception - A serious problempublic abstract boolean useClauseInsteadOfFullScan(long estimatedClauseRows)
estimatedClauseRows - the estimate of the rows for this clause.stSoftware Copyright © 2001-2014 stSoftware All Rights Reserved.