public class HpFixedConditionQueryResolver extends Object implements FixedConditionResolver
| 修飾子とタイプ | クラスと説明 |
|---|---|
protected static class |
HpFixedConditionQueryResolver.InlineViewResource |
| 修飾子とタイプ | フィールドと説明 |
|---|---|
protected DBMetaProvider |
_dbmetaProvider |
protected ConditionQuery |
_foreignCQ |
protected boolean |
_inlineViewOptimizationWholeCondition |
protected String |
_inlineViewOptimizedCondition |
protected Set<Integer> |
_inlineViewOptimizedLineNumberSet |
protected Map<String,HpFixedConditionQueryResolver.InlineViewResource> |
_inlineViewResourceMap |
protected ConditionQuery |
_localCQ |
protected String |
_resolvedFixedCondition |
static String |
FOREIGN_ALIAS_MARK |
static String |
INLINE_MARK |
static String |
LOCAL_ALIAS_MARK |
static String |
LOCATION_BASE_MARK |
static String |
OPTIMIZED_MARK |
static String |
SQ_BEGIN_MARK |
static String |
SQ_END_MARK |
| コンストラクタと説明 |
|---|
HpFixedConditionQueryResolver(ConditionQuery localCQ,
ConditionQuery foreignCQ,
DBMetaProvider dbmetaProvider) |
| 修飾子とタイプ | メソッドと説明 |
|---|---|
protected String |
adjustOptimizedLine(String resolvedClause) |
protected void |
analyzeInlineViewOptimization(String fixedCondition,
boolean fixedInline) |
protected void |
buildOptimizedInlineWhereClause(String optimizedCondition,
String baseIndent,
StringBuilder sqlSb) |
protected String |
calculateSqEndIndent(boolean fixedInline,
boolean optimized) |
protected boolean |
canBeInlineViewOptimization(String fixedCondition) |
protected void |
collectAdditionalRealColumnList(List<String> additionalRealColumnList,
String resolvedFixedCondition,
HpFixedConditionQueryResolver.InlineViewResource resource,
String foreignAlias) |
protected boolean |
doAnalyzeInlineViewOptimizationMark(String fixedCondition) |
protected boolean |
doAnalyzeInlineViewOptimizationPart(String fixedCondition) |
protected boolean |
doAnalyzeInlineViewOptimizationWhole(String fixedCondition) |
protected String |
filterBasicMark(String fixedCondition,
boolean fixedInline) |
protected String |
filterLocationMark(String fixedCondition,
boolean fixedInline) |
protected String |
filterSubQueryIndentMark(String fixedCondition,
boolean fixedInline,
boolean optimized) |
protected String |
getForeignAliasMark() |
protected String |
getForeignTableMark() |
protected String |
getInlineMark() |
protected String |
getLocalAliasMark() |
protected String |
getLocalTableMark() |
protected String |
getLocationBaseMark() |
protected String |
getRelationBeginMark() |
protected String |
getRelationEndMark() |
protected String |
getSqBeginMark() |
protected String |
getSqEndMark() |
protected boolean |
hasFixedInlineView(String fixedCondition) |
boolean |
hasOverRelation(String fixedCondition)
Does the fixed-condition have over-relation?
|
protected boolean |
hasUnclosedBrace(String line) |
protected ConditionQuery |
invokeColumnTargetCQ(ConditionQuery relationPointCQ,
String targetRelation) |
protected boolean |
isCandidateOfOptimization(String previous) |
protected boolean |
isOneLine(String fixedCondition) |
protected boolean |
isOptimizationHitLine(String previous,
String current,
int lineNumber) |
protected String |
ln() |
protected String |
removePrefixConnector(String clause) |
protected String |
replaceString(String text,
String fromText,
String toText) |
protected String |
resolvedOptimizedCondition(String optimizedCondition,
HpFixedConditionQueryResolver.InlineViewResource resource,
Map<ForeignInfo,String> foreignAliasMap) |
String |
resolveFixedInlineView(String foreignTableSqlName,
boolean treatedAsInnerJoin)
Resolve fixed InlineView for fixed-condition.
|
protected String |
resolveOptimizedForeignAlias(String optimizedCondition,
HpFixedConditionQueryResolver.InlineViewResource resource,
Map<ForeignInfo,String> foreignAliasMap) |
protected String |
resolveOverRelation(String fixedCondition,
boolean fixedInline) |
String |
resolveVariable(String fixedCondition,
boolean fixedInline)
Resolve variables on fixed-condition.
|
protected String |
reverseOptimizedColumnAlias(String optimizedCondition,
Map<String,String> optimizedReverseColumnMap) |
protected boolean |
startsWithConnector(String line) |
protected void |
throwIllegalFixedConditionOverRelationException(String notice,
String tableName,
String relationName,
String fixedCondition) |
protected void |
throwIllegalFixedConditionOverRelationException(String notice,
String pointTable,
String targetRelation,
String fixedCondition,
Exception e) |
protected final ConditionQuery _localCQ
protected final ConditionQuery _foreignCQ
protected final DBMetaProvider _dbmetaProvider
protected String _resolvedFixedCondition
protected Map<String,HpFixedConditionQueryResolver.InlineViewResource> _inlineViewResourceMap
protected String _inlineViewOptimizedCondition
protected boolean _inlineViewOptimizationWholeCondition
public HpFixedConditionQueryResolver(ConditionQuery localCQ, ConditionQuery foreignCQ, DBMetaProvider dbmetaProvider)
public String resolveVariable(String fixedCondition, boolean fixedInline)
resolveVariable インタフェース内 FixedConditionResolverfixedCondition - The string of fixed-condition. (NotNull)fixedInline - Are the fixed conditions located on in-line view?protected void analyzeInlineViewOptimization(String fixedCondition, boolean fixedInline)
protected boolean hasFixedInlineView(String fixedCondition)
protected boolean doAnalyzeInlineViewOptimizationMark(String fixedCondition)
protected boolean doAnalyzeInlineViewOptimizationWhole(String fixedCondition)
protected boolean doAnalyzeInlineViewOptimizationPart(String fixedCondition)
protected boolean isCandidateOfOptimization(String previous)
protected boolean isOptimizationHitLine(String previous, String current, int lineNumber)
protected boolean canBeInlineViewOptimization(String fixedCondition)
protected String filterSubQueryIndentMark(String fixedCondition, boolean fixedInline, boolean optimized)
protected String calculateSqEndIndent(boolean fixedInline, boolean optimized)
protected String resolveOverRelation(String fixedCondition, boolean fixedInline)
protected ConditionQuery invokeColumnTargetCQ(ConditionQuery relationPointCQ, String targetRelation)
public String resolveFixedInlineView(String foreignTableSqlName, boolean treatedAsInnerJoin)
FixedConditionResolverresolveFixedInlineView インタフェース内 FixedConditionResolverforeignTableSqlName - The SQL name of foreign table that has fixed-condition. (NotNull)treatedAsInnerJoin - Does the join treated as inner-join?protected String resolvedOptimizedCondition(String optimizedCondition, HpFixedConditionQueryResolver.InlineViewResource resource, Map<ForeignInfo,String> foreignAliasMap)
protected String resolveOptimizedForeignAlias(String optimizedCondition, HpFixedConditionQueryResolver.InlineViewResource resource, Map<ForeignInfo,String> foreignAliasMap)
protected String reverseOptimizedColumnAlias(String optimizedCondition, Map<String,String> optimizedReverseColumnMap)
protected void collectAdditionalRealColumnList(List<String> additionalRealColumnList, String resolvedFixedCondition, HpFixedConditionQueryResolver.InlineViewResource resource, String foreignAlias)
protected void buildOptimizedInlineWhereClause(String optimizedCondition, String baseIndent, StringBuilder sqlSb)
protected void throwIllegalFixedConditionOverRelationException(String notice, String tableName, String relationName, String fixedCondition)
protected void throwIllegalFixedConditionOverRelationException(String notice, String pointTable, String targetRelation, String fixedCondition, Exception e)
public boolean hasOverRelation(String fixedCondition)
hasOverRelation インタフェース内 FixedConditionResolverfixedCondition - The string of fixed-condition. (NotNull)protected String getLocalAliasMark()
protected String getForeignAliasMark()
protected String getSqBeginMark()
protected String getSqEndMark()
protected String getInlineMark()
protected String getLocationBaseMark()
protected String getRelationBeginMark()
protected String getRelationEndMark()
protected String getLocalTableMark()
protected String getForeignTableMark()
protected boolean isOneLine(String fixedCondition)
protected boolean hasUnclosedBrace(String line)
protected boolean startsWithConnector(String line)
protected String ln()
Copyright © 2014–2015 The DBFlute Project. All rights reserved.