h2-1.4.197.jar
登录
|
com.h2database:h2:1.4.197
META-INF
org
h2
jdbc
message
expression
ConditionInParameter.java
AggregateDataHistogram.java
Alias.java
FunctionCall.java
Rownum.java
Subquery.java
FunctionInfo.java
ConditionInSelect.java
Expression.java
ExpressionColumn.java
Comparison.java
JavaAggregate.java
ConditionAndOr.java
AggregateDataCount.java
ValueExpression.java
JavaFunction.java
ExpressionVisitor.java
Parameter.java
AggregateDataCountAll.java
AggregateDataMedian.java
CompareLike.java
ConditionIn.java
ExpressionList.java
Operation.java
ParameterInterface.java
ConditionInConstantSet.java
Function.java
Wildcard.java
AggregateDataSelectivity.java
Variable.java
AggregateDataDefault.java
ParameterRemote.java
Aggregate.java
AggregateData.java
TableFunction.java
ConditionNot.java
ConditionExists.java
AggregateDataArrayCollecting.java
SequenceValue.java
Condition.java
engine
upgrade
Driver.java
security
fulltext
api
compress
index
table
constraint
store
util
bnf
command
tools
server
mode
jdbcx
result
JdbcDriverBackwardsCompat.java
jmx
value
schema
mvstore
ConditionExists.java
清空
类结构
/* * Copyright 2004-2018 H2 Group. Multiple-Licensed under the MPL 2.0, * and the EPL 1.0 (http://h2database.com/html/license.html). * Initial Developer: H2 Group */ package org.h2.expression; import org.h2.command.dml.
Query
; import org.h2.engine.
Session
; import org.h2.result.
ResultInterface
; import org.h2.table.
ColumnResolver
; import org.h2.table.
TableFilter
; import org.h2.util.
StringUtils
; import org.h2.value.
Value
; import org.h2.value.
ValueBoolean
; /** * An 'exists' condition as in WHERE EXISTS(SELECT ...) */ public class
ConditionExists
extends
Condition
{ private final
Query
query
; public
ConditionExists
(
Query
query
) { this.
query
=
query
; } @
Override
public
Value
getValue
(
Session
session
) {
query
.
setSession
(
session
);
ResultInterface
result
=
query
.
query
(1);
session
.
addTemporaryResult
(
result
); boolean
r
=
result
.
hasNext
(); return
ValueBoolean
.
get
(
r
); } @
Override
public
Expression
optimize
(
Session
session
) {
session
.
optimizeQueryExpression
(
query
); return this; } @
Override
public
String
getSQL
() { return "EXISTS(\n" +
StringUtils
.
indent
(
query
.
getPlanSQL
(), 4, false) + ")"; } @
Override
public void
updateAggregate
(
Session
session
) { // TODO exists: is it allowed that the subquery contains aggregates? // probably not // select id from test group by id having exists (select * from test2 // where id=count(test.id)) } @
Override
public void
mapColumns
(
ColumnResolver
resolver
, int
level
) {
query
.
mapColumns
(
resolver
,
level
+ 1); } @
Override
public void
setEvaluatable
(
TableFilter
tableFilter
, boolean
b
) {
query
.
setEvaluatable
(
tableFilter
,
b
); } @
Override
public boolean
isEverything
(
ExpressionVisitor
visitor
) { return
query
.
isEverything
(
visitor
); } @
Override
public int
getCost
() { return
query
.
getCostAsExpression
(); } }
查找资源
Jre/Lib
输入类名或文件名
类结构窗口