Examples of UnsupportedFullOuterJoinException


Examples of com.foundationdb.server.error.UnsupportedFullOuterJoinException

        case NodeTypes.JOIN_NODE:
            return joinNode((JoinNode)fromTable, nullable);
        case NodeTypes.HALF_OUTER_JOIN_NODE:
            return joinNode((HalfOuterJoinNode)fromTable, nullable);
        case NodeTypes.FULL_OUTER_JOIN_NODE:
            throw new UnsupportedFullOuterJoinException();
        case NodeTypes.FROM_SUBQUERY:
            return fromSubquery((FromSubquery)fromTable);
        default:
            // Subqueries in SELECT don't see earlier FROM list tables.
            try {
View Full Code Here

Examples of com.foundationdb.server.error.UnsupportedFullOuterJoinException

    protected void addJoinNode(JoinNode joinNode) throws StandardException {
        FromTable fromLeft = (FromTable)joinNode.getLeftResultSet();
        FromTable fromRight = (FromTable)joinNode.getRightResultSet();
        if (joinNode.getNodeType() == NodeTypes.FULL_OUTER_JOIN_NODE)
        {
            throw new UnsupportedFullOuterJoinException();
        }
        addFromTable(fromLeft);
        addFromTable(fromRight);
        if ((joinNode.getUsingClause() != null) || joinNode.isNaturalJoin()) {
            // Replace USING clause with equivalent equality predicates, all bound up.
            NodeFactory nodeFactory = joinNode.getNodeFactory();
            SQLParserContext parserContext = joinNode.getParserContext();
            ValueNode conditions = null;
            if (joinNode.getUsingClause() != null) {
                for (ResultColumn rc : joinNode.getUsingClause()) {
                    String columnName = rc.getName();
                    ColumnBinding leftBinding = getColumnBinding(fromLeft, columnName);
                    if (leftBinding == null)
                        throw new NoSuchColumnException(columnName, rc);
                    ColumnBinding rightBinding = getColumnBinding(fromRight, columnName);
                    if (rightBinding == null)
                        throw new NoSuchColumnException(columnName, rc);
                    conditions = addJoinEquality(conditions,
                                                 columnName, leftBinding, rightBinding,
                                                 nodeFactory, parserContext);
                    BindingContext bindingContext = getBindingContext();
                    // USING is tricky case, since join columns do not repeat in expansion.
                    // (see 7.5 of sql1992 spec)
                    if (joinNode.getNodeType() == NodeTypes.FULL_OUTER_JOIN_NODE)
                    {
                        throw new UnsupportedFullOuterJoinException();
                    } else if (joinNode.getNodeType() == NodeTypes.HALF_OUTER_JOIN_NODE &&
                            ((HalfOuterJoinNode)joinNode).isRightOuterJoin())
                    {
                        // We use the value from the right table on a RIGHT OUTER JOIN
                        // so ignore the column in the left table
View Full Code Here

Examples of com.foundationdb.server.error.UnsupportedFullOuterJoinException

            ResultColumnList joinRCL;
            // USING is tricky case, since join columns do not repeat in expansion.
            // (see 7.5 of sql1992 spec)
            if (fromJoin.getNodeType() == NodeTypes.FULL_OUTER_JOIN_NODE)
            {
                throw new UnsupportedFullOuterJoinException();
            } else if (fromJoin.getNodeType() == NodeTypes.HALF_OUTER_JOIN_NODE && ((HalfOuterJoinNode)fromJoin).isRightOuterJoin())
            {
                joinRCL = rightRCL.getJoinColumns(fromJoin.getUsingClause());
            } else {
                joinRCL = leftRCL.getJoinColumns(fromJoin.getUsingClause());
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.