本文整理汇总了Java中org.hsqldb.types.Type.SQL_BOOLEAN属性的典型用法代码示例。如果您正苦于以下问题:Java Type.SQL_BOOLEAN属性的具体用法?Java Type.SQL_BOOLEAN怎么用?Java Type.SQL_BOOLEAN使用的例子?那么恭喜您, 这里精选的属性代码示例或许可以为您提供帮助。您也可以进一步了解该属性所在类org.hsqldb.types.Type
的用法示例。
在下文中一共展示了Type.SQL_BOOLEAN属性的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: ExpressionLogical
ExpressionLogical(RangeVariable leftRangeVar, int colIndexLeft,
RangeVariable rightRangeVar, int colIndexRight) {
super(OpTypes.EQUAL);
ExpressionColumn leftExpression = new ExpressionColumn(leftRangeVar,
colIndexLeft);
ExpressionColumn rightExpression = new ExpressionColumn(rightRangeVar,
colIndexRight);
nodes = new Expression[BINARY];
nodes[LEFT] = leftExpression;
nodes[RIGHT] = rightExpression;
setEqualityMode();
dataType = Type.SQL_BOOLEAN;
}
示例2: resolveTypesForLogicalOp
private void resolveTypesForLogicalOp() {
if (nodes[LEFT].isUnresolvedParam()) {
nodes[LEFT].dataType = Type.SQL_BOOLEAN;
}
if (nodes[RIGHT].isUnresolvedParam()) {
nodes[RIGHT].dataType = Type.SQL_BOOLEAN;
}
if (nodes[LEFT].dataType == null || nodes[RIGHT].dataType == null) {
throw Error.error(ErrorCode.X_42571);
}
if (nodes[LEFT].opType == OpTypes.ROW
|| nodes[RIGHT].opType == OpTypes.ROW) {
throw Error.error(ErrorCode.X_42565);
}
if (Type.SQL_BOOLEAN != nodes[LEFT].dataType
|| Type.SQL_BOOLEAN != nodes[RIGHT].dataType) {
throw Error.error(ErrorCode.X_42568);
}
}
示例3: XreadAndResolveBooleanValueExpression
Expression XreadAndResolveBooleanValueExpression(RangeGroup[] rangeGroups,
RangeGroup rangeGroup) {
Expression condition = XreadBooleanValueExpression();
HsqlList unresolved = condition.resolveColumnReferences(session,
rangeGroup, rangeGroups, null);
ExpressionColumn.checkColumnsResolved(unresolved);
condition.resolveTypes(session, null);
if (condition.isUnresolvedParam()) {
condition.dataType = Type.SQL_BOOLEAN;
}
if (condition.getDataType() != Type.SQL_BOOLEAN) {
throw Error.error(ErrorCode.X_42568);
}
return condition;
}
示例4: resolveTypesForLogicalOp
private void resolveTypesForLogicalOp() {
if (nodes[LEFT].isParam) {
nodes[LEFT].dataType = Type.SQL_BOOLEAN;
}
if (nodes[RIGHT].isParam) {
nodes[RIGHT].dataType = Type.SQL_BOOLEAN;
}
if (nodes[LEFT].dataType == null || nodes[RIGHT].dataType == null) {
throw Error.error(ErrorCode.X_42571);
}
if (nodes[LEFT].opType == OpTypes.ROW
|| nodes[RIGHT].opType == OpTypes.ROW
|| Type.SQL_BOOLEAN != nodes[LEFT].dataType
|| Type.SQL_BOOLEAN != nodes[RIGHT].dataType) {
throw Error.error(ErrorCode.X_42564);
}
}
示例5: ExpressionLogical
/**
* Creates a unary operation expression
*/
ExpressionLogical(int type, Expression e) {
super(type);
nodes = new Expression[UNARY];
nodes[LEFT] = e;
switch (opType) {
case OpTypes.UNIQUE :
case OpTypes.EXISTS :
case OpTypes.IS_NULL :
case OpTypes.NOT :
dataType = Type.SQL_BOOLEAN;
break;
default :
Error.runtimeError(ErrorCode.U_S0500, "Expression");
}
}
示例6: ExpressionLogical
/**
* For boolean constants
*/
ExpressionLogical(boolean b) {
super(OpTypes.VALUE);
dataType = Type.SQL_BOOLEAN;
valueData = b ? Boolean.TRUE
: Boolean.FALSE;
}
示例7: resolveTypesForCaseWhen
/**
* For CASE WHEN and its special cases section 9.3 of the SQL standard
* on type aggregation is implemented.
*/
void resolveTypesForCaseWhen(Session session) {
if (dataType != null) {
return;
}
Expression expr = this;
while (expr.opType == OpTypes.CASEWHEN) {
expr.nodes[LEFT].resolveTypes(session, expr);
if (expr.nodes[LEFT].isUnresolvedParam()) {
expr.nodes[LEFT].dataType = Type.SQL_BOOLEAN;
}
expr.nodes[RIGHT].nodes[LEFT].resolveTypes(session,
expr.nodes[RIGHT]);
if (expr.nodes[RIGHT].nodes[RIGHT].opType != OpTypes.CASEWHEN) {
expr.nodes[RIGHT].nodes[RIGHT].resolveTypes(session,
expr.nodes[RIGHT]);
}
expr = expr.nodes[RIGHT].nodes[RIGHT];
}
if (exprSubType == OpTypes.CAST) {
if (nodes[RIGHT].nodes[RIGHT].dataType != null
&& nodes[RIGHT].nodes[RIGHT].dataType
!= nodes[RIGHT].nodes[LEFT].dataType) {
Type castType = nodes[RIGHT].nodes[RIGHT].dataType;
if (castType.isCharacterType()) {
castType = Type.SQL_VARCHAR_DEFAULT;
}
nodes[RIGHT].nodes[LEFT] =
new ExpressionOp(nodes[RIGHT].nodes[LEFT], castType);
}
}
expr = this;
while (expr.opType == OpTypes.CASEWHEN) {
dataType =
Type.getAggregateType(expr.nodes[RIGHT].nodes[LEFT].dataType,
dataType);
dataType =
Type.getAggregateType(expr.nodes[RIGHT].nodes[RIGHT].dataType,
dataType);
expr = expr.nodes[RIGHT].nodes[RIGHT];
}
expr = this;
while (expr.opType == OpTypes.CASEWHEN) {
if (expr.nodes[RIGHT].nodes[LEFT].dataType == null) {
expr.nodes[RIGHT].nodes[LEFT].dataType = dataType;
}
if (expr.nodes[RIGHT].nodes[RIGHT].dataType == null) {
expr.nodes[RIGHT].nodes[RIGHT].dataType = dataType;
}
if (expr.nodes[RIGHT].dataType == null) {
expr.nodes[RIGHT].dataType = dataType;
}
expr = expr.nodes[RIGHT].nodes[RIGHT];
}
if (dataType == null || dataType.typeCode == Types.SQL_ALL_TYPES) {
throw Error.error(ErrorCode.X_42567);
}
}
示例8: resolveTypesForCaseWhen
/**
* For CASE WHEN and its special cases section 9.3 of the SQL standard
* on type aggregation is implemented.
*/
void resolveTypesForCaseWhen(Session session) {
if (dataType != null) {
return;
}
Expression expr = this;
while (expr.opType == OpTypes.CASEWHEN) {
expr.nodes[LEFT].resolveTypes(session, expr);
if (expr.nodes[LEFT].isParam) {
expr.nodes[LEFT].dataType = Type.SQL_BOOLEAN;
}
expr.nodes[RIGHT].nodes[LEFT].resolveTypes(session, nodes[RIGHT]);
expr.nodes[RIGHT].nodes[RIGHT].resolveTypes(session, nodes[RIGHT]);
expr = expr.nodes[RIGHT].nodes[RIGHT];
}
expr = this;
while (expr.opType == OpTypes.CASEWHEN) {
dataType =
Type.getAggregateType(expr.nodes[RIGHT].nodes[LEFT].dataType,
dataType);
dataType =
Type.getAggregateType(expr.nodes[RIGHT].nodes[RIGHT].dataType,
dataType);
expr = expr.nodes[RIGHT].nodes[RIGHT];
}
expr = this;
while (expr.opType == OpTypes.CASEWHEN) {
if (expr.nodes[RIGHT].nodes[LEFT].dataType == null) {
expr.nodes[RIGHT].nodes[LEFT].dataType = dataType;
}
if (expr.nodes[RIGHT].nodes[RIGHT].dataType == null) {
expr.nodes[RIGHT].nodes[RIGHT].dataType = dataType;
}
if (expr.nodes[RIGHT].dataType == null) {
expr.nodes[RIGHT].dataType = dataType;
}
expr = expr.nodes[RIGHT].nodes[RIGHT];
}
if (dataType == null) {
throw Error.error(ErrorCode.X_42567);
}
}
示例9: getCheckSelect
/**
* Returns a Select object that can be used for checking the contents
* of an existing table against the given CHECK search condition.
*/
static QuerySpecification getCheckSelect(Session session, Table t,
Expression e) {
CompileContext compileContext = new CompileContext(session);
QuerySpecification s = new QuerySpecification(compileContext);
s.exprColumns = new Expression[1];
s.exprColumns[0] = EXPR_TRUE;
RangeVariable range = new RangeVariable(t, null, null, null,
compileContext);
s.rangeVariables = new RangeVariable[]{ range };
HsqlList unresolved = e.resolveColumnReferences(s.rangeVariables,
null);
ExpressionColumn.checkColumnsResolved(unresolved);
e.resolveTypes(session, null);
if (Type.SQL_BOOLEAN != e.getDataType()) {
throw Error.error(ErrorCode.X_42568);
}
Expression condition = new ExpressionLogical(OpTypes.NOT, e);
s.queryCondition = condition;
s.resolveReferences(session);
s.resolveTypes(session);
return s;
}