h2-1.4.197.jar
登录
|
com.h2database:h2:1.4.197
META-INF
org
h2
jdbc
message
expression
engine
upgrade
Driver.java
security
fulltext
api
compress
index
IndexLookupBatch.java
Index.java
FunctionIndex.java
PageIndex.java
AbstractFunctionCursor.java
PageBtreeNode.java
PageDataIndex.java
PageDataOverflow.java
TreeNode.java
PageDataCursor.java
RangeCursor.java
LinkedCursor.java
RangeIndex.java
Cursor.java
IndexCondition.java
MetaCursor.java
ViewCursor.java
PageDataLeaf.java
MetaIndex.java
NonUniqueHashIndex.java
ScanCursor.java
IndexCursor.java
PageBtreeIndex.java
SpatialTreeIndex.java
FunctionCursorResultSet.java
MultiVersionIndex.java
MultiVersionCursor.java
SpatialIndex.java
ScanIndex.java
BaseIndex.java
SingleRowCursor.java
ViewIndex.java
PageBtreeCursor.java
LinkedIndex.java
FunctionCursor.java
PageDataNode.java
HashIndex.java
PageData.java
PageBtreeLeaf.java
TreeIndex.java
IndexType.java
PageBtree.java
PageDelegateIndex.java
TreeCursor.java
NonUniqueHashCursor.java
table
constraint
store
util
bnf
command
tools
server
mode
jdbcx
result
JdbcDriverBackwardsCompat.java
jmx
value
schema
mvstore
TreeCursor.java
清空
类结构
/* * Copyright 2004-2018 H2 Group. Multiple-Licensed under the MPL 2.0, * and the EPL 1.0 (http://h2database.com/html/license.html). * Initial Developer: H2 Group */ package org.h2.index; import org.h2.result.
Row
; import org.h2.result.
SearchRow
; /** * The cursor implementation for a tree index. */ public class
TreeCursor
implements
Cursor
{ private final
TreeIndex
tree
; private
TreeNode
node
; private boolean
beforeFirst
; private final
SearchRow
first
,
last
;
TreeCursor
(
TreeIndex
tree
,
TreeNode
node
,
SearchRow
first
,
SearchRow
last
) { this.
tree
=
tree
; this.
node
=
node
; this.
first
=
first
; this.
last
=
last
;
beforeFirst
= true; } @
Override
public
Row
get
() { return
node
== null ? null :
node
.
row
; } @
Override
public
SearchRow
getSearchRow
() { return
get
(); } @
Override
public boolean
next
() { if (
beforeFirst
) {
beforeFirst
= false; if (
node
== null) { return false; } if (
first
!= null &&
tree
.
compareRows
(
node
.
row
,
first
) < 0) {
node
=
next
(
node
); } } else {
node
=
next
(
node
); } if (
node
!= null &&
last
!= null) { if (
tree
.
compareRows
(
node
.
row
,
last
) > 0) {
node
= null; } } return
node
!= null; } @
Override
public boolean
previous
() {
node
=
previous
(
node
); return
node
!= null; } /** * Get the next node if there is one. * * @param x the node * @return the next node or null */ private static
TreeNode
next
(
TreeNode
x
) { if (
x
== null) { return null; }
TreeNode
r
=
x
.
right
; if (
r
!= null) {
x
=
r
;
TreeNode
l
=
x
.
left
; while (
l
!= null) {
x
=
l
;
l
=
x
.
left
; } return
x
; }
TreeNode
ch
=
x
;
x
=
x
.
parent
; while (
x
!= null &&
ch
==
x
.
right
) {
ch
=
x
;
x
=
x
.
parent
; } return
x
; } /** * Get the previous node if there is one. * * @param x the node * @return the previous node or null */ private static
TreeNode
previous
(
TreeNode
x
) { if (
x
== null) { return null; }
TreeNode
l
=
x
.
left
; if (
l
!= null) {
x
=
l
;
TreeNode
r
=
x
.
right
; while (
r
!= null) {
x
=
r
;
r
=
x
.
right
; } return
x
; }
TreeNode
ch
=
x
;
x
=
x
.
parent
; while (
x
!= null &&
ch
==
x
.
left
) {
ch
=
x
;
x
=
x
.
parent
; } return
x
; } }
查找资源
Jre/Lib
输入类名或文件名
类结构窗口