org.apache.jackrabbit.oak.plugins.index.property.strategy.OrderedContentMirrorStoreStrategy.class Maven / Gradle / Ivy
???? 23 ??
??
?? ?? ??
???? ??
?
??
?????
???????? <?
??
??
? ???
??
?? ??
???
"?
??????
??
???? <?
???
??
?????? <???????????? < < <
A
C?? <
?
?
N
?
?
X ? !
?" ?#$% ?&
?'(
c)*
e+,
g-.
i/ ?012345 6
?789
:;<=>
y?@
AB CD
EF
GHIJ?KM
??
?N
?O
?P
?Q
?RS? TU!V
?W
?XY
?Z ??[ ?\#]
?^ ?_ ???
`a ?bc
?Z#defgh
i
?j
klm ?nop?qr?stuvwxyz{|}
A~ ?
??
?O?? ? <?U??
?? ??
?????? ??
??U?U? ??
??
?? ??
? ??? <? ???
???
??
??? FixingDanglingLinkCallback InnerClasses LoggingDanglinLinkCallback? DanglingLinkCallback? BetweenIterator BetweenIterable PredicateLessThan PredicateGreaterThan PredicateEquals SeekedIterable? SeekedIterator FullIterable? FullIterator QueryResultsWrapper OrderedChildNodeEntry
EMPTY_NEXT Ljava/lang/Iterable; Signature (Ljava/lang/Iterable; EMPTY_NEXT_ARRAY [Ljava/lang/String; NEXT Ljava/lang/String;
ConstantValue START EMPTY_START_NODE /Lorg/apache/jackrabbit/oak/spi/state/NodeState; LOG Lorg/slf4j/Logger; RND Ljava/util/Random; MAX_RETRIES I direction? OrderDirection NLorg/apache/jackrabbit/oak/plugins/index/property/OrderedIndex$OrderDirection; ()V Code LineNumberTable LocalVariableTable this ]Lorg/apache/jackrabbit/oak/plugins/index/property/strategy/OrderedContentMirrorStoreStrategy; Q(Lorg/apache/jackrabbit/oak/plugins/index/property/OrderedIndex$OrderDirection;)V printWalkedLanes ((Ljava/lang/String;[Ljava/lang/String;)V i m msg walked
StackMapTable? fetchKeyNode v(Lorg/apache/jackrabbit/oak/spi/state/NodeBuilder;Ljava/lang/String;)Lorg/apache/jackrabbit/oak/spi/state/NodeBuilder; next predecessor 1Lorg/apache/jackrabbit/oak/spi/state/NodeBuilder; l lane index key node start condition? Predicate ILorg/apache/jackrabbit/oak/plugins/index/property/OrderedIndex$Predicate; entry LocalVariableTypeTable ]Lorg/apache/jackrabbit/oak/plugins/index/property/OrderedIndex$Predicate;??? "RuntimeVisibleParameterAnnotations Ljavax/annotation/Nonnull; prune W(Lorg/apache/jackrabbit/oak/spi/state/NodeBuilder;Ljava/util/Deque;Ljava/lang/String;)V currNext prevNext walkedLanes lane0Next i$ Ljava/util/Iterator; builders Ljava/util/Deque; DLjava/util/Deque;?? ?(Lorg/apache/jackrabbit/oak/spi/state/NodeBuilder;Ljava/util/Deque;Ljava/lang/String;)V getChildNodeEntries E(Lorg/apache/jackrabbit/oak/spi/state/NodeState;)Ljava/lang/Iterable; |(Lorg/apache/jackrabbit/oak/spi/state/NodeState;)Ljava/lang/Iterable<+Lorg/apache/jackrabbit/oak/spi/state/ChildNodeEntry;>; RuntimeVisibleAnnotations F(Lorg/apache/jackrabbit/oak/spi/state/NodeState;Z)Ljava/lang/Iterable; includeStart Z cne startNext KLjava/lang/Iterable<+Lorg/apache/jackrabbit/oak/spi/state/ChildNodeEntry;>;?? }(Lorg/apache/jackrabbit/oak/spi/state/NodeState;Z)Ljava/lang/Iterable<+Lorg/apache/jackrabbit/oak/spi/state/ChildNodeEntry;>; query PropertyRestriction ?(Lorg/apache/jackrabbit/oak/spi/query/Filter;Ljava/lang/String;Lorg/apache/jackrabbit/oak/spi/state/NodeState;Lorg/apache/jackrabbit/oak/spi/query/Filter$PropertyRestriction;)Ljava/lang/Iterable; filter ,Lorg/apache/jackrabbit/oak/spi/query/Filter; indexName indexMeta pr @Lorg/apache/jackrabbit/oak/spi/query/Filter$PropertyRestriction; ?(Lorg/apache/jackrabbit/oak/spi/query/Filter;Ljava/lang/String;Lorg/apache/jackrabbit/oak/spi/state/NodeState;Lorg/apache/jackrabbit/oak/spi/query/Filter$PropertyRestriction;)Ljava/lang/Iterable; ?(Lorg/apache/jackrabbit/oak/spi/query/Filter;Ljava/lang/String;Lorg/apache/jackrabbit/oak/spi/state/NodeState;Lorg/apache/jackrabbit/oak/spi/query/Filter$PropertyRestriction;Ljava/lang/String;)Ljava/lang/Iterable;
pathPrefix ?(Lorg/apache/jackrabbit/oak/spi/query/Filter;Ljava/lang/String;Lorg/apache/jackrabbit/oak/spi/state/NodeState;Lorg/apache/jackrabbit/oak/spi/query/Filter$PropertyRestriction;Ljava/lang/String;)Ljava/lang/Iterable; ?(Lorg/apache/jackrabbit/oak/spi/query/Filter;Ljava/lang/String;Lorg/apache/jackrabbit/oak/spi/state/NodeState;Ljava/lang/String;Lorg/apache/jackrabbit/oak/spi/query/Filter$PropertyRestriction;Ljava/lang/String;)Ljava/lang/Iterable; childrenIterable firstValueableItem 4Lorg/apache/jackrabbit/oak/spi/state/ChildNodeEntry; firstValuableItemKey op1 op2 first last includeFirst includeLast it searchfor include predicate firstValueableItemKey pf indexStorageNodeName
indexState firstEncoded lastEncoded JLjava/lang/Iterable;?M[ ?(Lorg/apache/jackrabbit/oak/spi/query/Filter;Ljava/lang/String;Lorg/apache/jackrabbit/oak/spi/state/NodeState;Ljava/lang/String;Lorg/apache/jackrabbit/oak/spi/query/Filter$PropertyRestriction;Ljava/lang/String;)Ljava/lang/Iterable; encode &(Ljava/lang/String;)Ljava/lang/String; v e &Ljava/io/UnsupportedEncodingException; valueI count s(Lorg/apache/jackrabbit/oak/spi/state/NodeState;Lorg/apache/jackrabbit/oak/spi/query/Filter$PropertyRestriction;I)J CountingNodeVisitor jLorg/apache/jackrabbit/oak/plugins/index/property/strategy/ContentMirrorStoreStrategy$CountingNodeVisitor; n ec -Lorg/apache/jackrabbit/oak/api/PropertyState; converted child vv dd children
depthTotal max J content lpr?? seek ?(Lorg/apache/jackrabbit/oak/spi/state/NodeBuilder;Lorg/apache/jackrabbit/oak/plugins/index/property/OrderedIndex$Predicate;)Ljava/lang/String; ?(Lorg/apache/jackrabbit/oak/spi/state/NodeBuilder;Lorg/apache/jackrabbit/oak/plugins/index/property/OrderedIndex$Predicate;)Ljava/lang/String;(Lorg/apache/jackrabbit/oak/spi/state/NodeBuilder;Lorg/apache/jackrabbit/oak/plugins/index/property/OrderedIndex$Predicate;[Ljava/lang/String;ILorg/apache/jackrabbit/oak/plugins/index/property/strategy/OrderedContentMirrorStoreStrategy$DanglingLinkCallback;)Ljava/lang/String; stillLaning nextkey currentNode iteration
exitCondition retries callback rLorg/apache/jackrabbit/oak/plugins/index/property/strategy/OrderedContentMirrorStoreStrategy$DanglingLinkCallback;
keepWalked walkingPredicate
currentKey found??((Lorg/apache/jackrabbit/oak/spi/state/NodeBuilder;Lorg/apache/jackrabbit/oak/plugins/index/property/OrderedIndex$Predicate;[Ljava/lang/String;ILorg/apache/jackrabbit/oak/plugins/index/property/strategy/OrderedContentMirrorStoreStrategy$DanglingLinkCallback;)Ljava/lang/String; Ljavax/annotation/Nullable; ensureAndCleanNode ?(Lorg/apache/jackrabbit/oak/spi/state/NodeBuilder;Ljava/lang/String;Ljava/lang/String;ILorg/apache/jackrabbit/oak/plugins/index/property/strategy/OrderedContentMirrorStoreStrategy$DanglingLinkCallback;)Z current setPropertyNext G(Lorg/apache/jackrabbit/oak/spi/state/NodeBuilder;[Ljava/lang/String;)V len list Ljava/util/List; $Ljava/util/List;? G(Lorg/apache/jackrabbit/oak/spi/state/NodeBuilder;Ljava/lang/String;I)V values getPropertyNext C(Lorg/apache/jackrabbit/oak/spi/state/NodeState;)Ljava/lang/String; nodeState D(Lorg/apache/jackrabbit/oak/spi/state/NodeState;I)Ljava/lang/String; state E(Lorg/apache/jackrabbit/oak/spi/state/NodeBuilder;)Ljava/lang/String; F(Lorg/apache/jackrabbit/oak/spi/state/NodeBuilder;I)Ljava/lang/String; ps getLane ()I (Ljava/util/Random;)I rnd maxLanes
access$000 x0 x1 x2 x3 x4
access$100 ()Lorg/slf4j/Logger;
SourceFile &OrderedContentMirrorStoreStrategy.java ? ???????? java/lang/StringBuilder??
walked: null???? {}walked[{}]: {} java/lang/Object????? "fetchKeyNode() - === new item '{}'?? :start??? porg/apache/jackrabbit/oak/plugins/index/property/strategy/OrderedContentMirrorStoreStrategy$PredicateGreaterThan? morg/apache/jackrabbit/oak/plugins/index/property/strategy/OrderedContentMirrorStoreStrategy$PredicateLessThan? java/lang/String????? ? ??? vorg/apache/jackrabbit/oak/plugins/index/property/strategy/OrderedContentMirrorStoreStrategy$FixingDanglingLinkCallback????? fetchKeyNode() - entry: {} fetchKeyNode() - ?? $fetchKeyNode() - node already there.?????? #fetchKeyNode() - extracted lane: {}???? fetchKeyNode() - on lane: {} 'fetchKeyNode() - next from previous: {} 9fetchKeyNode() - new status of predecessor name: {} - {} :next???? 'fetchKeyNode() - new node name: {} - {} prune() - deleting: {}??????? /org/apache/jackrabbit/oak/spi/state/NodeBuilder match?????? korg/apache/jackrabbit/oak/plugins/index/property/strategy/OrderedContentMirrorStoreStrategy$PredicateEquals? vorg/apache/jackrabbit/oak/plugins/index/property/strategy/OrderedContentMirrorStoreStrategy$LoggingDanglinLinkCallback prune() - walkedLanes[{}]: {} 6prune() - setting next for '{}' on lane '{}' with '{}'????<@???????? horg/apache/jackrabbit/oak/plugins/index/property/strategy/OrderedContentMirrorStoreStrategy$FullIterable?IS :indexIV query() - filter: {} query() - indexName: {} query() - indexMeta: {} "query() - indexStorageNodeName: {} query() - pr: {} 3org/apache/jackrabbit/oak/spi/state/ReadOnlyBuilder?]???????pq^? '>' & '>=' and between use case > & >= case.?B?? qorg/apache/jackrabbit/oak/plugins/index/property/strategy/OrderedContentMirrorStoreStrategy$OrderedChildNodeEntry? jorg/apache/jackrabbit/oak/plugins/index/property/strategy/OrderedContentMirrorStoreStrategy$SeekedIterable? oorg/apache/jackrabbit/oak/plugins/index/property/strategy/OrderedContentMirrorStoreStrategy$QueryResultsWrapper? korg/apache/jackrabbit/oak/plugins/index/property/strategy/OrderedContentMirrorStoreStrategy$BetweenIterable??B >= > <= < Ain between case. direction: {} - Condition: (x {} {} AND x {} {})? firstValueableItem: {} '<' & '<=' use case :< & <= case. - searchfor: {} - include: {} - predicate: {}??? firstValuableItem: {} 'property = $value' case ]org/apache/jackrabbit/oak/plugins/index/property/strategy/OrderedContentMirrorStoreStrategy$1? 4property is not null. AKA 'open query'. FullIterable??????????p? $java/io/UnsupportedEncodingException Error while encoding value.??? >org/apache/jackrabbit/oak/spi/query/Filter$PropertyRestriction horg/apache/jackrabbit/oak/plugins/index/property/strategy/ContentMirrorStoreStrategy$CountingNodeVisitor???????
entryCount ?? java/lang/Long<= ]org/apache/jackrabbit/oak/plugins/index/property/strategy/OrderedContentMirrorStoreStrategy$2 2org/apache/jackrabbit/oak/spi/state/ChildNodeEntry????? w ]org/apache/jackrabbit/oak/plugins/index/property/strategy/OrderedContentMirrorStoreStrategy$3
? seek() - Searching for: {} seek() - condition: {} "java/lang/IllegalArgumentException HWrong size for keeping track of the Walked Lanes. Expected %d but was %d?
? seek() - cross case seek() - plain case IAttempted a lookup and fix for {} times. Leaving it be and returning null &seek()::plain case - --- iteration: {}?? 2seek()::plain case - retries: {}, MAX_RETRIES: {}?? seek()::plain case - lane: {} #seek()::plain case - currentKey: {} seek()::plain case - nextkey: {} 1seek()::plain case - condition.apply(nextkey): {} seek()::plain case - found: {} 8seek()::plain case - !Strings.isNullOrEmpty(nextkey): {} 8seek()::plain case - walkingPredicate.apply(nextkey): {} $seek()::plain case - stillLaning: {} (seek()::plain case - While Condition: {} $The lane must be between 0 and LANES? java/util/ArrayList???? java/lang/Iterable topping-up the number of lanes.? ? ???w?? ? ??!"#$%&'( ?)*+, ? ? [org/apache/jackrabbit/oak/plugins/index/property/strategy/OrderedContentMirrorStoreStrategy-./ java/util/Random012 Torg/apache/jackrabbit/oak/plugins/index/property/strategy/ContentMirrorStoreStrategy porg/apache/jackrabbit/oak/plugins/index/property/strategy/OrderedContentMirrorStoreStrategy$DanglingLinkCallback korg/apache/jackrabbit/oak/plugins/index/property/strategy/OrderedContentMirrorStoreStrategy$BetweenIterator jorg/apache/jackrabbit/oak/plugins/index/property/strategy/OrderedContentMirrorStoreStrategy$SeekedIterator horg/apache/jackrabbit/oak/plugins/index/property/strategy/OrderedContentMirrorStoreStrategy$FullIterator Lorg/apache/jackrabbit/oak/plugins/index/property/OrderedIndex$OrderDirection Gorg/apache/jackrabbit/oak/plugins/index/property/OrderedIndex$Predicate java/util/Iterator java/util/Deque -org/apache/jackrabbit/oak/spi/state/NodeState *org/apache/jackrabbit/oak/spi/query/Filter +org/apache/jackrabbit/oak/api/PropertyState org/slf4j/Logger java/util/List =org/apache/jackrabbit/oak/plugins/index/property/OrderedIndex DEFAULT_DIRECTION isTraceEnabled ()Z append -(Ljava/lang/String;)Ljava/lang/StringBuilder; toString ()Ljava/lang/String; trace (Ljava/lang/String;)V java/lang/Integer valueOf (I)Ljava/lang/Integer; ((Ljava/lang/String;[Ljava/lang/Object;)V debug '(Ljava/lang/String;Ljava/lang/Object;)V E(Ljava/lang/String;)Lorg/apache/jackrabbit/oak/spi/state/NodeBuilder; isAscending (Ljava/lang/String;Z)V LANES com/google/common/base/Strings
isNullOrEmpty (Ljava/lang/String;)Z 4(Lorg/apache/jackrabbit/oak/spi/state/NodeBuilder;)V isDebugEnabled equals (Ljava/lang/Object;)Z getChildNode getProperty A(Ljava/lang/String;)Lorg/apache/jackrabbit/oak/api/PropertyState; 9(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V iterator ()Ljava/util/Iterator; hasNext ()Ljava/lang/Object; hasProperty getChildNodeCount (J)J exists remove C(Ljava/lang/String;)Lorg/apache/jackrabbit/oak/spi/state/NodeState; java/util/Collections emptyList ()Ljava/util/List; 3(Lorg/apache/jackrabbit/oak/spi/state/NodeState;Z)V 2(Lorg/apache/jackrabbit/oak/spi/state/NodeState;)V -Lorg/apache/jackrabbit/oak/api/PropertyValue; "org/apache/jackrabbit/oak/api/Type STRING $Lorg/apache/jackrabbit/oak/api/Type; +org/apache/jackrabbit/oak/api/PropertyValue getValue 8(Lorg/apache/jackrabbit/oak/api/Type;)Ljava/lang/Object; firstIncluding D(Ljava/lang/String;Lorg/apache/jackrabbit/oak/spi/state/NodeState;)V f(Lorg/apache/jackrabbit/oak/spi/state/NodeState;Lorg/apache/jackrabbit/oak/spi/state/ChildNodeEntry;)V g(Lorg/apache/jackrabbit/oak/spi/query/Filter;Ljava/lang/String;Ljava/lang/Iterable;Ljava/lang/String;)V ?(Lorg/apache/jackrabbit/oak/spi/state/NodeState;Lorg/apache/jackrabbit/oak/spi/state/ChildNodeEntry;Ljava/lang/String;ZLorg/apache/jackrabbit/oak/plugins/index/property/OrderedIndex$OrderDirection;)V
lastIncluding ASC java/lang/Boolean (Z)Ljava/lang/Boolean; ?(Lorg/apache/jackrabbit/oak/plugins/index/property/strategy/OrderedContentMirrorStoreStrategy;Lorg/apache/jackrabbit/oak/spi/query/Filter;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lorg/apache/jackrabbit/oak/spi/state/NodeState;)V $com/google/common/base/Preconditions checkNotNull &(Ljava/lang/Object;)Ljava/lang/Object; com/google/common/base/Charsets UTF_8 Ljava/nio/charset/Charset; java/nio/charset/Charset name java/net/URLEncoder 8(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; error (I)V visit getEstimatedCount isNotNullRestriction LONG longValue ()J ?(Lorg/apache/jackrabbit/oak/plugins/index/property/strategy/OrderedContentMirrorStoreStrategy;Ljava/lang/String;ZLorg/apache/jackrabbit/oak/plugins/index/property/OrderedIndex$OrderDirection;)V getName apply getCount java/lang/Math min (JJ)J getSearchFor format 9(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String; isDescending
checkArgument (ZLjava/lang/Object;)V perform ((Ljava/lang/String;Ljava/lang/String;I)V length add STRINGS setProperty {(Ljava/lang/String;Ljava/lang/Object;Lorg/apache/jackrabbit/oak/api/Type;)Lorg/apache/jackrabbit/oak/spi/state/NodeBuilder; isArray #com/google/common/collect/Iterables toArray :(Ljava/lang/Iterable;Ljava/lang/Class;)[Ljava/lang/Object; com/google/common/collect/Lists newArrayList *([Ljava/lang/Object;)Ljava/util/ArrayList; size (([Ljava/lang/Object;)[Ljava/lang/Object; 9(Lorg/apache/jackrabbit/oak/api/Type;I)Ljava/lang/Object;
nextDouble ()D DEFAULT_PROBABILITY D nCopies %(ILjava/lang/Object;)Ljava/util/List; 7org/apache/jackrabbit/oak/plugins/memory/EmptyNodeState
EMPTY_NODE builder 3()Lorg/apache/jackrabbit/oak/spi/state/NodeBuilder; getNodeState 1()Lorg/apache/jackrabbit/oak/spi/state/NodeState; org/slf4j/LoggerFactory getLogger %(Ljava/lang/Class;)Lorg/slf4j/Logger; java/lang/System currentTimeMillis (J)V ! ? ? ? ? ? ? ? ? ? ? ? 4 ? ? ? ? ? ? ? ? > *? *? ? ?
x t y
F
*? *+? ?
| } ~
? f? ? ? ]*? ? *M+? !? ? Y?
,? ? ?
? ? 0>+?? (? ? Y,SY? SY+2S? ???ر
" ? ? ? ? 8 ? @ ? _ ? e ? * : + O ? f ? f ? @? "? ? * T? ,? N+? :*? ? ? ? Y,? ? ? Y,? :? ? :? ? ? ? ? !*+? "Y+? #? $:? ? % ? ? &? '? (? !,? )? ? *? + +,? , N? ?+,? N-? ? !*? -6? .? ? 6? ?+2? , :
? /:
,? 0- ? 0? ? % ? I? 1? ? ? 2 ? ? 32
4? 5 ? 6 ? 7,-4? 5 ? 6 ?????-?
z ? ?
? ? 8 ? @ ? K ? S ? g ? r ? ~ ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?! ?9 ?L ?R ? z ? g ? ? p
? ? ? ? T
T T ?
G =! 8"% @ ? g ?&