亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? multiversioncursor.java

?? 非常棒的java數據庫
?? JAVA
字號:
/*
 * Copyright 2004-2008 H2 Group. Licensed under the H2 License, Version 1.0
 * (http://h2database.com/html/license.html).
 * Initial Developer: H2 Group
 */
package org.h2.index;

import java.sql.SQLException;
import org.h2.constant.SysProperties;
import org.h2.engine.Session;
import org.h2.message.Message;
import org.h2.result.Row;
import org.h2.result.SearchRow;

/**
 * The cursor implementation for the multi-version index.
 */
public class MultiVersionCursor implements Cursor {

    private final MultiVersionIndex index;
    private final Session session;
    private final Cursor baseCursor, deltaCursor;
    private final Object sync;
    private SearchRow baseRow;
    private Row deltaRow;
    private boolean onBase;
    private boolean end;
    private boolean needNewDelta, needNewBase;

    MultiVersionCursor(Session session, MultiVersionIndex index, Cursor base, Cursor delta, Object sync) throws SQLException {
        this.session = session;
        this.index = index;
        this.baseCursor = base;
        this.deltaCursor = delta;
        this.sync = sync;
        needNewDelta = needNewBase = true;
    }

    private void loadNext(boolean base) throws SQLException {
        synchronized (sync) {
            if (base) {
                if (baseCursor.next()) {
                    baseRow = baseCursor.getSearchRow();
                } else {
                    baseRow = null;
                }
            } else {
                if (deltaCursor.next()) {
                    deltaRow = deltaCursor.get();
                } else {
                    deltaRow = null;
                }
            }
        }
    }

    public Row get() throws SQLException {
        synchronized (sync) {
            if (SysProperties.CHECK && end) {
                throw Message.getInternalError();
            }
            return onBase ? baseCursor.get() : deltaCursor.get();
        }
    }

    public int getPos() {
        synchronized (sync) {
            if (SysProperties.CHECK && end) {
                throw Message.getInternalError();
            }
            return onBase ? baseCursor.getPos() : deltaCursor.getPos();
        }
    }

    public SearchRow getSearchRow() throws SQLException {
        synchronized (sync) {
            if (SysProperties.CHECK && end) {
                throw Message.getInternalError();
            }
            return onBase ? baseCursor.getSearchRow() : deltaCursor.getSearchRow();
        }
    }

    public boolean next() throws SQLException {
        synchronized (sync) {
            if (SysProperties.CHECK && end) {
                throw Message.getInternalError();
            }
            while (true) {
                if (needNewDelta) {
                    loadNext(false);
                    needNewDelta = false;
                }
                if (needNewBase) {
                    loadNext(true);
                    needNewBase = false;
                }
                if (deltaRow == null) {
                    if (baseRow == null) {
                        end = true;
                        return false;
                    } else {
                        onBase = true;
                        needNewBase = true;
                        return true;
                    }
                }
                int sessionId = deltaRow.getSessionId();
                boolean isThisSession = sessionId == session.getId();
                boolean isDeleted = deltaRow.getDeleted();
                if (isThisSession && isDeleted) {
                    needNewDelta = true;
                    continue;
                }
                if (baseRow == null) {
                    if (isDeleted) {
                        if (isThisSession) {
                            end = true;
                            return false;
                        } else {
                            // the row was deleted by another session: return it
                            onBase = false;
                            needNewDelta = true;
                            return true;
                        }
                    }
                    throw Message.getInternalError();
                }
                int compare = index.compareRows(deltaRow, baseRow);
                if (compare == 0) {
                    compare = index.compareKeys(deltaRow, baseRow);
                }
                if (compare == 0) {
                    if (isDeleted) {
                        if (isThisSession) {
                            throw Message.getInternalError();
                        } else {
                            // another session updated the row: must be deleted
                            // in base as well
                            throw Message.getInternalError();
                        }
                    } else {
                        if (isThisSession) {
                            onBase = false;
                            needNewBase = true;
                            needNewDelta = true;
                            return true;
                        } else {
                            // another session inserted the row: ignore
                            needNewBase = true;
                            needNewDelta = true;
                            continue;
                        }
                    }
                }
                if (compare > 0) {
                    onBase = true;
                    needNewBase = true;
                    return true;
                }
                if (!isDeleted) {
                    throw Message.getInternalError();
                }
                onBase = false;
                needNewDelta = true;
                return true;
            }
        }
    }
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
最新国产成人在线观看| 一区二区三区久久久| 日本91福利区| 欧美一区二区国产| 专区另类欧美日韩| 国产精品日韩成人| 亚洲国产精品综合小说图片区| 色av一区二区| 美女精品自拍一二三四| 中文字幕欧美激情一区| 色94色欧美sute亚洲线路一ni| 丁香婷婷综合色啪| 夜夜爽夜夜爽精品视频| 一区二区三区小说| 亚洲国产一区在线观看| 日本成人超碰在线观看| 国产精品丝袜黑色高跟| 国产精品天天看| 亚洲乱码中文字幕综合| 精品99一区二区| 色婷婷久久综合| 狠狠色综合日日| 亚洲第一福利一区| 国产精品久久久久一区二区三区共 | 久久久久国产一区二区三区四区| 高清免费成人av| 99久久er热在这里只有精品15| 日日夜夜精品视频天天综合网| 亚洲欧洲av色图| 亚洲国产日产av| 国产永久精品大片wwwapp| 亚洲制服丝袜av| 亚洲男人的天堂网| 欧美激情在线一区二区三区| 亚洲男人天堂av| 日本午夜一区二区| 粉嫩嫩av羞羞动漫久久久 | 亚洲人一二三区| 日韩黄色片在线观看| 狠狠久久亚洲欧美| 在线亚洲欧美专区二区| 成人中文字幕电影| 国产精品一区一区三区| 免费不卡在线视频| 91影院在线观看| 不卡一区二区在线| 成人a级免费电影| 欧美一区二区国产| 亚洲日本电影在线| 国产一区在线观看麻豆| 欧美日韩国产首页在线观看| 这里只有精品视频在线观看| 91美女视频网站| 精品在线你懂的| 日韩一区二区在线看| 色欧美乱欧美15图片| 日韩精品中文字幕在线不卡尤物| 欧美一级黄色片| 亚洲视频香蕉人妖| 国产一区久久久| 91精品国产入口| 一区二区三区免费网站| 成人免费va视频| 精品处破学生在线二十三| 午夜久久久久久| 免费在线观看精品| 在线观看三级视频欧美| 国产精品国产三级国产普通话蜜臀 | 中文在线一区二区| 精品国产亚洲在线| 国产免费成人在线视频| 国产日韩精品一区| 精品影视av免费| 日韩一级免费观看| 天堂资源在线中文精品| 欧美在线观看一区| 亚洲综合在线第一页| 色狠狠色噜噜噜综合网| 亚洲人精品午夜| 色婷婷精品久久二区二区蜜臀av| 自拍偷在线精品自拍偷无码专区| 国产成a人无v码亚洲福利| 国产日韩精品视频一区| 国产成人av电影在线播放| 国产欧美精品在线观看| 国产精品一区二区三区乱码 | 青青草国产成人av片免费| 91精品蜜臀在线一区尤物| 日韩精品福利网| 日韩免费电影网站| 国产美女av一区二区三区| 国产亚洲综合av| 天天射综合影视| 欧美一级黄色片| 国产九色精品成人porny | 成人精品一区二区三区四区| 亚洲国产精品av| 一本一道综合狠狠老| 亚洲另类一区二区| 欧美二区三区的天堂| 国产精品福利一区| 欧美午夜精品一区二区蜜桃| 国产欧美日韩精品在线| 99久免费精品视频在线观看| 精品国产乱码久久久久久图片 | 欧美视频三区在线播放| 丝袜美腿亚洲一区二区图片| 欧美成人video| 午夜视黄欧洲亚洲| 精品国产一区二区三区不卡| 成人久久久精品乱码一区二区三区| 国产精品国产三级国产aⅴ原创| 欧美网站大全在线观看| 国内精品伊人久久久久av影院 | 色噜噜狠狠一区二区三区果冻| 亚洲曰韩产成在线| 欧美mv和日韩mv国产网站| 91影院在线免费观看| 蜜桃在线一区二区三区| 亚洲色图第一区| 日韩久久久精品| 色婷婷综合久久久中文字幕| 精品影院一区二区久久久| 免费观看成人鲁鲁鲁鲁鲁视频| 色94色欧美sute亚洲线路一ni| 久久婷婷国产综合精品青草 | 欧美一区二区三区免费大片| 婷婷开心久久网| 精品福利一区二区三区| 色94色欧美sute亚洲线路二| 国产在线看一区| 亚洲成人一区二区| 欧美激情一区二区在线| 欧美va亚洲va国产综合| 欧美亚洲综合另类| 99久免费精品视频在线观看| 韩国成人福利片在线播放| 日日欢夜夜爽一区| 亚洲乱码中文字幕| 国产精品国产三级国产普通话三级 | 国产日产欧美一区二区视频| 欧美丰满少妇xxxbbb| 欧美亚洲一区二区三区四区| 日韩影院在线观看| 亚洲三级在线免费| 国产精品成人免费精品自在线观看| 日韩亚洲欧美综合| 欧美少妇bbb| 欧洲精品一区二区| 色综合久久久久综合体桃花网| 处破女av一区二区| 国产suv精品一区二区883| 国产一区二区视频在线| 精品在线观看免费| 久久国产精品第一页| 日韩精品一区在线| 欧美一区二区三区四区五区| 欧美日韩二区三区| 欧美剧在线免费观看网站| 欧美在线一二三四区| 欧美影视一区二区三区| 欧美性生活久久| 欧美日韩国产免费一区二区| 欧美军同video69gay| 欧美一区二区三区婷婷月色| 日韩视频在线一区二区| 欧美精品一区二区三区在线播放| 欧美mv日韩mv国产| 国产日产欧美一区二区视频| 中文成人av在线| 亚洲乱码中文字幕综合| 亚洲一区二区三区国产| 日本伊人精品一区二区三区观看方式| 日韩国产欧美在线播放| 免费人成黄页网站在线一区二区| 精品系列免费在线观看| 风间由美中文字幕在线看视频国产欧美| 国产精品国产三级国产aⅴ入口| 亚洲欧洲性图库| 午夜精品久久久久久久久久 | 精品国精品国产| 亚洲国产精品成人久久综合一区 | 91久久精品一区二区三| 欧美日韩国产影片| 久久久久亚洲蜜桃| 亚洲精品大片www| 青青草97国产精品免费观看| 国产成人午夜精品5599| 久久国内精品视频| eeuss影院一区二区三区| 欧美熟乱第一页| 精品国产乱码久久久久久影片| 国产人久久人人人人爽| 午夜精品久久久久久久| 国产精品77777| 欧美日韩精品二区第二页| 色视频欧美一区二区三区| 亚洲国产精品久久久男人的天堂| 裸体一区二区三区| 在线视频中文字幕一区二区|