RexNode upperBound = bb.convertExpression(window.getUpperBound()); SqlNodeList orderList = window.getOrderList(); if ((orderList.size() == 0) && !window.isRows()) {
RexNode upperBound = bb.convertExpression(window.getUpperBound()); SqlNodeList orderList = window.getOrderList(); if ((orderList.size() == 0) && !window.isRows()) {
RexNode upperBound = bb.convertExpression(window.getUpperBound()); SqlNodeList orderList = window.getOrderList(); if ((orderList.size() == 0) && !window.isRows()) {
&& !window.isRows() && SqlWindow.isUnboundedPreceding(lowerBound) && (upperBound == null || SqlWindow.isCurrentRow(upperBound) || SqlWindow.isUnboundedFollowing(upperBound))) { if (window.isRows() && SqlWindow.isUnboundedPreceding(lowerBound) && (upperBound == null || SqlWindow.isCurrentRow(upperBound))) { if (!window.isRows() && SqlWindow.isCurrentRow(lowerBound) && SqlWindow.isCurrentRow(upperBound)) {
&& !window.isRows() && SqlWindow.isUnboundedPreceding(lowerBound) && (upperBound == null || SqlWindow.isCurrentRow(upperBound) || SqlWindow.isUnboundedFollowing(upperBound))) { if (window.isRows() && SqlWindow.isUnboundedPreceding(lowerBound) && (upperBound == null || SqlWindow.isCurrentRow(upperBound))) { if (!window.isRows() && SqlWindow.isCurrentRow(lowerBound) && SqlWindow.isCurrentRow(upperBound)) {
if (orderList.size() > 1 && !isRows()) { throw validator.newValidationError(isRows, RESOURCE.compoundOrderByProhibitsRange()); if (!isRows() && !SqlValidatorUtil.containsMonotonic(scope)) { throw validator.newValidationError(this, RESOURCE.overMissingOrderBy()); isRows(), orderTypeFam, validator, validateFrameBoundary( upperBound, isRows(), orderTypeFam, validator, if (!isRows() && !isAllowPartial()) { throw validator.newValidationError(allowPartial, RESOURCE.cannotUseDisallowPartialWithRange());
if (orderList.size() > 1 && !isRows()) { throw validator.newValidationError(isRows, RESOURCE.compoundOrderByProhibitsRange()); if (!isRows() && !SqlValidatorUtil.containsMonotonic(scope)) { throw validator.newValidationError(this, RESOURCE.overMissingOrderBy()); isRows(), orderTypeFam, validator, validateFrameBoundary( upperBound, isRows(), orderTypeFam, validator, if (!isRows() && !isAllowPartial()) { throw validator.newValidationError(allowPartial, RESOURCE.cannotUseDisallowPartialWithRange());
RexNode upperBound = bb.convertExpression(window.getUpperBound()); SqlNodeList orderList = window.getOrderList(); if ((orderList.size() == 0) && !window.isRows()) {