/** Create the outer join operator for this platform */ protected ExpressionOperator operatorOuterJoin() { ExpressionOperator result = new ExpressionOperator(); result.setSelector(ExpressionOperator.EqualOuterJoin); Vector v = oracle.toplink.internal.helper.NonSynchronizedVector.newInstance(2); v.addElement(" (+) = "); result.printsAs(v); result.bePostfix(); result.setNodeClass(RelationExpression.class); return result; }
/** INTERNAL: Allow the use of XMLType operators on this platform. */ protected void initializePlatformOperators() { super.initializePlatformOperators(); addOperator(ExpressionOperator.extract()); addOperator(ExpressionOperator.extractValue()); addOperator(ExpressionOperator.existsNode()); addOperator(ExpressionOperator.isFragment()); addOperator(ExpressionOperator.getStringVal()); addOperator(ExpressionOperator.getNumberVal()); addOperator(SpatialExpressionOperators.withinDistance()); addOperator(SpatialExpressionOperators.relate()); addOperator(SpatialExpressionOperators.filter()); addOperator(SpatialExpressionOperators.nearestNeighbor()); }
/** Initialize any platform-specific operators */ protected void initializePlatformOperators() { super.initializePlatformOperators(); addOperator(ExpressionOperator.simpleTwoArgumentFunction(ExpressionOperator.Concat, "CONCAT")); addOperator(operatorOuterJoin()); addOperator(ExpressionOperator.ifNull()); }