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
PageDataCursor.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 java.util.
Iterator
; import org.h2.engine.
Session
; import org.h2.message.
DbException
; import org.h2.result.
Row
; import org.h2.result.
SearchRow
; /** * The cursor implementation for the page scan index. */ class
PageDataCursor
implements
Cursor
{ private
PageDataLeaf
current
; private int
idx
; private final long
maxKey
; private
Row
row
; private final boolean
multiVersion
; private final
Session
session
; private
Iterator
<
Row
>
delta
;
PageDataCursor
(
Session
session
,
PageDataLeaf
current
, int
idx
, long
maxKey
, boolean
multiVersion
) { this.
current
=
current
; this.
idx
=
idx
; this.
maxKey
=
maxKey
; this.
multiVersion
=
multiVersion
; this.
session
=
session
; if (
multiVersion
) {
delta
=
current
.
index
.
getDelta
(); } } @
Override
public
Row
get
() { return
row
; } @
Override
public
SearchRow
getSearchRow
() { return
get
(); } @
Override
public boolean
next
() { if (!
multiVersion
) {
nextRow
(); return
checkMax
(); } while (true) { if (
delta
!= null) { if (!
delta
.
hasNext
()) {
delta
= null;
row
= null; continue; }
row
=
delta
.
next
(); if (!
row
.
isDeleted
() ||
row
.
getSessionId
() ==
session
.
getId
()) { continue; } } else {
nextRow
(); if (
row
!= null &&
row
.
getSessionId
() != 0 &&
row
.
getSessionId
() !=
session
.
getId
()) { continue; } } break; } return
checkMax
(); } private boolean
checkMax
() { if (
row
!= null) { if (
maxKey
!=
Long
.
MAX_VALUE
) { long
x
=
current
.
index
.
getKey
(
row
,
Long
.
MAX_VALUE
,
Long
.
MAX_VALUE
); if (
x
>
maxKey
) {
row
= null; return false; } } return true; } return false; } private void
nextRow
() { if (
idx
>=
current
.
getEntryCount
()) {
current
=
current
.
getNextPage
();
idx
= 0; if (
current
== null) {
row
= null; return; } }
row
=
current
.
getRowAt
(
idx
);
idx
++; } @
Override
public boolean
previous
() { throw
DbException
.
throwInternalError
(
toString
()); } }
查找资源
Jre/Lib
输入类名或文件名
类结构窗口