package jef.database.meta;
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
//Derby支持一下函数来获得当前环境
// CURRENT ISOLATION
//
// CURRENT SCHEMA
//
// CURRENT_USER
}