Skip to content

Commit

Permalink
#2895 Data export in SQL: cofugure auto-inrement columns inclusion
Browse files Browse the repository at this point in the history
  • Loading branch information
serge-rider committed Jan 30, 2018
1 parent 4dca510 commit d1f74ec
Show file tree
Hide file tree
Showing 3 changed files with 13 additions and 4 deletions.
Expand Up @@ -405,6 +405,8 @@ dataTransfer.processor.csv.property.nullString.description=String which will be
dataTransfer.processor.sql.name=SQL
dataTransfer.processor.sql.description=Export to SQL INSERT statements
dataTransfer.processor.sql.propertyGroup.general.label = General
dataTransfer.processor.sql.property.includeAutoGenerated.label=Include generated columns
dataTransfer.processor.sql.property.includeAutoGenerated.description=Include auto-generated columns (e.g. auto-increment) in SQL INSERT
dataTransfer.processor.sql.property.escape.name=Escape character
dataTransfer.processor.sql.property.escape.description=Character which escapes single quote character
dataTransfer.processor.sql.property.extension.label = File extension
Expand Down
5 changes: 3 additions & 2 deletions plugins/org.jkiss.dbeaver.core/plugin.xml
Expand Up @@ -3509,8 +3509,9 @@
label="%dataTransfer.processor.sql.name">
<sourceType type="org.jkiss.dbeaver.model.struct.rdb.DBSTable"/>
<propertyGroup label="%dataTransfer.processor.sql.propertyGroup.general.label">
<property id="extension" label="%dataTransfer.processor.sql.property.extension.label" defaultValue="sql"/>
<property id="format" label="%dataTransfer.processor.xml.property.format.label" defaultValue="native" validValues="ui,edit,native"/>
<property id="includeAutoGenerated" label="%dataTransfer.processor.sql.property.includeAutoGenerated.label" description="%dataTransfer.processor.sql.property.includeAutoGenerated.description" type="boolean" defaultValue="false"/>
<property id="extension" label="%dataTransfer.processor.sql.property.extension.label" type="string" defaultValue="sql"/>
<property id="format" label="%dataTransfer.processor.xml.property.format.label" type="string" defaultValue="native" validValues="ui,edit,native"/>
<property id="omitSchema" label="%dataTransfer.processor.sql.property.omitSchema.name" type="boolean" description="%dataTransfer.processor.sql.property.omitSchema.description" required="false" defaultValue="false"/>
<property id="rowsInStatement" label="%dataTransfer.processor.sql.property.rowsInStatement.name" type="integer" description="%dataTransfer.processor.sql.property.rowsInStatement.description" defaultValue="10" required="true"/>
</propertyGroup>
Expand Down
Expand Up @@ -49,10 +49,12 @@ public class DataExporterSQL extends StreamExporterAbstract {

private static final Log log = Log.getLog(DataExporterSQL.class);

private static final String PROP_INCLUDE_AUTO_GENERATED = "includeAutoGenerated";
private static final String PROP_OMIT_SCHEMA = "omitSchema";
private static final String PROP_ROWS_IN_STATEMENT = "rowsInStatement";
private static final char STRING_QUOTE = '\'';

private boolean includeAutoGenerated;
private String rowDelimiter;
private boolean omitSchema;
private int rowsInStatement;
Expand All @@ -64,14 +66,18 @@ public class DataExporterSQL extends StreamExporterAbstract {
private transient long rowCount;
private SQLDialect dialect;

private static boolean isSkipColumn(DBDAttributeBinding attr) {
return attr.isPseudoAttribute() || attr.isAutoGenerated();
private boolean isSkipColumn(DBDAttributeBinding attr) {
return attr.isPseudoAttribute() || (!includeAutoGenerated && attr.isAutoGenerated());
}

@Override
public void init(IStreamDataExporterSite site) throws DBException
{
super.init(site);

if (site.getProperties().containsKey(PROP_INCLUDE_AUTO_GENERATED)) {
includeAutoGenerated = CommonUtils.toBoolean(site.getProperties().get(PROP_INCLUDE_AUTO_GENERATED));
}
if (site.getProperties().containsKey(PROP_OMIT_SCHEMA)) {
omitSchema = CommonUtils.toBoolean(site.getProperties().get(PROP_OMIT_SCHEMA));
}
Expand Down

0 comments on commit d1f74ec

Please sign in to comment.