Edit C:\Program Files\Java\jdk1.7.0_45\db\lib\org\apache\derby\impl\sql\compile\JoinNode.class
Êþº¾ 0 ç] æ^ ç_` æab æc æd æef æg æh ij kl æm æn o æp æq rst æuvw æx æy æz { |} ~ æ? ? i? æ? æ??????? æ? æ??????v? æ? æ?v? `? `? ?? 5? ? {? ç? æ? æ? i? ? ¡ ¢ £ æ¤ i¥ O¦ §¨ F© Oª« v¬ O® { |¯ O°± Q² ç³ æ´ æµ ç¶ æ· æ¸ ç¹ iº » i¼ ½ ® ¾¿À a] æÁ æ rà rÄÅÆ g? æÇ ÈÉÊË ÌÍ a{Î Ï ÐÑ gÒ hÓ rÔÕ vÈ gÖ y×Ø {Ù ÚÛ ÜÝ ~Þ ß à Üá â ã ~à Üäå Üæ æç æè æéêëêìíîíïð ñò ?] ?ó çô æõ ö ÷ ø iù ú çù û ü ý æþ hÿ æ æ hj ¢ `{ `¢ h æ æ æ ` ¶?? æ æ i ia æ ! æ" æ#$ %&'( æ) i æ* i+, i-./0123 æ4 æ5 i6 i7 ç8 ? ? ? 9 i:;< INNERJOIN I ConstantValue CROSSJOIN LEFTOUTERJOIN RIGHTOUTERJOIN FULLOUTERJOIN UNIONJOIN naturalJoin Z optimized leftPredicateList 1Lorg/apache/derby/impl/sql/compile/PredicateList; rightPredicateList flattenableJoin aggregateVector Ljava/util/Vector; subqueryList 0Lorg/apache/derby/impl/sql/compile/SubqueryList; joinClause -Lorg/apache/derby/impl/sql/compile/ValueNode; joinClauseNormalized joinPredicates usingClause 4Lorg/apache/derby/impl/sql/compile/ResultColumnList; joinOrderStrategyProperties Ljava/util/Properties; <init> ()V Code init ?(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V Exceptions= optimizeIt ú(Lorg/apache/derby/iapi/sql/compile/Optimizer;Lorg/apache/derby/iapi/sql/compile/OptimizablePredicateList;Lorg/apache/derby/iapi/sql/compile/CostEstimate;Lorg/apache/derby/iapi/sql/compile/RowOrdering;)Lorg/apache/derby/iapi/sql/compile/CostEstimate; pushOptPredicate ;(Lorg/apache/derby/iapi/sql/compile/OptimizablePredicate;)Z modifyAccessPath U(Lorg/apache/derby/iapi/util/JBitSet;)Lorg/apache/derby/iapi/sql/compile/Optimizable; adjustNumberOfRowsReturned 3(Lorg/apache/derby/iapi/sql/compile/CostEstimate;)V getAllResultColumns c(Lorg/apache/derby/impl/sql/compile/TableName;)Lorg/apache/derby/impl/sql/compile/ResultColumnList; getAllResultColumnsNoUsing getMatchingColumn e(Lorg/apache/derby/impl/sql/compile/ColumnReference;)Lorg/apache/derby/impl/sql/compile/ResultColumn; bindExpressions /(Lorg/apache/derby/impl/sql/compile/FromList;)V bindResultColumns ø(Lorg/apache/derby/iapi/sql/dictionary/TableDescriptor;Lorg/apache/derby/impl/sql/compile/FromVTI;Lorg/apache/derby/impl/sql/compile/ResultColumnList;Lorg/apache/derby/impl/sql/compile/DMLStatementNode;Lorg/apache/derby/impl/sql/compile/FromList;)V buildRCL deferredBindExpressions getCommonColumnsForNaturalJoin 6()Lorg/apache/derby/impl/sql/compile/ResultColumnList; extractColumnNames F(Lorg/apache/derby/impl/sql/compile/ResultColumnList;)Ljava/util/List; preprocess ?(ILorg/apache/derby/impl/sql/compile/GroupByList;Lorg/apache/derby/impl/sql/compile/FromList;)Lorg/apache/derby/impl/sql/compile/ResultSetNode; projectResultColumns normExpressions pushExpressions 4(Lorg/apache/derby/impl/sql/compile/PredicateList;)V pushExpressionsToLeft pushExpressionsToRight grabJoinPredicates flatten(Lorg/apache/derby/impl/sql/compile/ResultColumnList;Lorg/apache/derby/impl/sql/compile/PredicateList;Lorg/apache/derby/impl/sql/compile/SubqueryList;Lorg/apache/derby/impl/sql/compile/GroupByList;Lorg/apache/derby/impl/sql/compile/ValueNode;)Lorg/apache/derby/impl/sql/compile/FromList; LOJ_reorderable (I)Z transformOuterJoins ](Lorg/apache/derby/impl/sql/compile/ValueNode;I)Lorg/apache/derby/impl/sql/compile/FromTable; generate t(Lorg/apache/derby/impl/sql/compile/ActivationClassBuilder;Lorg/apache/derby/iapi/services/compiler/MethodBuilder;)V generateCore u(Lorg/apache/derby/impl/sql/compile/ActivationClassBuilder;Lorg/apache/derby/iapi/services/compiler/MethodBuilder;I)V Ò(Lorg/apache/derby/impl/sql/compile/ActivationClassBuilder;Lorg/apache/derby/iapi/services/compiler/MethodBuilder;ILorg/apache/derby/impl/sql/compile/ValueNode;Lorg/apache/derby/impl/sql/compile/SubqueryList;)V getJoinArguments ¡(Lorg/apache/derby/impl/sql/compile/ActivationClassBuilder;Lorg/apache/derby/iapi/services/compiler/MethodBuilder;Lorg/apache/derby/impl/sql/compile/ValueNode;)I getFinalCostEstimate 2()Lorg/apache/derby/iapi/sql/compile/CostEstimate; oneRowRightSide getNumJoinArguments ()I addOuterJoinArguments t(Lorg/apache/derby/impl/sql/compile/ActivationClassBuilder;Lorg/apache/derby/iapi/services/compiler/MethodBuilder;)I joinTypeToString (I)Ljava/lang/String; getLeftPredicateList 3()Lorg/apache/derby/impl/sql/compile/PredicateList; getRightPredicateList updateTargetLockMode notFlattenableJoin isFlattenableJoinNode ()Z isOrderedOn J([Lorg/apache/derby/impl/sql/compile/ColumnReference;ZLjava/util/Vector;)Z printSubNodes (I)V setSubqueryList 3(Lorg/apache/derby/impl/sql/compile/SubqueryList;)V setAggregateVector (Ljava/util/Vector;)V setNaturalJoin getLogicalLeftResultSet 3()Lorg/apache/derby/impl/sql/compile/ResultSetNode; getLogicalRightResultSet acceptChildren .(Lorg/apache/derby/iapi/sql/compile/Visitor;)V LOJgetReferencedTables '(I)Lorg/apache/derby/iapi/util/JBitSet; ü ÷> 2org/apache/derby/impl/sql/compile/ResultColumnList? +org/apache/derby/impl/sql/compile/ValueNode ÷ java/util/Properties@ABCDEF "org/apache/derby/iapi/util/JBitSetGHIAJKLMNOPQR /org/apache/derby/impl/sql/compile/PredicateList úSTUVWFGXYZA[\ +org/apache/derby/impl/sql/compile/Predicate]L^PHG_`a>abcdefghgijklmno ;org/apache/derby/iapi/sql/dictionary/ConglomerateDescriptorpqrst ø ÷ ÿ uvwxy z{ 1org/apache/derby/impl/sql/compile/RemapCRsVisitor |}~?VW????? ????XW???? 3org/apache/derby/impl/sql/compile/HalfOuterJoinNode?L?| 42X03?????| .org/apache/derby/impl/sql/compile/ResultColumn?? 3org/apache/derby/impl/sql/compile/VirtualColumnNode?? ö ÷#$! " ?$?$?????P .org/apache/derby/impl/sql/compile/SubqueryList java/util/Vector ý þ??? Q¡ *org/apache/derby/impl/sql/compile/FromList +org/apache/derby/impl/sql/compile/FromTable¢£¤¥¦§P ON¨©ª 42Z07?«¬®¯°±²Q³ 1org/apache/derby/impl/sql/compile/ColumnReference >org/apache/derby/impl/sql/compile/BinaryComparisonOperatorNode´ )org/apache/derby/impl/sql/compile/AndNodeµ ¶L .org/apache/derby/iapi/types/DataTypeDescriptor·¸¹ º»¼½¾¿LÀ?ÁÂÃÄ 42Y12Å?ÆWÇW%&ÈÉÊËÌÍÎLÏF java/lang/StringÐÑ java/util/ArrayListÒÄ'(* 'ÓÔÕÖ ) × ØÙÚ?ÛÙ-,+,.,/,ÜDÝÞß à áà?458:â?ã ä éåP -org/apache/derby/iapi/sql/compile/Optimizableælç?è?éêë;< 0org.apache.derby.iapi.sql.execute.NoPutResultSetìíî@A67ïP=> 5org.apache.derby.iapi.services.loader.GeneratedMethodðñòóô õ ö÷BC?7ïøùúûïñ java.lang.Stringüdý>þLï|ÿL INNER JOIN CROSS JOIN LEFT OUTER JOIN RIGHT OUTER JOIN FULL OUTER JOIN UNION JOIN ù ú û úJ MNYZ P[\ *org/apache/derby/impl/sql/compile/JoinNode 3org/apache/derby/impl/sql/compile/TableOperatorNode -org/apache/derby/iapi/error/StandardException 9(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V resultColumns leftResultSet 1Lorg/apache/derby/impl/sql/compile/ResultSetNode; /org/apache/derby/impl/sql/compile/ResultSetNode getReferencedTableMap &()Lorg/apache/derby/iapi/util/JBitSet; clone ()Ljava/lang/Object; referencedTableMap $Lorg/apache/derby/iapi/util/JBitSet; rightResultSet or '(Lorg/apache/derby/iapi/util/JBitSet;)V getNodeFactory 1()Lorg/apache/derby/iapi/sql/compile/NodeFactory; getContextManager 9()Lorg/apache/derby/iapi/services/context/ContextManager; -org/apache/derby/iapi/sql/compile/NodeFactory getNode k(ILorg/apache/derby/iapi/services/context/ContextManager;)Lorg/apache/derby/impl/sql/compile/QueryTreeNode; +org/apache/derby/iapi/sql/compile/Optimizer trace (IIIDLjava/lang/Object;)V updateBestPlanMap (SLjava/lang/Object;)V optimizeSource ò(Lorg/apache/derby/iapi/sql/compile/Optimizer;Lorg/apache/derby/impl/sql/compile/ResultSetNode;Lorg/apache/derby/impl/sql/compile/PredicateList;Lorg/apache/derby/iapi/sql/compile/CostEstimate;)Lorg/apache/derby/impl/sql/compile/ResultSetNode; size elementAt 4(I)Lorg/apache/derby/impl/sql/compile/QueryTreeNode; getPushable removeElementAt addElement 4(Lorg/apache/derby/impl/sql/compile/QueryTreeNode;)V getCostEstimate _(Lorg/apache/derby/iapi/sql/compile/Optimizer;)Lorg/apache/derby/iapi/sql/compile/CostEstimate; costEstimate 0Lorg/apache/derby/iapi/sql/compile/CostEstimate; .org/apache/derby/iapi/sql/compile/CostEstimate getEstimatedCost ()D rowCount setCost (DDD)V getCurrentAccessPath 0()Lorg/apache/derby/iapi/sql/compile/AccessPath; ,org/apache/derby/iapi/sql/compile/AccessPath getJoinStrategy 2()Lorg/apache/derby/iapi/sql/compile/JoinStrategy; .org/apache/derby/iapi/sql/compile/JoinStrategy estimateCost8(Lorg/apache/derby/iapi/sql/compile/Optimizable;Lorg/apache/derby/iapi/sql/compile/OptimizablePredicateList;Lorg/apache/derby/iapi/sql/dictionary/ConglomerateDescriptor;Lorg/apache/derby/iapi/sql/compile/CostEstimate;Lorg/apache/derby/iapi/sql/compile/Optimizer;Lorg/apache/derby/iapi/sql/compile/CostEstimate;)V considerCost Î(Lorg/apache/derby/iapi/sql/compile/Optimizable;Lorg/apache/derby/iapi/sql/compile/OptimizablePredicateList;Lorg/apache/derby/iapi/sql/compile/CostEstimate;Lorg/apache/derby/iapi/sql/compile/CostEstimate;)V getDataDictionary 7()Lorg/apache/derby/iapi/sql/dictionary/DataDictionary; optimize 9(Lorg/apache/derby/iapi/sql/dictionary/DataDictionary;D)V modifyAccessPaths addPredicate 0(Lorg/apache/derby/impl/sql/compile/Predicate;)V (Z)V getAndNode -()Lorg/apache/derby/impl/sql/compile/AndNode; accept Z(Lorg/apache/derby/iapi/sql/compile/Visitor;)Lorg/apache/derby/iapi/sql/compile/Visitable; getJoinColumns j(Lorg/apache/derby/impl/sql/compile/ResultColumnList;)Lorg/apache/derby/impl/sql/compile/ResultColumnList; removeJoinColumns 7(Lorg/apache/derby/impl/sql/compile/ResultColumnList;)V resetVirtualColumnIds destructiveAppend :(Lorg/apache/derby/impl/sql/compile/QueryTreeNodeVector;)V nondestructiveAppend getName ()Ljava/lang/String; getResultColumn D(Ljava/lang/String;)Lorg/apache/derby/impl/sql/compile/ResultColumn; isRightOuterJoin setRightOuterJoinUsingClause getSQLColumnName newException U(Ljava/lang/String;Ljava/lang/Object;)Lorg/apache/derby/iapi/error/StandardException; setNullability getExpression /()Lorg/apache/derby/impl/sql/compile/ValueNode; getSourceColumn 2()Lorg/apache/derby/impl/sql/compile/ResultColumn; getResultColumns copyListAndObjects setResultColumns genVirtualColumnNodes i(Lorg/apache/derby/impl/sql/compile/ResultSetNode;Lorg/apache/derby/impl/sql/compile/ResultColumnList;Z)V adjustVirtualColumnIds getCompilerContext 5()Lorg/apache/derby/iapi/sql/compile/CompilerContext; doJoinOrderOptimization ()Ljava/lang/Boolean; }(ILjava/lang/Object;Lorg/apache/derby/iapi/services/context/ContextManager;)Lorg/apache/derby/impl/sql/compile/QueryTreeNode; orReliability (I)I bindExpression ?(Lorg/apache/derby/impl/sql/compile/FromList;Lorg/apache/derby/impl/sql/compile/SubqueryList;Ljava/util/Vector;)Lorg/apache/derby/impl/sql/compile/ValueNode; 1org/apache/derby/iapi/sql/compile/CompilerContext setReliability ,org/apache/derby/impl/sql/compile/SelectNode checkNoWindowFunctions F(Lorg/apache/derby/impl/sql/compile/QueryTreeNode;Ljava/lang/String;)V C(Ljava/lang/String;)Lorg/apache/derby/iapi/error/StandardException; java/lang/Boolean TRUE Ljava/lang/Boolean; insertElementAt 5(Lorg/apache/derby/impl/sql/compile/QueryTreeNode;I)V getTableName /()Lorg/apache/derby/impl/sql/compile/TableName; ?(ILjava/lang/Object;Ljava/lang/Object;Lorg/apache/derby/iapi/services/context/ContextManager;)Lorg/apache/derby/impl/sql/compile/QueryTreeNode; bindComparisonOperator postBindFixup requiresTypeFromContext "org/apache/derby/iapi/types/TypeId BOOLEAN_ID $Lorg/apache/derby/iapi/types/TypeId; ((Lorg/apache/derby/iapi/types/TypeId;Z)V setType 3(Lorg/apache/derby/iapi/types/DataTypeDescriptor;)V getTypeId &()Lorg/apache/derby/iapi/types/TypeId; userType genSQLJavaSQLTree getTypeServices 2()Lorg/apache/derby/iapi/types/DataTypeDescriptor; equals (Ljava/lang/Object;)Z getSQLTypeName getLeftResultSet getRightResultSet java/util/List retainAll (Ljava/util/Collection;)Z iterator ()Ljava/util/Iterator; java/util/Iterator hasNext next addResultColumn 3(Lorg/apache/derby/impl/sql/compile/ResultColumn;)V add ½(ILorg/apache/derby/impl/sql/compile/FromList;Lorg/apache/derby/impl/sql/compile/SubqueryList;Lorg/apache/derby/impl/sql/compile/PredicateList;)Lorg/apache/derby/impl/sql/compile/ValueNode; pullExpressions 1(ILorg/apache/derby/impl/sql/compile/ValueNode;)V categorize pullVirtualIsReferenced eliminateNots 0(Z)Lorg/apache/derby/impl/sql/compile/ValueNode; putAndsOnTop changeToCNF getReferencedSet contains '(Lorg/apache/derby/iapi/util/JBitSet;)Z setRedundant "remapColumnReferencesToExpressions -org/apache/derby/impl/sql/compile/GroupByList restorePredicates assignResultSetNumber resultSetNumber setPointOfAttachment getTrulyTheBestAccessPath halfOuterJoinResultSetMethodName joinResultSetMethodName 8org/apache/derby/impl/sql/compile/ActivationClassBuilder !pushGetResultSetFactoryExpression :(Lorg/apache/derby/iapi/services/compiler/MethodBuilder;)V 5org/apache/derby/iapi/services/compiler/MethodBuilder callMethod ;(SLjava/lang/String;Ljava/lang/String;Ljava/lang/String;I)I push pushNull (Ljava/lang/String;)V newUserExprFun 9()Lorg/apache/derby/iapi/services/compiler/MethodBuilder; methodReturn complete pushMethodReference q(Lorg/apache/derby/iapi/services/compiler/MethodBuilder;Lorg/apache/derby/iapi/services/compiler/MethodBuilder;)V (D)V 'org/apache/derby/iapi/util/PropertyUtil sortProperties *(Ljava/util/Properties;)Ljava/lang/String; finalCostEstimate getNewCostEstimate isOneRowResultSet isNotExists ! æ ç è é ê ë ì é ê í î é ê ï ð é ê ñ ò é ê ó ô é ê õ ö ÷ ø ÷ ù ú û ú ü ÷ ý þ ÿ ÷ ú 1 *· *µ ± ? u*+,· *À µ *-À µ *µ *À µ *À µ *´ Æ ,*´ ¶ Æ "**´ ¶ ¶ À µ *´ *´ ¶ ¶ **¶ *¶ ¶ À µ ± 0 $+¹ **¶ **+*´ *¶ -¶ µ *´ ¶ d6? 4*´ ¶ À :¶ ? § *´ ¶ *¶ !¶ "?ÿ§ÿÍ**+*´ *¶ !*´ ¶ #¶ µ **+¶ $µ %*´ %*´ ¶ #¹ & *´ ¶ #¹ & c*´ ¶ #¹ ' *´ ¶ #¹ ' ¹ ( **´ %¶ )*¶ *¹ + *,À ,-+*´ %¹ - +*,*´ %-¹ . *´ /? '*´ 0Æ *´ 0+¹ 1 *´ %¹ ' ¶ 2*´ 0¶ 3*µ /*´ %° . "*´ +À ¶ 4» 5Y· 6M+À ¶ 7,¶ 8W¬ *+· 9W*° ± ? ?*´ Ç *+· :°*¶ ;M,¶ <*´ ¶ =N*´ +¶ <:*´ +¶ <:Æ *´ ¶ >Æ *´ ¶ >Ç Ç °¶ ?°Ç ¶ ?°-¶ @-¶ @-¶ ?-° K ?*´ +¶ <M*´ +¶ <N,Ç -°-Ç ,°*¶ *¶ ¶ À :,¶ A-¶ A° Þ Ò*¶ ;M*¶ BN::::,+¶ C:Æ :*´ Æ *´ ¶ D¶ E:Ç -+¶ C:§ *Á F? *À F¶ G? ¶ HÆ #Æ I+¶ J¸ K¿*Á F? ¶ L:*´ Æ E*´ ¶ M66 ¢ 2*´ ¶ NÀ O: ¶ PÀ Q:¶ R¦ :§ ? §ÿÍ° ! *+· S*´ T? **· Uµ ± *+· V*· W*+· X± "