forked from p81075629/datagear
完善系统提供多数据库部署支持功能
This commit is contained in:
parent
cfa2b6e14d
commit
f5413ffe9d
|
@ -37,12 +37,12 @@ public class DefaultMbSqlDialect extends MbSqlDialect
|
|||
@Override
|
||||
public String pagingSqlHead(int index, int fetchSize)
|
||||
{
|
||||
throw new UnsupportedOperationException();
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String pagingSqlFoot(int index, int fetchSize)
|
||||
{
|
||||
throw new UnsupportedOperationException();
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -83,7 +83,7 @@ public abstract class MbSqlDialect
|
|||
* 页起始索引(以{@code 0}开头)
|
||||
* @param fetchSize
|
||||
* 页大小
|
||||
* @return
|
||||
* @return 返回{@code null}表示不支持分页
|
||||
*/
|
||||
public abstract String pagingSqlHead(int index, int fetchSize);
|
||||
|
||||
|
@ -94,7 +94,14 @@ public abstract class MbSqlDialect
|
|||
* 页起始索引(以{@code 0}开头)
|
||||
* @param fetchSize
|
||||
* 页大小
|
||||
* @return
|
||||
* @return 返回{@code null}表示不支持分页
|
||||
*/
|
||||
public abstract String pagingSqlFoot(int index, int fetchSize);
|
||||
|
||||
@Override
|
||||
public String toString()
|
||||
{
|
||||
return getClass().getSimpleName() + " [supportsPaging=" + supportsPaging() + ", pagingSqlHead="
|
||||
+ pagingSqlHead(0, 10) + ", pagingSqlFoot=" + pagingSqlFoot(0, 10) + "]";
|
||||
}
|
||||
}
|
||||
|
|
|
@ -90,22 +90,37 @@ public class MbSqlDialectBuilder
|
|||
*/
|
||||
protected MbSqlDialect build(Connection cn, String url) throws SQLException
|
||||
{
|
||||
MbSqlDialect dialect = null;
|
||||
|
||||
if (StringUtil.isEmpty(url))
|
||||
return buildDefaultMbSqlDialect(cn);
|
||||
{
|
||||
dialect = buildDefaultMbSqlDialect(cn);
|
||||
}
|
||||
else if (DerbyURLSensor.INSTANCE.supports(url))
|
||||
{
|
||||
dialect = buildDerbyMbSqlDialect(cn);
|
||||
}
|
||||
else if (MySqlURLSensor.INSTANCE.supports(url))
|
||||
{
|
||||
dialect = buildMysqlMbSqlDialect(cn);
|
||||
}
|
||||
else if (OracleURLSensor.INSTANCE.supports(url))
|
||||
{
|
||||
dialect = buildOracleMbSqlDialect(cn);
|
||||
}
|
||||
else if (PostgresqlURLSensor.INSTANCE.supports(url))
|
||||
{
|
||||
dialect = buildPostgresqlMbSqlDialect(cn);
|
||||
}
|
||||
else
|
||||
{
|
||||
dialect = buildDefaultMbSqlDialect(cn);
|
||||
}
|
||||
|
||||
if (DerbyURLSensor.INSTANCE.supports(url))
|
||||
return buildDerbyMbSqlDialect(cn);
|
||||
if (LOGGER.isInfoEnabled())
|
||||
LOGGER.info("Build " + dialect.toString() + " for current environment");
|
||||
|
||||
if (MySqlURLSensor.INSTANCE.supports(url))
|
||||
return buildMysqlMbSqlDialect(cn);
|
||||
|
||||
if (OracleURLSensor.INSTANCE.supports(url))
|
||||
return buildOracleMbSqlDialect(cn);
|
||||
|
||||
if (PostgresqlURLSensor.INSTANCE.supports(url))
|
||||
return buildPostgresqlMbSqlDialect(cn);
|
||||
|
||||
return buildDefaultMbSqlDialect(cn);
|
||||
return dialect;
|
||||
}
|
||||
|
||||
protected DerbyMbSqlDialect buildDerbyMbSqlDialect(Connection cn) throws SQLException
|
||||
|
|
|
@ -108,7 +108,10 @@ CREATE TABLE DATAGEAR_AUTHORIZATION
|
|||
);
|
||||
|
||||
--自定义REPLACE函数
|
||||
CREATE FUNCTION DATAGEAR_REPLACE(orgStr VARCHAR(500), oldStr VARCHAR(100), newStr VARCHAR(100)) RETURNS VARCHAR(500)
|
||||
--srcStr 原始字符串
|
||||
--oldStr 要替换的旧子串
|
||||
--newStr 要替换的新子串
|
||||
CREATE FUNCTION DATAGEAR_REPLACE(srcStr VARCHAR(500), oldStr VARCHAR(100), newStr VARCHAR(100)) RETURNS VARCHAR(500)
|
||||
PARAMETER STYLE JAVA NO SQL LANGUAGE JAVA EXTERNAL NAME 'org.datagear.management.util.DerbyFunctionSupport.replace';
|
||||
|
||||
CREATE TABLE DATAGEAR_SQL_HISTORY
|
||||
|
@ -237,7 +240,10 @@ ALTER TABLE DATAGEAR_HTML_DASHBOARD ALTER COLUMN HD_TEMPLATE SET DATA TYPE VARCH
|
|||
-----------------------------------------
|
||||
|
||||
--自定义正则REPLACE函数,目前仅用于下面修改数据标记
|
||||
CREATE FUNCTION DATAGEAR_REPLACEREGEX(orgStr VARCHAR(500), oldStr VARCHAR(100), newStr VARCHAR(100)) RETURNS VARCHAR(500)
|
||||
--srcStr 原始字符串
|
||||
--oldStr 要替换的正则表达式
|
||||
--newStr 要替换的新子串
|
||||
CREATE FUNCTION DATAGEAR_REPLACEREGEX(srcStr VARCHAR(500), oldStr VARCHAR(100), newStr VARCHAR(100)) RETURNS VARCHAR(500)
|
||||
PARAMETER STYLE JAVA NO SQL LANGUAGE JAVA EXTERNAL NAME 'org.datagear.management.util.DerbyFunctionSupport.replaceRegex';
|
||||
|
||||
--修改折线图数据标记
|
||||
|
|
Loading…
Reference in New Issue