Skip to content

Commit ff14153

Browse files
baslo2AXEPOH
authored andcommitted
DBTOOLS-1929 added on cluster for ch tables
1 parent 592ee8b commit ff14153

7 files changed

Lines changed: 20 additions & 9 deletions

File tree

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

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -256,6 +256,9 @@ enum CliMode {
256256
@Option(name="--graph-invert-filter", depends="--graph-filter-object", usage="graph-invert-filter")
257257
private boolean graphInvertFilter;
258258

259+
@Option(name="--cluster-name", usage="cluster-name")
260+
private String сlusterName;
261+
259262
CliMode getMode() {
260263
return mode;
261264
}
@@ -498,6 +501,11 @@ public IDatabaseProvider getProvider() {
498501
return provider;
499502
}
500503

504+
@Override
505+
public String getClusterName() {
506+
return сlusterName;
507+
}
508+
501509
@Override
502510
public CliArgs copy() {
503511
var args = new CliArgs();
@@ -552,6 +560,7 @@ public CliArgs copy() {
552560
args.timeZone = timeZone;
553561
args.usingTypeCastOff = usingTypeCastOff;
554562
args.provider = provider;
563+
args.сlusterName = сlusterName;
555564
return args;
556565
}
557566

@@ -681,6 +690,7 @@ private void checkDbTypesParam() throws CmdLineException {
681690
DatabaseType.CH);
682691
badArgWithWrongDbType(concurrentlyMode, "--concurrently-mode (-C)", DatabaseType.CH); //$NON-NLS-1$
683692
badArgWithWrongDbType(commentsToEnd, "--comments-to-end", DatabaseType.CH); //$NON-NLS-1$
693+
badArgWithWrongDbType(null != сlusterName, "--cluster-name", DatabaseType.PG, DatabaseType.MS); //$NON-NLS-1$
684694
}
685695

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

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@ protected Object[][] getContents() {
4747
{"Version", Messages.CliArgs_Version}, //$NON-NLS-1$
4848
{"ListCharsets", Messages.CliArgs_list_charsets}, //$NON-NLS-1$
4949
{"ClearLibCache", Messages.CliArgs_clear_lib_cache}, //$NON-NLS-1$
50+
{"cluster-name", Messages.CliArgs_cluster_name}, //$NON-NLS-1$
5051
{"mode", Messages.CliArgs_mode}, //$NON-NLS-1$
5152
{"source", Messages.CliArgs_source}, //$NON-NLS-1$
5253
{"target", Messages.CliArgs_target}, //$NON-NLS-1$

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

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ public class Messages {
2424
public static String CliArgs_add_transaction;
2525
public static String CliArgs_allow_danger_ddl;
2626
public static String CliArgs_allowed_object;
27+
public static String CliArgs_cluster_name;
2728
public static String CliArgs_clear_lib_cache;
2829
public static String CliArgs_comments_to_end;
2930
public static String CliArgs_concurrently_mode;
@@ -32,11 +33,8 @@ public class Messages {
3233
public static String CliArgs_enable_function_bodies_dependencies;
3334
public static String CliArgs_error_argument_null;
3435
public static String CliArgs_error_concurrently_mode_wrong_option;
35-
public static String CliArgs_error_different_types;
36-
public static String CliArgs_error_message_cannot_database_with_project;
3736
public static String CliArgs_error_run_on_non_jdbc;
3837
public static String CliArgs_error_source_dest;
39-
public static String CliArgs_error_source_non_db;
4038
public static String CliArgs_error_source_null;
4139
public static String CliArgs_error_target_non_db;
4240
public static String CliArgs_error_wrong_db_type;

src/main/resources/org/pgcodekeeper/cli/localizations/messages.properties

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,18 +4,16 @@ CliArgs_add_transaction = wrap generated script with transaction statements
44
CliArgs_allow_danger_ddl = allows dangerous statements in safe-mode scripts
55
CliArgs_allowed_object = build the script using these object types only, hide statements of other objects
66
CliArgs_clear_lib_cache = clear library cache
7+
CliArgs_cluster_name = the name of the cluster that will be applied to all tables (experimentally, only for ClickHouse)
78
CliArgs_comments_to_end = print comments at the end of the script
89
CliArgs_concurrently_mode = print CREATE INDEX with CONCURRENTLY option for PostgreSQL and WITH ONLINE = ON for MS SQL
910
CliArgs_db_type = specify database type for work: PG, MS, CH
1011
CliArgs_drop_before_create = print DROP before CREATE statement
1112
CliArgs_enable_function_bodies_dependencies = enable dependencies from bodies of functions and procedures to other functions or procedures
1213
CliArgs_error_argument_null = Please specify argument %s
1314
CliArgs_error_concurrently_mode_wrong_option = --concurrently-mode (-C) cannot be used with the option(s) --add-transaction (-X) for PostgreSQL.
14-
CliArgs_error_different_types = Source (%s) and target (%s) are of different types, possibly missing --db-type parameter.
15-
CliArgs_error_message_cannot_database_with_project = Cannot work with %s database as %s project.
1615
CliArgs_error_run_on_non_jdbc = Option --run-on (-R) must specify JDBC connection string.
1716
CliArgs_error_source_dest = Please specify both SOURCE and DEST.
18-
CliArgs_error_source_non_db = Source must be a database.
1917
CliArgs_error_source_null = Please specify SOURCE.
2018
CliArgs_error_target_non_db = Script can be applied only to database.
2119
CliArgs_error_wrong_db_type = %s cannot be used with --db-type %s option

src/main/resources/org/pgcodekeeper/cli/localizations/messages_ru_RU.properties

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,18 +4,16 @@ CliArgs_add_transaction = \u043E\u0431\u0435\u0440\u043D\u0443\u0442\u044C \u044
44
CliArgs_allow_danger_ddl = \u0440\u0430\u0437\u0440\u0435\u0448\u0438\u0442\u044C \u043E\u043F\u0430\u0441\u043D\u044B\u0435 \u043E\u043F\u0435\u0440\u0430\u0442\u043E\u0440\u044B \u0432 \u0441\u043A\u0440\u0438\u043F\u0442\u0430\u0445 \u0432 \u0431\u0435\u0437\u043E\u043F\u0430\u0441\u043D\u043E\u043C \u0440\u0435\u0436\u0438\u043C\u0435
55
CliArgs_allowed_object = \u043F\u043E\u0441\u0442\u0440\u043E\u0438\u0442\u044C \u0441\u043A\u0440\u0438\u043F\u0442, \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u044F \u0442\u043E\u043B\u044C\u043A\u043E \u044D\u0442\u0438 \u0442\u0438\u043F\u044B \u043E\u0431\u044A\u0435\u043A\u0442\u043E\u0432 \u0438 \u0441\u043A\u0440\u044B\u0432\u0430\u044F \u043E\u0431\u044A\u0435\u043A\u0442\u044B \u0434\u0440\u0443\u0433\u0438\u0445 \u0442\u0438\u043F\u043E\u0432
66
CliArgs_clear_lib_cache = \u043E\u0447\u0438\u0441\u0442\u0438\u0442\u044C \u043A\u044D\u0448 \u0431\u0438\u0431\u043B\u0438\u043E\u0442\u0435\u043A
7+
CliArgs_cluster_name = \u0438\u043C\u044F \u043A\u043B\u0430\u0441\u0442\u0435\u0440\u0430, \u043F\u0440\u0438\u043C\u0435\u043D\u044F\u0435\u043C\u043E\u0435 \u043A\u043E \u0432\u0441\u0435\u043C \u0442\u0430\u0431\u043B\u0438\u0446\u0430\u043C (\u044D\u043A\u0441\u043F\u0435\u0440\u0438\u043C\u0435\u043D\u0442\u0430\u043B\u044C\u043D\u043E, \u0442\u043E\u043B\u044C\u043A\u043E \u0434\u043B\u044F ClickHouse)
78
CliArgs_comments_to_end = \u043F\u0435\u0447\u0430\u0442\u0430\u0442\u044C \u043A\u043E\u043C\u043C\u0435\u043D\u0442\u0430\u0440\u0438\u0438 \u0432 \u043A\u043E\u043D\u0446\u0435 \u0441\u043A\u0440\u0438\u043F\u0442\u0430
89
CliArgs_concurrently_mode = \u043F\u0435\u0447\u0430\u0442\u0430\u0442\u044C CREATE INDEX \u0441 \u043E\u043F\u0446\u0438\u0435\u0439 CONCURRENTLY \u0434\u043B\u044F PostgreSQL \u0438 WITH ONLINE = ON \u0434\u043B\u044F MS SQL
910
CliArgs_db_type = \u0443\u043A\u0430\u0437\u0430\u0442\u044C \u0442\u0438\u043F \u0431\u0430\u0437\u044B \u0434\u0430\u043D\u043D\u044B\u0445 \u0434\u043B\u044F \u0440\u0430\u0431\u043E\u0442\u044B: PG, MS, CH
1011
CliArgs_drop_before_create = \u043F\u0435\u0447\u0430\u0442\u0430\u0442\u044C DROP \u043F\u0435\u0440\u0435\u0434 CREATE \u043A\u043E\u043D\u0441\u0442\u0440\u0443\u043A\u0446\u0438\u0435\u0439
1112
CliArgs_enable_function_bodies_dependencies = \u0432\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u0437\u0430\u0432\u0438\u0441\u0438\u043C\u043E\u0441\u0442\u0438 \u043E\u0442 \u0442\u0435\u043B \u0444\u0443\u043D\u043A\u0446\u0438\u0439 \u0438 \u043F\u0440\u043E\u0446\u0435\u0434\u0443\u0440 \u043A \u0434\u0440\u0443\u0433\u0438\u043C \u0444\u0443\u043D\u043A\u0446\u0438\u044F\u043C \u0438\u043B\u0438 \u043F\u0440\u043E\u0446\u0435\u0434\u0443\u0440\u0430\u043C
1213
CliArgs_error_argument_null = \u041F\u043E\u0436\u0430\u043B\u0443\u0439\u0441\u0442\u0430, \u0443\u043A\u0430\u0436\u0438\u0442\u0435 \u0430\u0440\u0433\u0443\u043C\u0435\u043D\u0442 %s
1314
CliArgs_error_concurrently_mode_wrong_option = --concurrently-mode (-C ) \u043D\u0435 \u043C\u043E\u0436\u0435\u0442 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u044C\u0441\u044F \u0441 \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u043E\u043C --add-transaction (-X) \u0434\u043B\u044F PostgreSQL.
14-
CliArgs_error_different_types = \u0418\u0441\u0442\u043E\u0447\u043D\u0438\u043A (%s) \u0438 \u043F\u0440\u0438\u0435\u043C\u043D\u0438\u043A (%s) \u0440\u0430\u0437\u043B\u0438\u0447\u0430\u044E\u0442\u0441\u044F \u043F\u043E \u0442\u0438\u043F\u0443, \u0432\u043E\u0437\u043C\u043E\u0436\u043D\u043E \u043F\u0440\u043E\u043F\u0443\u0449\u0435\u043D \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440 --db-type.
15-
CliArgs_error_message_cannot_database_with_project = \u041D\u0435\u0432\u043E\u0437\u043C\u043E\u0436\u043D\u043E \u0440\u0430\u0431\u043E\u0442\u0430\u0442\u044C \u0441 \u0431\u0430\u0437\u043E\u0439 \u0434\u0430\u043D\u043D\u044B\u0445 %s \u043A\u0430\u043A \u0441 \u043F\u0440\u043E\u0435\u043A\u0442\u043E\u043C %s.
1615
CliArgs_error_run_on_non_jdbc = \u041F\u0430\u0440\u0430\u043C\u0435\u0442\u0440 --run-on (-R) \u0434\u043E\u043B\u0436\u0435\u043D \u0443\u043A\u0430\u0437\u044B\u0432\u0430\u0442\u044C \u0441\u0442\u0440\u043E\u043A\u0443 \u043F\u043E\u0434\u043A\u043B\u044E\u0447\u0435\u043D\u0438\u044F JDBC.
1716
CliArgs_error_source_dest = \u041F\u043E\u0436\u0430\u043B\u0443\u0439\u0441\u0442\u0430, \u0443\u043A\u0430\u0436\u0438\u0442\u0435 \u043E\u0431\u0430 \u0430\u0440\u0433\u0443\u043C\u0435\u043D\u0442\u0430 SOURCE \u0438 DEST.
18-
CliArgs_error_source_non_db = \u0418\u0441\u0442\u043E\u0447\u043D\u0438\u043A\u043E\u043C \u0434\u043E\u043B\u0436\u043D\u0430 \u0431\u044B\u0442\u044C \u0431\u0430\u0437\u0430 \u0434\u0430\u043D\u043D\u044B\u0445.
1917
CliArgs_error_source_null = \u041F\u043E\u0436\u0430\u043B\u0443\u0439\u0441\u0442\u0430, \u0443\u043A\u0430\u0436\u0438\u0442\u0435 SOURCE.
2018
CliArgs_error_target_non_db = \u0421\u043A\u0440\u0438\u043F\u0442 \u043C\u043E\u0436\u043D\u043E \u043F\u0440\u0438\u043C\u0435\u043D\u0438\u0442\u044C \u0442\u043E\u043B\u044C\u043A\u043E \u043A \u0431\u0430\u0437\u0435 \u0434\u0430\u043D\u043D\u044B\u0445.
2119
CliArgs_error_wrong_db_type = %s \u043D\u0435 \u043C\u043E\u0436\u0435\u0442 \u0431\u044B\u0442\u044C \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D \u0441 \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u043E\u043C --db-type %s

src/test/java/org/pgcodekeeper/cli/CliArgsTest.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,9 @@ class CliArgsTest {
5757
"filename filename --simplify-views --db-type MS;"
5858
+ "--simplify-views cannot be used with --db-type MS option",
5959

60+
"jdbc:postgresql:q jdbc:postgresql:q2 --cluster-name test;"
61+
+ "--cluster-name cannot be used with --db-type PG option"
62+
6063
})
6164
void badArgsTest(String arguments, String message) {
6265
String[] args = arguments.split(" ");

src/test/resources/org/pgcodekeeper/cli/usage_check.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,9 @@ Usage
1515
types only, hide statements of other
1616
objects
1717
--clear-lib-cache : clear library cache
18+
--cluster-name : the name of the cluster that will be
19+
applied to all tables (experimentally,
20+
only for ClickHouse)
1821
--comments-to-end : print comments at the end of the
1922
script
2023
--concurrently-mode (-C) : print CREATE INDEX with CONCURRENTLY

0 commit comments

Comments
 (0)