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

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

?? h2dictionary.java.txt

?? 非常棒的java數據庫
?? TXT
字號:
package org.apache.openjpa.jdbc.sql;

import java.math.BigDecimal;
import java.sql.Connection;
import java.sql.DatabaseMetaData;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.sql.Types;
import java.util.Arrays;
import java.util.Locale;

import org.apache.commons.lang.StringUtils;
import org.apache.openjpa.jdbc.kernel.exps.FilterValue;
import org.apache.openjpa.jdbc.schema.Column;
import org.apache.openjpa.jdbc.schema.PrimaryKey;
import org.apache.openjpa.jdbc.schema.Table;
import org.apache.openjpa.jdbc.schema.Unique;
import org.apache.openjpa.meta.JavaTypes;

public class H2Dictionary extends DBDictionary {

    public H2Dictionary() {
        platform = "H2";
        validationSQL = "CALL 1";
        closePoolSQL = "SHUTDOWN";

        supportsAutoAssign = true;
        lastGeneratedKeyQuery = "CALL IDENTITY()";
        autoAssignClause = "IDENTITY";
        autoAssignTypeName = "INTEGER";
        nextSequenceQuery = "CALL NEXT VALUE FOR {0}";

        // CROSS JOIN is currently not supported
        crossJoinClause = "JOIN";
        requiresConditionForCrossJoin = true;
        stringLengthFunction = "LENGTH({0})";
        trimLeadingFunction = "LTRIM({0})";
        trimTrailingFunction = "RTRIM({0})";
        trimBothFunction = "TRIM({0})";

        useSchemaName = true;
        supportsSelectForUpdate = true;
        supportsSelectStartIndex = true;
        supportsSelectEndIndex = true;
        rangePosition = RANGE_POST_LOCK;
        supportsDeferredConstraints = false;

        blobTypeName = "BLOB";
        doubleTypeName = "DOUBLE";

        supportsNullTableForGetPrimaryKeys = true;
        supportsNullTableForGetIndexInfo = true;

        requiresCastForMathFunctions = false;
        requiresCastForComparisons = false;

        reservedWordSet.addAll(Arrays.asList(new String[] { "CURRENT_TIMESTAMP", "CURRENT_TIME", "CURRENT_DATE", "CROSS", "DISTINCT", "EXCEPT", "EXISTS", "FROM", "FOR", "FALSE",
                "FULL", "GROUP", "HAVING", "INNER", "INTERSECT", "IS", "JOIN", "LIKE", "MINUS", "NATURAL", "NOT", "NULL", "ON", "ORDER", "PRIMARY", "ROWNUM", "SELECT", "SYSDATE",
                "SYSTIME", "SYSTIMESTAMP", "TODAY", "TRUE", "UNION", "WHERE" }));
    }

    public int getJDBCType(int metaTypeCode, boolean lob) {
        int type = super.getJDBCType(metaTypeCode, lob);
        switch (type) {
        case Types.BIGINT:
            if (metaTypeCode == JavaTypes.BIGINTEGER)
                return Types.NUMERIC;
            break;
        }
        return type;
    }

    public int getPreferredType(int type) {
        return super.getPreferredType(type);
    }

    public String[] getAddPrimaryKeySQL(PrimaryKey pk) {
        return new String[0];
    }

    public String[] getDropPrimaryKeySQL(PrimaryKey pk) {
        return new String[0];
    }

    public String[] getAddColumnSQL(Column column) {
        return new String[] { "ALTER TABLE " + getFullName(column.getTable(), false) + " ADD COLUMN " + getDeclareColumnSQL(column, true) };
    }

    public String[] getCreateTableSQL(Table table) {
        StringBuffer buf = new StringBuffer();
        buf.append("CREATE TABLE ").append(getFullName(table, false)).append(" (");

        Column[] cols = table.getColumns();
        for (int i = 0; i < cols.length; i++) {
            if (i > 0)
                buf.append(", ");
            buf.append(getDeclareColumnSQL(cols[i], false));
        }

        PrimaryKey pk = table.getPrimaryKey();
        String pkStr;
        if (pk != null) {
            pkStr = getPrimaryKeyConstraintSQL(pk);
            if (!StringUtils.isEmpty(pkStr))
                buf.append(", ").append(pkStr);
        }

        Unique[] uniques = table.getUniques();
        String uniqueStr;
        for (int i = 0; i < uniques.length; i++) {
            uniqueStr = getUniqueConstraintSQL(uniques[i]);
            if (uniqueStr != null)
                buf.append(", ").append(uniqueStr);
        }

        buf.append(")");
        return new String[] { buf.toString() };
    }

    protected String getPrimaryKeyConstraintSQL(PrimaryKey pk) {
        Column[] cols = pk.getColumns();
        if (cols.length == 1 && cols[0].isAutoAssigned())
            return null;
        return super.getPrimaryKeyConstraintSQL(pk);
    }

    public boolean isSystemIndex(String name, Table table) {
        return name.toUpperCase(Locale.ENGLISH).startsWith("SYSTEM_");
    }

    protected String getSequencesSQL(String schemaName, String sequenceName) {
        StringBuffer buf = new StringBuffer();
        buf.append("SELECT SEQUENCE_SCHEMA, SEQUENCE_NAME FROM ").append("INFORMATION_SCHEMA.SEQUENCES");
        if (schemaName != null || sequenceName != null)
            buf.append(" WHERE ");
        if (schemaName != null) {
            buf.append("SEQUENCE_SCHEMA = ?");
            if (sequenceName != null)
                buf.append(" AND ");
        }
        if (sequenceName != null)
            buf.append("SEQUENCE_NAME = ?");
        return buf.toString();
    }

    protected SQLBuffer toOperation(String op, SQLBuffer selects, SQLBuffer from, SQLBuffer where, SQLBuffer group, SQLBuffer having, SQLBuffer order, boolean distinct,
            boolean forUpdate, long start, long end) {
        return super.toOperation(op, selects, from, where, group, having, order, distinct, forUpdate, start, end);
    }

    public Column[] getColumns(DatabaseMetaData meta, String catalog, String schemaName, String tableName, String columnName, Connection conn) throws SQLException {
        Column[] cols = super.getColumns(meta, catalog, schemaName, tableName, columnName, conn);
        return cols;
    }

    public void setDouble(PreparedStatement stat, int idx, double val, Column col) throws SQLException {
        super.setDouble(stat, idx, val, col);
    }

    public void setBigDecimal(PreparedStatement stat, int idx, BigDecimal val, Column col) throws SQLException {
        super.setBigDecimal(stat, idx, val, col);
    }

    protected void appendSelectRange(SQLBuffer buf, long start, long end) {
        if (end != Long.MAX_VALUE)
            buf.append(" LIMIT ").appendValue(end - start);
        if (start != 0)
            buf.append(" OFFSET ").appendValue(start);
    }

    public void substring(SQLBuffer buf, FilterValue str, FilterValue start, FilterValue end) {
        buf.append("SUBSTR(");
        str.appendTo(buf);
        buf.append(", (");
        start.appendTo(buf);
        buf.append(" + 1)");
        if (end != null) {
            buf.append(", (");
            end.appendTo(buf);
            buf.append(" - ");
            start.appendTo(buf);
            buf.append(")");
        }
        buf.append(")");
    }

    public void indexOf(SQLBuffer buf, FilterValue str, FilterValue find, FilterValue start) {
        buf.append("(POSITION(");
        find.appendTo(buf);
        buf.append(" IN ");
        if (start != null)
            substring(buf, str, start, null);
        else
            str.appendTo(buf);
        buf.append(") - 1");
        if (start != null) {
            buf.append(" + ");
            start.appendTo(buf);
        }
        buf.append(")");
    }

}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
视频一区欧美精品| 成人欧美一区二区三区白人| 国产精品一区久久久久| 日韩亚洲国产中文字幕欧美| 免费视频一区二区| 久久久美女毛片| 成人网男人的天堂| 伊人开心综合网| 欧美日韩在线播放| 另类人妖一区二区av| 久久久久久电影| 色综合久久99| 日本午夜精品视频在线观看 | 一区二区三区四区不卡视频| 欧美网站大全在线观看| 美女网站在线免费欧美精品| 国产亚洲欧美日韩日本| 本田岬高潮一区二区三区| 亚洲制服丝袜在线| 欧美成人一区二区三区| 成人毛片在线观看| 亚洲国产sm捆绑调教视频| 精品三级在线观看| 99国产精品久久久久久久久久| 亚洲小说欧美激情另类| 久久中文字幕电影| 欧美在线一区二区三区| 久久av老司机精品网站导航| 亚洲欧洲国产专区| 欧美电影免费观看高清完整版在线| 国产91在线观看| 亚洲一区二区三区四区在线| 久久久综合视频| 欧美最猛黑人xxxxx猛交| 精品一区二区精品| 亚洲精品久久嫩草网站秘色| 久久尤物电影视频在线观看| av资源网一区| 国内精品伊人久久久久av影院| 亚洲欧美精品午睡沙发| 欧美成人猛片aaaaaaa| 91啪亚洲精品| 日韩一区二区精品葵司在线| 亚洲第一久久影院| 日本成人在线看| 中文字幕人成不卡一区| 91精品国产丝袜白色高跟鞋| 精品美女一区二区| 欧美色图天堂网| 国产尤物一区二区| 偷偷要91色婷婷| 亚洲欧洲韩国日本视频| 26uuu国产日韩综合| 欧美美女喷水视频| 91免费视频观看| 国产宾馆实践打屁股91| 久久激五月天综合精品| 亚洲国产裸拍裸体视频在线观看乱了 | 秋霞影院一区二区| 亚洲黄色录像片| 亚洲国产精品成人综合| 欧美成人免费网站| 91麻豆精品国产| 欧美日韩精品综合在线| 91免费观看视频| 成人动漫一区二区| 国产宾馆实践打屁股91| 精品一二三四区| 免费在线观看精品| 精品一区二区免费在线观看| 欧美高清视频一二三区| 狠狠色狠狠色综合日日91app| 亚洲午夜在线视频| 一区二区三区中文字幕精品精品| 国产精品久久久久久久裸模| 久久婷婷国产综合精品青草| 欧美不卡一区二区| 91精品久久久久久久99蜜桃| 777午夜精品免费视频| 欧美日韩国产美| 欧美男男青年gay1069videost| 色婷婷综合久久久久中文一区二区 | 欧美日韩精品专区| 欧美伦理影视网| 91精品国产综合久久精品| 欧美一区日韩一区| 日韩一级完整毛片| 久久久美女毛片| 日本一区二区成人| ●精品国产综合乱码久久久久| 亚洲日本在线天堂| 亚洲一区视频在线| 人人精品人人爱| 韩国精品主播一区二区在线观看| 国产精品 日产精品 欧美精品| 国产精品77777| 99久久婷婷国产精品综合| 一本到三区不卡视频| 欧美色偷偷大香| 欧美一区二区三区免费观看视频| 日韩免费观看2025年上映的电影| 久久综合五月天婷婷伊人| 国产精品欧美一区二区三区| 亚洲免费观看在线观看| 天堂成人免费av电影一区| 久久成人羞羞网站| 99久久精品一区二区| 欧美色视频一区| www国产成人| 亚洲男人天堂av网| 美女视频免费一区| 91在线播放网址| 欧美久久一区二区| 国产精品日日摸夜夜摸av| 悠悠色在线精品| 精品一区二区三区欧美| 96av麻豆蜜桃一区二区| 在线综合视频播放| 国产精品美女一区二区| 亚洲成人av电影在线| 国产成人免费视| 欧美日韩一区视频| 国产精品污网站| 天堂午夜影视日韩欧美一区二区| 国产成人一区在线| 欧美日韩在线观看一区二区 | 亚洲蜜臀av乱码久久精品| 日韩av网站在线观看| 成人av小说网| 日韩欧美国产一区二区三区| 中文字幕在线观看一区| 久久综合综合久久综合| 在线亚洲免费视频| 国产亚洲欧洲一区高清在线观看| 亚洲综合视频在线观看| 国产激情偷乱视频一区二区三区| 精品视频在线免费观看| 亚洲欧洲韩国日本视频| 国产呦精品一区二区三区网站| 欧美色图在线观看| 亚洲视频在线一区观看| 国产精品一二二区| 精品久久久久久久人人人人传媒 | 亚洲一区二区三区影院| 风流少妇一区二区| 精品精品欲导航| 天堂影院一区二区| 欧美自拍偷拍一区| 中文字幕亚洲在| 国产精品888| 久久久午夜精品| 久久精品国产成人一区二区三区| 欧美色爱综合网| 亚洲日穴在线视频| 91在线播放网址| 日韩一区中文字幕| 成年人网站91| 中文字幕欧美国产| 成人avav影音| 国产精品无遮挡| 成人一区二区三区| 久久久久9999亚洲精品| 国产在线视频精品一区| 精品国精品自拍自在线| 蓝色福利精品导航| 日韩精品中文字幕在线一区| 天天免费综合色| 91麻豆精品国产91久久久久久 | 亚洲精选一二三| 色香蕉成人二区免费| 亚洲激情五月婷婷| 色悠久久久久综合欧美99| 亚洲伦在线观看| 在线视频观看一区| 香港成人在线视频| 欧美一区二区免费| 狠狠色伊人亚洲综合成人| 久久久久一区二区三区四区| 国产成人超碰人人澡人人澡| 国产精品婷婷午夜在线观看| av不卡在线播放| 一区二区三区中文字幕精品精品| 欧美视频一区二区三区| 爽好多水快深点欧美视频| 日韩欧美在线观看一区二区三区| 美女在线一区二区| 国产午夜亚洲精品不卡| 99久久精品国产一区| 一区二区三区国产精华| 8v天堂国产在线一区二区| 九色综合狠狠综合久久| 国产女同互慰高潮91漫画| 国产精品免费视频网站| 视频一区视频二区在线观看| 亚洲欧美激情一区二区| 天天综合天天综合色| 国产jizzjizz一区二区| 国产激情视频一区二区三区欧美 | 欧美电视剧在线看免费| 国内一区二区在线|