All Downloads are FREE. Search and download functionalities are using the official Maven repository.

sf.database.dialect.DBProperty Maven / Gradle / Ivy

The newest version!
package sf.database.dialect;

public enum DBProperty {
    /**
     * 操作关键字
     */
    DROP_COLUMN, ADD_COLUMN, MODIFY_COLUMN, ADD_CONSTRAINT,

    /**
     * 开销最小的查询SQL语句,用于检测数据库心跳,如果没有这样的语句,返回null
     * {@code
     * 目前采用了JDBC 4.0中的isValid方法来检查连接心跳,因此这个参数最近没什么用。
     * }
     */
    CHECK_SQL,
    /**
     * 嵌入式数据库大多需要特别的命令来关闭数据库
     * 这个功能最近似乎支持得不太好。因为除了HSQL这类内存数据库其他大多数数据库都不需要。
     * @deprecated 目前无效
     * TODO 保留在HSQLdb支持用
     */
    SHUTDOWN_COMMAND,
    /**
     * 无关联表的表达式获取,比如获取当前时间的SQL语法。
     * 将表达式作为参数,通过 String.format(template,expression)的方式得到SQL语句
     */
    SELECT_EXPRESSION,

    /**
     * 当使用关键字作为表名或列名时的处理
     * 大部分数据库用 "
     * MYSQL用`来包围表名和列名
     */
    WRAP_FOR_KEYWORD,

//	/**
//	 * Oracle Sequence可以用nocache作为关键字
//	 */
//	NO_CACHE,
    /**
     * 用于获取某列下一个Sequence值的SQL语句模板
     */
    SEQUENCE_FETCH,

    /**
     * GBASE特性,在Index结尾需要指定USING HASH
     * GBase特性,非BITMAP索引需要使用USING HASH进行定义
     */
    INDEX_USING_HASH,
    /**
     * 用于返回数据库刚刚生成的自增键的函数
     */
    GET_IDENTITY_FUNCTION,

    /**
     * 返回若干用于查询数据库基本信息的SQL语句,如果配置了这些SQL语句,那么启动时在输出数据库版本信息的时候就会
     * 将这些SQL的执行结果也作为版本信息一起输出。
     * 如果有多句SQL,用';'分隔。
     */
    OTHER_VERSION_SQL,

    /**
     * 索引的最大长度
     */
    INDEX_LENGTH_LIMIT,
    /**
     * 索引长度超过时,需要修复的长度(MYSQL)
     */
    INDEX_LENGTH_LIMIT_FIX,
    /**
     * 修复的关键字(MYSQL)
     */
    INDEX_LENGTH_CHARESET_FIX,
    /**
     * 像Oracle,DB2,PG,drop index xxx 即可。
     * 但是像SQLServer,需要drop index table.index。
     * 像MySQL,需要 drop index xxx on tablexxx.
     */
    DROP_INDEX_TABLE_PATTERN,

    /*
     * Sequence的最大长度
     */
    MAX_SEQUENCE_VALUE,

    /**
     * Drop Foreign key的语句模板
     */
    DROP_FK_PATTERN,

    /**
     * mysql ifnull,oralce nvl,sqlserver isnull,postgresql coalesce
     */
    NVL_FUNCTION

    //Derby支持一下函数来获得当前环境
//	CURRENT ISOLATION
//
//	CURRENT SCHEMA
//	
//	CURRENT_USER

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy