@Override public Expression visitLeave(ModulusParseNode node, List<Expression> children) throws SQLException { return visitLeave(node, children, null, new ArithmeticExpressionFactory() { @Override public Expression create(ArithmeticParseNode node, List<Expression> children) throws SQLException { // ensure integer types for(Expression child : children) { PDataType type = child.getDataType(); if(type != null && !type.isCoercibleTo(PLong.INSTANCE)) { throw TypeMismatchException.newException(type, node.toString()); } } return new ModulusExpression(children); } }); }
@Override public Expression visitLeave(MultiplyParseNode node, List<Expression> children) throws SQLException { return visitLeave(node, children, null, new ArithmeticExpressionFactory() { @Override public Expression create(ArithmeticParseNode node, List<Expression> children) throws SQLException {
@Override public Expression visitLeave(AddParseNode node, List<Expression> children) throws SQLException { return visitLeave(node, children, new ArithmeticExpressionBinder() { @Override
@Override public Expression visitLeave(SubtractParseNode node, List<Expression> children) throws SQLException { return visitLeave(node, children, new ArithmeticExpressionBinder() { @Override public PDatum getBindMetaData(int i, List<Expression> children,
Expression func = super.visitLeave(node,children); Expression funcModified = super.visitLeave(node, copyOfChildren); return super.visitLeave(node,children);
@Override public Expression visitLeave(ModulusParseNode node, List<Expression> children) throws SQLException { return visitLeave(node, children, null, new ArithmeticExpressionFactory() { @Override public Expression create(ArithmeticParseNode node, List<Expression> children) throws SQLException { // ensure integer types for(Expression child : children) { PDataType type = child.getDataType(); if(type != null && !type.isCoercibleTo(PLong.INSTANCE)) { throw TypeMismatchException.newException(type, node.toString()); } } return new ModulusExpression(children); } }); }
@Override public Expression visitLeave(ModulusParseNode node, List<Expression> children) throws SQLException { return visitLeave(node, children, null, new ArithmeticExpressionFactory() { @Override public Expression create(ArithmeticParseNode node, List<Expression> children) throws SQLException { // ensure integer types for(Expression child : children) { PDataType type = child.getDataType(); if(type != null && !type.isCoercibleTo(PLong.INSTANCE)) { throw TypeMismatchException.newException(type, node.toString()); } } return new ModulusExpression(children); } }); }
return visitLeave(node, children, null, new ArithmeticExpressionFactory() { @Override public Expression create(ArithmeticParseNode node, List<Expression> children) throws SQLException {
@Override public Expression visitLeave(MultiplyParseNode node, List<Expression> children) throws SQLException { return visitLeave(node, children, null, new ArithmeticExpressionFactory() { @Override public Expression create(ArithmeticParseNode node, List<Expression> children) throws SQLException {
@Override public Expression visitLeave(MultiplyParseNode node, List<Expression> children) throws SQLException { return visitLeave(node, children, null, new ArithmeticExpressionFactory() { @Override public Expression create(ArithmeticParseNode node, List<Expression> children) throws SQLException {
@Override public Expression visitLeave(AddParseNode node, List<Expression> children) throws SQLException { return visitLeave(node, children, new ArithmeticExpressionBinder() { @Override
@Override public Expression visitLeave(AddParseNode node, List<Expression> children) throws SQLException { return visitLeave(node, children, new ArithmeticExpressionBinder() { @Override
@Override public Expression visitLeave(SubtractParseNode node, List<Expression> children) throws SQLException { return visitLeave(node, children, new ArithmeticExpressionBinder() { @Override public PDatum getBindMetaData(int i, List<Expression> children,
@Override public Expression visitLeave(SubtractParseNode node, List<Expression> children) throws SQLException { return visitLeave(node, children, new ArithmeticExpressionBinder() { @Override public PDatum getBindMetaData(int i, List<Expression> children,
Expression func = super.visitLeave(node,children); Expression funcModified = super.visitLeave(node, copyOfChildren); return super.visitLeave(node,children);
Expression func = super.visitLeave(node,children); Expression funcModified = super.visitLeave(node, copyOfChildren); return super.visitLeave(node,children);
return visitLeave(node, children, null, new ArithmeticExpressionFactory() { @Override public Expression create(ArithmeticParseNode node, List<Expression> children) throws SQLException {
return visitLeave(node, children, null, new ArithmeticExpressionFactory() { @Override public Expression create(ArithmeticParseNode node, List<Expression> children) throws SQLException {