本文整理汇总了Java中liquibase.statement.DatabaseFunction类的典型用法代码示例。如果您正苦于以下问题:Java DatabaseFunction类的具体用法?Java DatabaseFunction怎么用?Java DatabaseFunction使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
DatabaseFunction类属于liquibase.statement包,在下文中一共展示了DatabaseFunction类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: convertObjectToString
import liquibase.statement.DatabaseFunction; //导入依赖的package包/类
@Override
public String convertObjectToString(Object value, Database database) {
if (value == null) {
return null;
} else if (value.toString().equalsIgnoreCase("null")) {
return "null";
} else if (value instanceof DatabaseFunction) {
return ((DatabaseFunction) value).getValue();
} else if (value.toString().equals("CURRENT_TIMESTAMP()")) {
return database.getCurrentDateTimeFunction();
} else if (value instanceof java.sql.Timestamp) {
return database.getDateLiteral(((java.sql.Timestamp) value));
} else if (value instanceof java.sql.Date) {
return database.getDateLiteral(((java.sql.Date) value));
} else if (value instanceof java.sql.Time) {
return database.getDateLiteral(((java.sql.Time) value));
} else if (value instanceof java.util.Date) {
return database.getDateLiteral(((java.util.Date) value));
} else {
return "'"+((String) value).replaceAll("'","''")+"'";
}
}
示例2: convertObjectToString
import liquibase.statement.DatabaseFunction; //导入依赖的package包/类
@Override
public String convertObjectToString(Object value, Database database) {
if (value == null) {
return null;
} else if (value.toString().equalsIgnoreCase("null")) {
return "null";
} else if (value instanceof DatabaseFunction) {
return ((DatabaseFunction) value).getValue();
} else if (value.toString().equals("CURRENT_TIMESTAMP()")) {
return database.getCurrentDateTimeFunction();
} else if (value instanceof java.sql.Time) {
return database.getTimeLiteral(((java.sql.Time) value));
} else {
return "'"+((String) value).replaceAll("'","''")+"'";
}
}
示例3: convertObjectToString
import liquibase.statement.DatabaseFunction; //导入依赖的package包/类
@Override
public String convertObjectToString(Object value, Database database) {
if (value == null) {
return null;
} else if (value.toString().equalsIgnoreCase("null")) {
return "null";
} else if (value.toString().equals("CURRENT_TIMESTAMP()")) {
return database.getCurrentDateTimeFunction();
} else if (value instanceof DatabaseFunction) {
return ((DatabaseFunction) value).getValue();
} else if (database.getDatabaseFunctions().contains(new DatabaseFunction(value.toString()))) {
return value.toString();
} else if (value instanceof String) {
return "'"+((String) value).replaceAll("'","''")+"'";
}
return database.getDateTimeLiteral(((java.sql.Timestamp) value));
}
示例4: setValueNumeric
import liquibase.statement.DatabaseFunction; //导入依赖的package包/类
public ColumnConfig setValueNumeric(String valueNumeric) {
if (valueNumeric == null || valueNumeric.equalsIgnoreCase("null")) {
this.valueNumeric = null;
} else {
valueNumeric = valueNumeric.replaceFirst("^\\(", "");
valueNumeric = valueNumeric.replaceFirst("\\)$", "");
if (valueNumeric.matches("\\d+\\.?\\d*")) {
try {
this.valueNumeric = NumberFormat.getInstance(Locale.US).
parse(valueNumeric);
} catch (ParseException e) {
throw new RuntimeException(e);
}
} else {
this.valueComputed = new DatabaseFunction(valueNumeric);
}
}
return this;
}
示例5: setDefaultValueNumeric
import liquibase.statement.DatabaseFunction; //导入依赖的package包/类
public ColumnConfig setDefaultValueNumeric(String defaultValueNumeric) throws ParseException {
if (defaultValueNumeric == null || defaultValueNumeric.equalsIgnoreCase("null")) {
this.defaultValueNumeric = null;
} else {
if ("GENERATED_BY_DEFAULT".equals(defaultValueNumeric)) {
setAutoIncrement(true);
} else {
defaultValueNumeric = defaultValueNumeric.replaceFirst("^\\(", "");
defaultValueNumeric = defaultValueNumeric.replaceFirst("\\)$", "");
try {
this.defaultValueNumeric = NumberFormat.getInstance(Locale.US).parse(defaultValueNumeric);
} catch (ParseException e) {
this.defaultValueComputed = new DatabaseFunction(defaultValueNumeric);
}
}
}
return this;
}
示例6: objectToSql
import liquibase.statement.DatabaseFunction; //导入依赖的package包/类
/**
* @see liquibase.datatype.LiquibaseDataType#objectToSql(java.lang.Object,
* liquibase.database.Database)
*/
@Override
public String objectToSql(final Object value, final Database database) {
final String returnValue;
if (value instanceof Geometry) {
// TODO: Tailor the output for the database.
returnValue = ((Geometry) value).toText();
} else if (value instanceof String) {
returnValue = value.toString();
} else if (value instanceof DatabaseFunction) {
returnValue = value.toString();
} else if (value == null || value.toString().equalsIgnoreCase("null")) {
returnValue = null;
} else {
throw new UnexpectedLiquibaseException("Cannot convert type " + value.getClass()
+ " to a Geometry value");
}
return returnValue;
}
示例7: generateValues
import liquibase.statement.DatabaseFunction; //导入依赖的package包/类
private void generateValues(StringBuilder sql, HiveInsertStatement statement, Database database) {
sql.append("(");
for (Object newValue : statement.getColumnValues()) {
if (newValue == null || newValue.toString().equalsIgnoreCase("NULL")) {
sql.append("NULL");
} else if (newValue instanceof String && !looksLikeFunctionCall(((String) newValue), database)) {
sql.append(DataTypeFactory.getInstance().fromObject(newValue, database).objectToSql(newValue, database));
} else if (newValue instanceof Date) {
sql.append(database.getDateLiteral(((Date) newValue)));
} else if (newValue instanceof Boolean) {
if (((Boolean) newValue)) {
sql.append(DataTypeFactory.getInstance().getTrueBooleanValue(database));
} else {
sql.append(DataTypeFactory.getInstance().getFalseBooleanValue(database));
}
} else if (newValue instanceof DatabaseFunction) {
sql.append(database.generateDatabaseFunctionValue((DatabaseFunction) newValue));
} else {
sql.append(newValue);
}
sql.append(", ");
}
sql.deleteCharAt(sql.lastIndexOf(" "));
int lastComma = sql.lastIndexOf(",");
if (lastComma >= 0) {
sql.deleteCharAt(lastComma);
}
sql.append(")");
}
示例8: objectToSql
import liquibase.statement.DatabaseFunction; //导入依赖的package包/类
@Override
public String objectToSql(Object value, Database database) {
if (value == null || value.toString().equalsIgnoreCase("null")) {
return null;
} else if (value instanceof DatabaseFunction) {
return database.generateDatabaseFunctionValue((DatabaseFunction) value);
} else if (database.isFunction(value.toString())) {
return value.toString();
} else if (value instanceof String) {
return "'" + ((String) value).replaceAll("'", "''") + "'";
}
return database.getDateTimeLiteral(((java.sql.Timestamp) value));
}
示例9: getDataType
import liquibase.statement.DatabaseFunction; //导入依赖的package包/类
public DataType getDataType(Object object) {
if (object instanceof BigInteger) {
return getBigIntType();
} else if (object instanceof Boolean) {
return getBooleanType();
} else if (object instanceof String) {
return getVarcharType();
} else if (object instanceof java.sql.Date) {
return getDateType();
} else if (object instanceof java.sql.Timestamp) {
return getDateTimeType();
} else if (object instanceof java.sql.Time) {
return getTimeType();
} else if (object instanceof java.util.Date) {
return getDateTimeType();
} else if (object instanceof Double) {
return getDoubleType();
} else if (object instanceof Float) {
return getFloatType();
} else if (object instanceof Integer) {
return getIntType();
} else if (object instanceof Long) {
return getBigIntType();
} else if (object instanceof DatabaseFunction) {
return new DatabaseFunctionType();
} else {
throw new UnexpectedLiquibaseException("Unknown object type "+object.getClass().getName());
}
}
示例10: setProperty
import liquibase.statement.DatabaseFunction; //导入依赖的package包/类
public static void setProperty(Object object, String propertyName, String propertyValue) throws IllegalAccessException, InvocationTargetException {
String methodName = "set" + propertyName.substring(0, 1).toUpperCase(Locale.ENGLISH) + propertyName.substring(1);
Method[] methods;
methods = methodCache.get(object.getClass());
if (methods == null) {
methods = object.getClass().getMethods();
methodCache.put(object.getClass(), methods);
}
for (Method method : methods) {
if (method.getName().equals(methodName)) {
Class<?> parameterType = method.getParameterTypes()[0];
if (method.getParameterTypes().length == 1) {
if (parameterType.equals(Boolean.class)) {
method.invoke(object, Boolean.valueOf(propertyValue));
return;
} else if (parameterType.equals(String.class)) {
method.invoke(object, propertyValue);
return;
} else if (parameterType.equals(Integer.class)) {
method.invoke(object, Integer.valueOf(propertyValue));
return;
} else if (parameterType.equals(Long.class)) {
method.invoke(object, Long.valueOf(propertyValue));
return;
} else if (parameterType.equals(BigInteger.class)) {
method.invoke(object, new BigInteger(propertyValue));
return;
} else if (parameterType.equals(DatabaseFunction.class)) {
method.invoke(object, new DatabaseFunction(propertyValue));
return;
}
}
}
}
throw new RuntimeException("Property '" + propertyName+"' not found on object type "+object.getClass().getName());
}
示例11: setValueDate
import liquibase.statement.DatabaseFunction; //导入依赖的package包/类
public ColumnConfig setValueDate(String valueDate) {
if (valueDate == null || valueDate.equalsIgnoreCase("null")) {
this.valueDate = null;
} else {
try {
this.valueDate = new ISODateFormat().parse(valueDate);
} catch (ParseException e) {
//probably a function
this.valueComputed = new DatabaseFunction(valueDate);
}
}
return this;
}
示例12: setDefaultValueDate
import liquibase.statement.DatabaseFunction; //导入依赖的package包/类
public ColumnConfig setDefaultValueDate(String defaultValueDate) {
if (defaultValueDate == null || defaultValueDate.equalsIgnoreCase("null")) {
this.defaultValueDate = null;
} else {
try {
this.defaultValueDate = new ISODateFormat().parse(defaultValueDate);
} catch (ParseException e) {
//probably a computed date
this.defaultValueComputed = new DatabaseFunction(defaultValueDate);
}
}
return this;
}
示例13: generateStatements
import liquibase.statement.DatabaseFunction; //导入依赖的package包/类
public SqlStatement[] generateStatements(Database database) {
if (database instanceof PostgresDatabase) {
String sequenceName = (getTableName() + "_" + getColumnName() + "_seq").toLowerCase();
return new SqlStatement[]{
new CreateSequenceStatement(schemaName, sequenceName),
new SetNullableStatement(schemaName, getTableName(), getColumnName(), null, false),
new AddDefaultValueStatement(schemaName, getTableName(), getColumnName(), getColumnDataType(), new DatabaseFunction("NEXTVAL('"+sequenceName+"')")),
};
}
return new SqlStatement[]{new AddAutoIncrementStatement(getSchemaName(), getTableName(), getColumnName(), getColumnDataType(), getStartWith(), getIncrementBy())};
}
示例14: generateStatements
import liquibase.statement.DatabaseFunction; //导入依赖的package包/类
public SqlStatement[] generateStatements(final Database database) {
final List<SqlStatement> statements = new ArrayList<SqlStatement>();
if (database instanceof PostgresDatabase) {
String sequenceName = m_sequenceName;
if (m_sequenceName == null) {
sequenceName = (getTableName() + "_" + getColumnName() + "_seq").toLowerCase();
statements.add(new CreateSequenceStatement(getSchemaName(), sequenceName));
}
statements.add(new SetNullableStatement(getSchemaName(), getTableName(), getColumnName(), null, false));
statements.add(new AddDefaultValueStatement(getSchemaName(), getTableName(), getColumnName(), getColumnDataType(), new DatabaseFunction("NEXTVAL('"+sequenceName+"')")));
return statements.toArray(new SqlStatement[0]);
} else {
return super.generateStatements(database);
}
}
示例15: TimestenDatabase
import liquibase.statement.DatabaseFunction; //导入依赖的package包/类
public TimestenDatabase() {
super.setCurrentDateTimeFunction("TT_SYSDATE");
// Setting list of Timesten native functions
dateFunctions.add(new DatabaseFunction("SYSDATE"));
dateFunctions.add(new DatabaseFunction("GETDATE"));
}