| Constructor and Description |
|---|
MapContainsEntryMethod() |
| Modifier and Type | Method and Description |
|---|---|
protected SQLExpression |
containsAsInnerJoin(SQLStatement stmt,
MapExpression mapExpr,
SQLExpression keyExpr,
SQLExpression valExpr)
Method to return an expression for Map.containsEntry using INNER JOIN to the element.
|
protected SQLExpression |
containsAsSubquery(SQLStatement stmt,
MapExpression mapExpr,
SQLExpression keyExpr,
SQLExpression valExpr)
Method to return an expression for Map.containsEntry using a subquery "EXISTS".
|
SQLExpression |
getExpression(SQLStatement stmt,
SQLExpression expr,
List<SQLExpression> args)
Return the expression for this SQL function.
|
protected boolean |
getNeedsSubquery(SQLStatement stmt)
Convenience method to decide if we handle the contains() by using a subquery, or otherwise
via an inner join.
|
public SQLExpression getExpression(SQLStatement stmt, SQLExpression expr, List<SQLExpression> args)
SQLMethodgetExpression in interface SQLMethodstmt - SQLStatement that this expression is forexpr - The expression that it is invoked onargs - Arguments passed inprotected boolean getNeedsSubquery(SQLStatement stmt)
stmt - SQLStatementprotected SQLExpression containsAsInnerJoin(SQLStatement stmt, MapExpression mapExpr, SQLExpression keyExpr, SQLExpression valExpr)
stmt - SQLStatementmapExpr - Map expressionkeyExpr - Expression for the keyvalExpr - Expression for the valueprotected SQLExpression containsAsSubquery(SQLStatement stmt, MapExpression mapExpr, SQLExpression keyExpr, SQLExpression valExpr)
SELECT 1 FROM JOIN_TBL A0_SUB
WHERE A0_SUB.JOIN_OWN_ID = A0.ID
AND A0_SUB.JOIN_VAL_ID = {valExpr}
AND Ao_SUB.JOIN_KEY_ID = {keyExpr}
SELECT 1 FROM VAL_TABLE A0_SUB
WHERE B0.JOIN_OWN_ID = A0.ID
AND A0_SUB.ID = {valExpr}
AND A0_SUB.KEY_ID = {keyExpr}
SELECT 1 FROM KEY_TABLE A0_SUB
WHERE A0_SUB.OWN_ID = A0.ID
AND A0_SUB.VAL_ID = {valExpr}
AND A0_SUB.ID = {keyExpr}
stmt - SQLStatementmapExpr - Map expressionkeyExpr - Expression for the keyvalExpr - Expression for the valueCopyright © 2020. All rights reserved.