Skip to content

Commit ebe3260

Browse files
committed
Merge branch 'DBTOOLS-2044_add_setting_ignore_not_null_name' into 'master'
DBTOOLS-2044 added setting isDisableNameForNotNullConstraint See merge request codekeeper/pgcodekeeper-cli!44
2 parents 0a55df7 + ec84980 commit ebe3260

9 files changed

Lines changed: 320 additions & 122 deletions

File tree

CHANGELOG.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,8 @@ and this project adheres to [Semantic Versioning](http://semver.org/).
99

1010
### Added
1111

12-
- Added the `--additional-dependencies` parameter, which allows you to specify the path to a file with additional dependencies.
12+
- Added `--additional-dependencies` parameter, which allows you to specify the path to a file with additional dependencies.
13+
- Added `--simplify-not-null` parameter to simplify reading of NOT NULL constraints via JDBC for PostgreSQL 18+.
1314

1415
### Changed
1516

@@ -20,7 +21,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/).
2021
### Added
2122

2223
- Added localization of missing lines.
23-
- The `--use-actual-syntax` parameter has been added. When specified, the syntax relevant to the current database version is used (there are currently no syntax changes, but these will be added later). By default, the syntax specific to the minimum supported version is used.
24+
- Added `--use-actual-syntax` parameter. When specified, the syntax relevant to the current database version is used (there are currently no syntax changes, but these will be added later). By default, the syntax specific to the minimum supported version is used.
2425

2526
### Changed
2627

CHANGELOG.ru.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
### Добавлено
1111

1212
- Добавлен параметр `--additional-dependencies`, позволяющий указывать путь до файла с дополнительными зависимостями.
13+
- Добавлен параметр `--simplify-not-null` для упрощенного чтения ограничений NOT NULL через JDBC для PostgreSQL 18+.
1314

1415
### Изменено
1516

src/main/java/org/pgcodekeeper/cli/CliArgs.java

Lines changed: 14 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -109,8 +109,7 @@ enum CliMode {
109109
@Option(name = "--mode", usage = "mode")
110110
private CliMode mode;
111111

112-
@Option(name = "--source", depends = "-t", aliases = "-s", metaVar = CliArgsLocalizationsBundle.PATH_OR_JDBC,
113-
usage = "source")
112+
@Option(name = "--source", depends = "-t", aliases = "-s", metaVar = CliArgsLocalizationsBundle.PATH_OR_JDBC, usage = "source")
114113
@Argument(index = 0, metaVar = CliArgsLocalizationsBundle.SOURCE, usage = "source")
115114
private String newSrc;
116115

@@ -121,8 +120,7 @@ enum CliMode {
121120
@Option(name = "--output", aliases = "-o", metaVar = CliArgsLocalizationsBundle.PATH, usage = "output")
122121
private String outputTarget;
123122

124-
@Option(name = "--run-on-target", aliases = "-r", forbids = "-R",
125-
usage = "run-on-target")
123+
@Option(name = "--run-on-target", aliases = "-r", forbids = "-R", usage = "run-on-target")
126124
private boolean runOnTarget;
127125

128126
@Option(name = "--run-on", aliases = "-R", metaVar = CliArgsLocalizationsBundle.JDBC, forbids = "-r", usage = "run-on")
@@ -269,12 +267,15 @@ enum CliMode {
269267
@Option(name = "--disable-auto-load", usage = "disable-auto-load")
270268
private boolean disableAutoLoad;
271269

272-
@Option(name="--additional-dependencies", metaVar=CliArgsLocalizationsBundle.PATH, usage="additional-dependencies")
270+
@Option(name = "--additional-dependencies", metaVar = CliArgsLocalizationsBundle.PATH, usage = "additional-dependencies")
273271
private String additionalDependencies;
274272

275273
@Option(name = "--use-actual-syntax", usage = "use-actual-syntax")
276274
private boolean isUseActualVersionSyntax;
277275

276+
@Option(name = "--simplify-not-null", usage = "simplify-not-null")
277+
private boolean simplifyNotNull;
278+
278279
CliMode getMode() {
279280
return mode;
280281
}
@@ -522,6 +523,11 @@ public boolean isUseActualVersionSyntax() {
522523
return isUseActualVersionSyntax;
523524
}
524525

526+
@Override
527+
public boolean isSimplifyNotNull() {
528+
return simplifyNotNull;
529+
}
530+
525531
@Override
526532
public boolean isParallelLoad() {
527533
return parallelLoad;
@@ -607,7 +613,7 @@ public void setIgnorePrivileges(boolean ignorePrivileges) {
607613
*
608614
* @param args array of arguments
609615
* @return true if arguments were parsed and execution can continue,
610-
* otherwise false
616+
* otherwise false
611617
*/
612618
public boolean parse(String[] args) throws CmdLineException {
613619
if (args.length != 0) {
@@ -677,12 +683,9 @@ private void checkParams() throws CmdLineException {
677683

678684
private void checkModeParams() throws CmdLineException {
679685
// argument can be used only with mode
680-
badArgWithCorrectModes(newSrc != null, "--source (-s)", CliMode.DIFF, CliMode.PARSE, CliMode.GRAPH); //$NON-NLS-1$
681686
badArgWithCorrectModes(oldSrc != null, "--target (-t)", CliMode.DIFF); //$NON-NLS-1$
682687
badArgWithCorrectModes(addTransaction, "--add-transaction (-X)", CliMode.DIFF); //$NON-NLS-1$
683688
badArgWithCorrectModes(runOnDb != null, "--run-on (-R)", CliMode.DIFF); //$NON-NLS-1$
684-
badArgWithCorrectModes(enableFunctionBodiesDependencies, "--enable-function-bodies-dependencies (-f)", //$NON-NLS-1$
685-
CliMode.DIFF, CliMode.PARSE, CliMode.GRAPH);
686689
badArgWithCorrectModes(simplifyView, "--simplify-views", CliMode.DIFF, CliMode.PARSE); //$NON-NLS-1$
687690
badArgWithCorrectModes(timeZone != null, "--time-zone (-Z)", CliMode.DIFF, CliMode.PARSE); //$NON-NLS-1$
688691
badArgWithCorrectModes(!allowedTypes.isEmpty(), "--allowed-object (-O)", CliMode.DIFF); //$NON-NLS-1$
@@ -713,6 +716,7 @@ private void checkModeParams() throws CmdLineException {
713716
badArgWithCorrectModes(!graphFilterTypes.isEmpty(), "--graph-filter-object", CliMode.GRAPH); //$NON-NLS-1$
714717
badArgWithCorrectModes(additionalDependencies != null, "--additional-dependencies", CliMode.DIFF); //$NON-NLS-1$
715718
badArgWithCorrectModes(isUseActualVersionSyntax, "--use-actual-syntax", CliMode.DIFF); //$NON-NLS-1$
719+
badArgWithCorrectModes(simplifyNotNull, "--simplify-not-null", CliMode.DIFF, CliMode.PARSE); //$NON-NLS-1$
716720
}
717721

718722
private void checkDbTypesParam() throws CmdLineException {
@@ -722,6 +726,7 @@ private void checkDbTypesParam() throws CmdLineException {
722726
badArgWithWrongDbType(concurrentlyMode, "--concurrently-mode (-C)", CH); //$NON-NLS-1$
723727
badArgWithWrongDbType(commentsToEnd, "--comments-to-end", CH); //$NON-NLS-1$
724728
badArgWithWrongDbType(null != clusterName, "--cluster-name", PG, MS); //$NON-NLS-1$
729+
badArgWithWrongDbType(simplifyNotNull, "--simplify-not-null", MS, CH); //$NON-NLS-1$
725730
}
726731

727732
private void badArgWithCorrectModes(boolean condition, String param, CliMode... modes) throws CmdLineException {

src/main/java/org/pgcodekeeper/cli/localizations/CliArgsLocalizationsBundle.java

Lines changed: 72 additions & 71 deletions
Original file line numberDiff line numberDiff line change
@@ -33,77 +33,78 @@ public final class CliArgsLocalizationsBundle extends ListResourceBundle {
3333

3434
@Override
3535
protected Object[][] getContents() {
36-
return new String[][]{
37-
{PATH, PATH},
38-
{JDBC, JDBC},
39-
{PATH_OR_JDBC, PATH_OR_JDBC},
40-
{CHARSET, CHARSET},
41-
{N, N},
42-
{NAME, NAME},
43-
{FILTER, FILTER},
44-
{TIMEZONE, TIMEZONE},
45-
{SOURCE, SOURCE},
46-
{DEST, DEST},
47-
{DB_TYPES, DB_TYPES},
48-
{"Help", Messages.CliArgs_Help}, //$NON-NLS-1$
49-
{"Version", Messages.CliArgs_Version}, //$NON-NLS-1$
50-
{"ListCharsets", Messages.CliArgs_list_charsets}, //$NON-NLS-1$
51-
{"ClearLibCache", Messages.CliArgs_clear_lib_cache}, //$NON-NLS-1$
52-
{"cluster-name", Messages.CliArgs_cluster_name}, //$NON-NLS-1$
53-
{"mode", Messages.CliArgs_mode}, //$NON-NLS-1$
54-
{"source", Messages.CliArgs_source}, //$NON-NLS-1$
55-
{"target", Messages.CliArgs_target}, //$NON-NLS-1$
56-
{"output", Messages.CliArgs_output}, //$NON-NLS-1$
57-
{"run-on-target", Messages.CliArgs_run_on_target}, //$NON-NLS-1$
58-
{"run-on", Messages.CliArgs_run_on}, //$NON-NLS-1$
59-
{"in-charset", Messages.CliArgs_in_charset}, //$NON-NLS-1$
60-
{"out-charset", Messages.CliArgs_out_charset}, //$NON-NLS-1$
61-
{"error", Messages.CliArgs_show_error}, //$NON-NLS-1$
62-
{"ignore-errors", Messages.CliArgs_ignore_errors}, //$NON-NLS-1$
63-
{"no-privileges", Messages.CliArgs_no_privileges}, //$NON-NLS-1$
64-
{"keep-newlines", Messages.CliArgs_keep_newlines}, //$NON-NLS-1$
65-
{"simplify-views", Messages.CliArgs_simplify_views}, //$NON-NLS-1$
66-
{"add-transaction", Messages.CliArgs_add_transaction}, //$NON-NLS-1$
67-
{"no-check-function-bodies", Messages.CliArgs_no_check_function_bodies}, //$NON-NLS-1$
68-
{"enable-function-bodies-dependencies", Messages.CliArgs_enable_function_bodies_dependencies}, //$NON-NLS-1$
69-
{"time-zone", Messages.CliArgs_time_zone}, //$NON-NLS-1$
70-
{"pre-script", Messages.CliArgs_pre_script}, //$NON-NLS-1$
71-
{"post-script", Messages.CliArgs_post_script}, //$NON-NLS-1$
72-
{"ignore-column-order", Messages.CliArgs_ignore_column_order}, //$NON-NLS-1$
73-
{"generate-constraint-not-valid", Messages.CliArgs_generate_constraint_not_valid}, //$NON-NLS-1$
74-
{"using-off", Messages.CliArgs_using_off}, //$NON-NLS-1$
75-
{"migrate-data", Messages.CliArgs_migrate_data}, //$NON-NLS-1$
76-
{"concurrently-mode", Messages.CliArgs_concurrently_mode}, //$NON-NLS-1$
77-
{"generate-exist", Messages.CliArgs_generate_exist}, //$NON-NLS-1$
78-
{"generate-exist-do-block", Messages.CliArgs_generate_exist_do_block}, //$NON-NLS-1$
79-
{"drop-before-create", Messages.CliArgs_drop_before_create}, //$NON-NLS-1$
80-
{"comments-to-end", Messages.CliArgs_comments_to_end}, //$NON-NLS-1$
81-
{"safe-mode", Messages.CliArgs_safe_mode}, //$NON-NLS-1$
82-
{"allow-danger-ddl", Messages.CliArgs_allow_danger_ddl}, //$NON-NLS-1$
83-
{"allowed-object", Messages.CliArgs_allowed_object}, //$NON-NLS-1$
84-
{"stop-not-allowed", Messages.CliArgs_stop_not_allowed}, //$NON-NLS-1$
85-
{"selected-only", Messages.CliArgs_selected_only}, //$NON-NLS-1$
86-
{"ignore-list", Messages.CliArgs_ignore_list}, //$NON-NLS-1$
87-
{"ignore-schema", Messages.CliArgs_ignore_schema}, //$NON-NLS-1$
88-
{"src-lib-xml", Messages.CliArgs_src_lib_xml}, //$NON-NLS-1$
89-
{"src-lib", Messages.CliArgs_src_lib}, //$NON-NLS-1$
90-
{"src-lib-no-priv", Messages.CliArgs_src_lib_no_priv}, //$NON-NLS-1$
91-
{"tgt-lib-xml", Messages.CliArgs_tgt_lib_xml}, //$NON-NLS-1$
92-
{"tgt-lib", Messages.CliArgs_tgt_lib}, //$NON-NLS-1$
93-
{"tgt-lib-no-priv", Messages.CliArgs_tgt_lib_no_priv}, //$NON-NLS-1$
94-
{"lib-safe-mode", Messages.CliArgs_lib_safe_mode}, //$NON-NLS-1$
95-
{"ignore-concurrent-modification", Messages.CliArgs_ignore_concurrent_modification}, //$NON-NLS-1$
96-
{"db-type", Messages.CliArgs_db_type}, //$NON-NLS-1$
97-
{"update-project", Messages.CliArgs_update_project}, //$NON-NLS-1$
98-
{"graph-depth", Messages.CliArgs_graph_depth}, //$NON-NLS-1$
99-
{"graph-reverse", Messages.CliArgs_graph_reverse}, //$NON-NLS-1$
100-
{"graph-name", Messages.CliArgs_graph_name}, //$NON-NLS-1$
101-
{"graph-filter-object", Messages.CliArgs_graph_filter_object}, //$NON-NLS-1$
102-
{"graph-invert-filter", Messages.CliArgs_graph_invert_filter}, //$NON-NLS-1$
103-
{"parallel-load", Messages.CliArgs_use_parallel_load}, //$NON-NLS-1$
104-
{"disable-auto-load", Messages.CliArgs_disable_auto_load}, //$NON-NLS-1$
105-
{"additional-dependencies", Messages.CliArgs_deps_file}, //$NON-NLS-1$
106-
{"use-actual-syntax", Messages.CliArgs_use_actual_syntax} //$NON-NLS-1$
36+
return new String[][] {
37+
{ PATH, PATH },
38+
{ JDBC, JDBC },
39+
{ PATH_OR_JDBC, PATH_OR_JDBC },
40+
{ CHARSET, CHARSET },
41+
{ N, N },
42+
{ NAME, NAME },
43+
{ FILTER, FILTER },
44+
{ TIMEZONE, TIMEZONE },
45+
{ SOURCE, SOURCE },
46+
{ DEST, DEST },
47+
{ DB_TYPES, DB_TYPES },
48+
{ "Help", Messages.CliArgs_Help }, //$NON-NLS-1$
49+
{ "Version", Messages.CliArgs_Version }, //$NON-NLS-1$
50+
{ "ListCharsets", Messages.CliArgs_list_charsets }, //$NON-NLS-1$
51+
{ "ClearLibCache", Messages.CliArgs_clear_lib_cache }, //$NON-NLS-1$
52+
{ "cluster-name", Messages.CliArgs_cluster_name }, //$NON-NLS-1$
53+
{ "mode", Messages.CliArgs_mode }, //$NON-NLS-1$
54+
{ "source", Messages.CliArgs_source }, //$NON-NLS-1$
55+
{ "target", Messages.CliArgs_target }, //$NON-NLS-1$
56+
{ "output", Messages.CliArgs_output }, //$NON-NLS-1$
57+
{ "run-on-target", Messages.CliArgs_run_on_target }, //$NON-NLS-1$
58+
{ "run-on", Messages.CliArgs_run_on }, //$NON-NLS-1$
59+
{ "in-charset", Messages.CliArgs_in_charset }, //$NON-NLS-1$
60+
{ "out-charset", Messages.CliArgs_out_charset }, //$NON-NLS-1$
61+
{ "error", Messages.CliArgs_show_error }, //$NON-NLS-1$
62+
{ "ignore-errors", Messages.CliArgs_ignore_errors }, //$NON-NLS-1$
63+
{ "no-privileges", Messages.CliArgs_no_privileges }, //$NON-NLS-1$
64+
{ "keep-newlines", Messages.CliArgs_keep_newlines }, //$NON-NLS-1$
65+
{ "simplify-views", Messages.CliArgs_simplify_views }, //$NON-NLS-1$
66+
{ "add-transaction", Messages.CliArgs_add_transaction }, //$NON-NLS-1$
67+
{ "no-check-function-bodies", Messages.CliArgs_no_check_function_bodies }, //$NON-NLS-1$
68+
{ "enable-function-bodies-dependencies", Messages.CliArgs_enable_function_bodies_dependencies }, //$NON-NLS-1$
69+
{ "time-zone", Messages.CliArgs_time_zone }, //$NON-NLS-1$
70+
{ "pre-script", Messages.CliArgs_pre_script }, //$NON-NLS-1$
71+
{ "post-script", Messages.CliArgs_post_script }, //$NON-NLS-1$
72+
{ "ignore-column-order", Messages.CliArgs_ignore_column_order }, //$NON-NLS-1$
73+
{ "generate-constraint-not-valid", Messages.CliArgs_generate_constraint_not_valid }, //$NON-NLS-1$
74+
{ "using-off", Messages.CliArgs_using_off }, //$NON-NLS-1$
75+
{ "migrate-data", Messages.CliArgs_migrate_data }, //$NON-NLS-1$
76+
{ "concurrently-mode", Messages.CliArgs_concurrently_mode }, //$NON-NLS-1$
77+
{ "generate-exist", Messages.CliArgs_generate_exist }, //$NON-NLS-1$
78+
{ "generate-exist-do-block", Messages.CliArgs_generate_exist_do_block }, //$NON-NLS-1$
79+
{ "drop-before-create", Messages.CliArgs_drop_before_create }, //$NON-NLS-1$
80+
{ "comments-to-end", Messages.CliArgs_comments_to_end }, //$NON-NLS-1$
81+
{ "safe-mode", Messages.CliArgs_safe_mode }, //$NON-NLS-1$
82+
{ "allow-danger-ddl", Messages.CliArgs_allow_danger_ddl }, //$NON-NLS-1$
83+
{ "allowed-object", Messages.CliArgs_allowed_object }, //$NON-NLS-1$
84+
{ "stop-not-allowed", Messages.CliArgs_stop_not_allowed }, //$NON-NLS-1$
85+
{ "selected-only", Messages.CliArgs_selected_only }, //$NON-NLS-1$
86+
{ "ignore-list", Messages.CliArgs_ignore_list }, //$NON-NLS-1$
87+
{ "ignore-schema", Messages.CliArgs_ignore_schema }, //$NON-NLS-1$
88+
{ "src-lib-xml", Messages.CliArgs_src_lib_xml }, //$NON-NLS-1$
89+
{ "src-lib", Messages.CliArgs_src_lib }, //$NON-NLS-1$
90+
{ "src-lib-no-priv", Messages.CliArgs_src_lib_no_priv }, //$NON-NLS-1$
91+
{ "tgt-lib-xml", Messages.CliArgs_tgt_lib_xml }, //$NON-NLS-1$
92+
{ "tgt-lib", Messages.CliArgs_tgt_lib }, //$NON-NLS-1$
93+
{ "tgt-lib-no-priv", Messages.CliArgs_tgt_lib_no_priv }, //$NON-NLS-1$
94+
{ "lib-safe-mode", Messages.CliArgs_lib_safe_mode }, //$NON-NLS-1$
95+
{ "ignore-concurrent-modification", Messages.CliArgs_ignore_concurrent_modification }, //$NON-NLS-1$
96+
{ "db-type", Messages.CliArgs_db_type }, //$NON-NLS-1$
97+
{ "update-project", Messages.CliArgs_update_project }, //$NON-NLS-1$
98+
{ "graph-depth", Messages.CliArgs_graph_depth }, //$NON-NLS-1$
99+
{ "graph-reverse", Messages.CliArgs_graph_reverse }, //$NON-NLS-1$
100+
{ "graph-name", Messages.CliArgs_graph_name }, //$NON-NLS-1$
101+
{ "graph-filter-object", Messages.CliArgs_graph_filter_object }, //$NON-NLS-1$
102+
{ "graph-invert-filter", Messages.CliArgs_graph_invert_filter }, //$NON-NLS-1$
103+
{ "parallel-load", Messages.CliArgs_use_parallel_load }, //$NON-NLS-1$
104+
{ "disable-auto-load", Messages.CliArgs_disable_auto_load }, //$NON-NLS-1$
105+
{ "use-actual-syntax", Messages.CliArgs_use_actual_syntax }, //$NON-NLS-1$
106+
{ "additional-dependencies", Messages.CliArgs_deps_file }, //$NON-NLS-1$
107+
{ "simplify-not-null", Messages.CliArgs_simplify_not_null } //$NON-NLS-1$
107108
};
108109
}
109110
}

src/main/java/org/pgcodekeeper/cli/localizations/Messages.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,7 @@ public class Messages {
7171
public static String CliArgs_safe_mode;
7272
public static String CliArgs_selected_only;
7373
public static String CliArgs_show_error;
74+
public static String CliArgs_simplify_not_null;
7475
public static String CliArgs_simplify_views;
7576
public static String CliArgs_source;
7677
public static String CliArgs_src_lib;

0 commit comments

Comments
 (0)