From 3498ba2f15d94bc09e6141877b66b32db623d73c Mon Sep 17 00:00:00 2001 From: Wisser Date: Thu, 6 Nov 2025 20:39:23 +0100 Subject: [PATCH] new cli-option "add-go-batch-separators" --- .../datamodel/filter_template/Clause.java | 12 +++---- .../gui/net/sf/jailer/ui/ExportDialog.form | 26 +++++++++++++++ .../gui/net/sf/jailer/ui/ExportDialog.java | 32 ++++++++++++++++++- 3 files changed, 63 insertions(+), 7 deletions(-) diff --git a/src/main/engine/net/sf/jailer/datamodel/filter_template/Clause.java b/src/main/engine/net/sf/jailer/datamodel/filter_template/Clause.java index 32189c7b1..5dcffa23a 100644 --- a/src/main/engine/net/sf/jailer/datamodel/filter_template/Clause.java +++ b/src/main/engine/net/sf/jailer/datamodel/filter_template/Clause.java @@ -54,6 +54,12 @@ public class Clause { return Quoting.staticUnquote(column.name); } }, + TYPE("Column Type", String.class) { + @Override + public Object getSubject(Table table, Column column) { + return column.type; + } + }, TABLE_NAME("Table name", String.class) { @Override public Object getSubject(Table table, Column column) { @@ -63,12 +69,6 @@ public class Clause { } return Quoting.staticUnquote(schema) + "." + Quoting.staticUnquote(table.getUnqualifiedName()); } - }, - TYPE("Type", String.class) { - @Override - public Object getSubject(Table table, Column column) { - return column.type; - } }; public final String description; diff --git a/src/main/gui/net/sf/jailer/ui/ExportDialog.form b/src/main/gui/net/sf/jailer/ui/ExportDialog.form index dc55eda06..05775ea63 100644 --- a/src/main/gui/net/sf/jailer/ui/ExportDialog.form +++ b/src/main/gui/net/sf/jailer/ui/ExportDialog.form @@ -988,6 +988,32 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/main/gui/net/sf/jailer/ui/ExportDialog.java b/src/main/gui/net/sf/jailer/ui/ExportDialog.java index 5a88b9b95..cc21724e3 100644 --- a/src/main/gui/net/sf/jailer/ui/ExportDialog.java +++ b/src/main/gui/net/sf/jailer/ui/ExportDialog.java @@ -364,6 +364,7 @@ public abstract class ExportDialog extends javax.swing.JDialog { fields.put("transactional", transactional); fields.put("delete", delete); fields.put("localTempDir", localTempDirTextField); + fields.put("addGoBatchSeparator", addGoBatchSeparator); for (Map.Entry e: parameterEditor.textfieldsPerParameter.entrySet()) { fields.put("$" + e.getKey(), e.getValue()); @@ -396,6 +397,7 @@ public abstract class ExportDialog extends javax.swing.JDialog { orderByPKCheckbox.setEnabled(ScriptFormat.SQL.equals(scriptFormat)); orderByPKCheckbox.setVisible(ScriptFormat.SQL.equals(scriptFormat)); + addGoBatchSeparator.setVisible(ScriptFormat.SQL.equals(scriptFormat)); sortedCheckBox.setEnabled(ScriptFormat.SQL.equals(scriptFormat) || ScriptFormat.INTRA_DATABASE.equals(scriptFormat) || ScriptFormat.DBUNIT_FLAT_XML.equals(scriptFormat) || ScriptFormat.LIQUIBASE_XML.equals(scriptFormat)); sortedCheckBox.setSelected(true); @@ -627,6 +629,7 @@ public abstract class ExportDialog extends javax.swing.JDialog { transactional.addActionListener(al); unicode.addActionListener(al); sortedCheckBox.addActionListener(al); + addGoBatchSeparator.addActionListener(al); orderByPKCheckbox.addActionListener(al); scopeGlobal.addActionListener(al); scopeSession.addActionListener(al); @@ -1388,6 +1391,7 @@ public abstract class ExportDialog extends javax.swing.JDialog { unicode = new javax.swing.JCheckBox(); confirmInsert = new javax.swing.JCheckBox(); insertIncrementally = new javax.swing.JCheckBox(); + addGoBatchSeparator = new javax.swing.JCheckBox(); browseInsertButton = new javax.swing.JButton(); browseDeleteButton = new javax.swing.JButton(); targetDBMSLabel1 = new javax.swing.JLabel(); @@ -2110,11 +2114,28 @@ public abstract class ExportDialog extends javax.swing.JDialog { }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 1; - gridBagConstraints.gridy = 48; + gridBagConstraints.gridy = 47; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.insets = new java.awt.Insets(2, 0, 0, 0); jPanel5.add(insertIncrementally, gridBagConstraints); + addGoBatchSeparator.setText("Insert “GO” batch terminators"); // NOI18N + addGoBatchSeparator.setToolTipText("Insert “GO” batch terminators. (Microsoft SQL Server / Sybase)"); + addGoBatchSeparator.setBorder(javax.swing.BorderFactory.createEmptyBorder(0, 0, 0, 0)); + addGoBatchSeparator.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + addGoBatchSeparatorActionPerformed(evt); + } + }); + gridBagConstraints = new java.awt.GridBagConstraints(); + gridBagConstraints.gridx = 1; + gridBagConstraints.gridy = 48; + gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; + gridBagConstraints.insets = new java.awt.Insets(2, 0, 0, 0); + jPanel5.add(addGoBatchSeparator, gridBagConstraints); + addGoBatchSeparator.getAccessibleContext().setAccessibleName("Insert “GO” batch terminators"); + addGoBatchSeparator.getAccessibleContext().setAccessibleDescription("Insert “GO” batch terminators. (Microsoft SQL Server / Sybase)"); + gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 1; gridBagConstraints.gridy = 37; @@ -2723,6 +2744,10 @@ public abstract class ExportDialog extends javax.swing.JDialog { } }//GEN-LAST:event_browseLocalTempDirButtonActionPerformed + private void addGoBatchSeparatorActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_addGoBatchSeparatorActionPerformed + // TODO add your handling code here: + }//GEN-LAST:event_addGoBatchSeparatorActionPerformed + public boolean isOk() { return isOk; } @@ -2781,6 +2806,10 @@ public abstract class ExportDialog extends javax.swing.JDialog { if (transactional.isSelected()) { args.add("-transactional"); } + if (addGoBatchSeparator.isSelected() && addGoBatchSeparator.isVisible()) { + args.add("-add-go-batch-separator"); // TODO + } + Object isolationLevel = isolationLevelComboBox.getSelectedItem(); if (isolationLevel != null && !String.valueOf(Connection.TRANSACTION_NONE).equals(isolationLevel)) { args.add("-isolation-level"); @@ -3071,6 +3100,7 @@ public abstract class ExportDialog extends javax.swing.JDialog { } // Variables declaration - do not modify//GEN-BEGIN:variables + public javax.swing.JCheckBox addGoBatchSeparator; private javax.swing.JLabel additSubsLabel; private javax.swing.JLabel additSubsLabelTitel; private javax.swing.JButton browseDeleteButton;