public class LoadDataChange extends AbstractTableChange implements ChangeWithColumns<LoadDataColumnConfig>
Modifier and Type | Class and Description |
---|---|
static class |
LoadDataChange.LOAD_DATA_TYPE |
protected static class |
LoadDataChange.LoadDataRowConfig |
LiquibaseSerializable.SerializationType
Modifier and Type | Field and Description |
---|---|
static Pattern |
BASE64_PATTERN |
static String |
DEFAULT_COMMENT_PATTERN
CSV Lines starting with that sign(s) will be treated as comments by default
|
catalogName, schemaName, tableName
NODENAME_COLUMN
EMPTY_CHANGE, SHOULD_EXECUTE
GENERIC_CHANGELOG_EXTENSION_NAMESPACE, GENERIC_SNAPSHOT_EXTENSION_NAMESPACE, STANDARD_CHANGELOG_NAMESPACE, STANDARD_SNAPSHOT_NAMESPACE
PRIORITY_DEFAULT, PRIORITY_NOT_APPLICABLE, PRIORITY_SPECIALIZED
Constructor and Description |
---|
LoadDataChange() |
getCatalogName, getSchemaName, setCatalogName, setSchemaName, setTableName
createChangeMetaData, createChangeParameterMetadata, createDescriptionMetaData, createEmptyColumnConfig, createExampleValueMetaData, createInverses, createMustEqualExistingMetaData, createRequiredDatabasesMetaData, createSerializationTypeMetaData, createSinceMetaData, createSupportedDatabasesMetaData, customLoadLogic, finishInitialization, generateRollbackStatements, getAffectedDatabaseObjects, getChangeSet, getDescription, getResourceAccessor, getSerializableFieldNamespace, getSerializableFields, getSerializableFieldType, getSerializableFieldValue, getSerializedObjectName, isInvalidProperty, load, serialize, serializeValue, setChangeSet, setResourceAccessor, shouldExecuteChange, supportsRollback, toString
clone, describe, equals, get, get, get, getAttributes, getFieldValue, getObjectMetaData, getValuePath, has, hashCode, set
finalize, getClass, notify, notifyAll, wait, wait, wait
clone, describe, get, get, getAttributes, getObjectMetaData, getValuePath, has, set
public static final String DEFAULT_COMMENT_PATTERN
public static final Pattern BASE64_PATTERN
protected static String getValueToWrite(Object value)
value
- the value to transformprotected boolean hasPreparedStatementsImplemented()
public boolean supports(Database database)
AbstractChange
SqlGenerator.supports(liquibase.statement.SqlStatement, liquibase.database.Database)
method on the SqlStatement
objects returned by Change.generateStatements(liquibase.database.Database)
.
If no or null SqlStatements are returned by generateStatements then this method returns true.
If AbstractChange.generateStatementsVolatile(liquibase.database.Database)
returns true, we cannot call generateStatements and so assume true.supports
in interface Change
supports
in class AbstractChange
public boolean generateRollbackStatementsVolatile(Database database)
AbstractChange
SqlGenerator.generateRollbackStatementsIsVolatile(Database)
method on the SqlStatement
objects returned by Change.generateStatements(liquibase.database.Database)
If no or null SqlStatements are returned by generateRollbackStatements then this method returns false.generateRollbackStatementsVolatile
in interface Change
generateRollbackStatementsVolatile
in class AbstractChange
public String getTableName()
getTableName
in class AbstractTableChange
public String getFile()
public void setFile(String file)
public Boolean getUsePreparedStatements()
public void setUsePreparedStatements(Boolean usePreparedStatements)
public String getCommentLineStartsWith()
public void setCommentLineStartsWith(String commentLineStartsWith)
public Boolean isRelativeToChangelogFile()
public void setRelativeToChangelogFile(Boolean relativeToChangelogFile)
public String getEncoding()
public void setEncoding(String encoding)
public String getSeparator()
public void setSeparator(String separator)
public String getQuotchar()
public void setQuotchar(String quotchar)
public void addColumn(LoadDataColumnConfig column)
ChangeWithColumns
addColumn
in interface ChangeWithColumns<LoadDataColumnConfig>
public List<LoadDataColumnConfig> getColumns()
ChangeWithColumns
ColumnConfig
objects defined for this Change
getColumns
in interface ChangeWithColumns<LoadDataColumnConfig>
public void setColumns(List<LoadDataColumnConfig> columns)
setColumns
in interface ChangeWithColumns<LoadDataColumnConfig>
protected String columnIdString(int index, LoadDataColumnConfig columnConfig)
index
- index of the columncolumnConfig
- the columnprotected ValidationErrors validateColumns(ValidationErrors validationErrors)
validationErrors
- ValidationErrors to collect errorspublic SqlStatement[] generateStatements(Database database)
Change
SqlStatement
objects required to run the change for the given database.
NOTE: This method may be called multiple times throughout the changelog execution process and may be called in documentation generation and other integration points as well.
If this method reads from the current database state or uses any other logic that will be affected by whether previous changeSets have ran or not, you must return true from Change.generateStatementsVolatile(liquibase.database.Database)
.generateStatements
in interface Change
protected boolean supportsBatchUpdates(Database database)
public ValidationErrors validate(Database database)
AbstractChange
SqlGenerator.validate(liquibase.statement.SqlStatement,
liquibase.database.Database, liquibase.sqlgenerator.SqlGeneratorChain)
method on the SqlStatement
objects returned by Change.generateStatements(liquibase.database.Database)
.
If no or null SqlStatements are returned by generateStatements then this method returns no errors.
If there are no parameters than this method returns no errorsvalidate
in interface Change
validate
in class AbstractChange
public void validateColumn(LoadDataColumnConfig columnConfig, ValidationErrors validationErrors, String columnIDString)
protected LoadDataColumnConfig columnConfigFromName(String name, Integer idx)
name
- name or header of the column searchedidx
- the index of the column searchedpublic boolean generateStatementsVolatile(Database database)
AbstractChange
SqlGenerator.generateStatementsIsVolatile(Database)
method on the
SqlStatement
objects returned by Change.generateStatements(liquibase.database.Database)
.
If zero or null SqlStatements are returned by generateStatements then this method returns false.generateStatementsVolatile
in interface Change
generateStatementsVolatile
in class AbstractChange
public CSVReader getCSVReader() throws IOException, LiquibaseException
IOException
LiquibaseException
protected String getRelativeTo()
protected ExecutablePreparedStatementBase createPreparedStatement(Database database, String catalogName, String schemaName, String tableName, List<LoadDataColumnConfig> columns, ChangeSet changeSet, ResourceAccessor resourceAccessor)
protected InsertStatement createStatement(String catalogName, String schemaName, String tableName)
protected InsertSetStatement createStatementSet(String catalogName, String schemaName, String tableName)
protected LoadDataColumnConfig getColumnConfig(int index, String header)
public ChangeStatus checkStatus(Database database)
Change
checkStatus
in interface Change
checkStatus
in class AbstractChange
public String getConfirmationMessage()
Change
getConfirmationMessage
in interface Change
public CheckSum generateCheckSum()
AbstractChange
StringChangeLogSerializer
generateCheckSum
in interface Change
generateCheckSum
in class AbstractChange
public Warnings warn(Database database)
AbstractChange
SqlGenerator.warn(liquibase.statement.SqlStatement, liquibase.database.Database,
liquibase.sqlgenerator.SqlGeneratorChain)
method on the SqlStatement
objects returned by
Change.generateStatements(liquibase.database.Database)
.
If a generated statement is not supported for the given database, no warning will be added since that is a
validation error. If no or null SqlStatements are returned by generateStatements then this method returns no
warnings.warn
in interface Change
warn
in class AbstractChange
public String getSerializedObjectNamespace()
getSerializedObjectNamespace
in interface LiquibaseSerializable
getSerializedObjectNamespace
in class AbstractChange
protected SqlStatement[] generateStatementsFromRows(Database database, List<LoadDataChange.LoadDataRowConfig> rows)
Copyright © 2023 Liquibase.org. All rights reserved.