diff options
author | Bulat Gayazov <bylatgr@gmail.com> | 2023-10-17 07:24:42 +0300 |
---|---|---|
committer | brgayazov <bulat@ydb.tech> | 2023-10-17 07:40:01 +0300 |
commit | 09ebdf72fbd10c00e6f3c2db0d686a8ef17d8c59 (patch) | |
tree | 0facc5af3bda23cc7a38f7cb5b2ccf5e4c65120a | |
parent | a2b4b55fa00ab6fb08251f0c723ca88a1f2d165e (diff) | |
download | ydb-09ebdf72fbd10c00e6f3c2db0d686a8ef17d8c59.tar.gz |
Fixed bug with wrong primary key in ydb tools pg-convert command
Fixed bug with wrong primary key in ydb tools pg-convert command
Pull Request resolved: https://github.com/ydb-platform/ydb/pull/399
-rw-r--r-- | ydb/public/lib/ydb_cli/common/pg_dump_parser.cpp | 1 | ||||
-rw-r--r-- | ydb/public/lib/ydb_cli/common/pg_dump_parser_ut.cpp | 8 |
2 files changed, 7 insertions, 2 deletions
diff --git a/ydb/public/lib/ydb_cli/common/pg_dump_parser.cpp b/ydb/public/lib/ydb_cli/common/pg_dump_parser.cpp index 634d3dc372..d0e17dedef 100644 --- a/ydb/public/lib/ydb_cli/common/pg_dump_parser.cpp +++ b/ydb/public/lib/ydb_cli/common/pg_dump_parser.cpp @@ -164,6 +164,7 @@ void TPgDumpParser::ApplyToken(TSQLCommandNode* root) { void TPgDumpParser::PrimaryKeyCheck() { if (IsPrimaryKey) { PrimaryKeyByTable[TableName] = PrimaryKeyName; + IsPrimaryKey = false; } } diff --git a/ydb/public/lib/ydb_cli/common/pg_dump_parser_ut.cpp b/ydb/public/lib/ydb_cli/common/pg_dump_parser_ut.cpp index 3b5d9bf233..e51b3d1d4c 100644 --- a/ydb/public/lib/ydb_cli/common/pg_dump_parser_ut.cpp +++ b/ydb/public/lib/ydb_cli/common/pg_dump_parser_ut.cpp @@ -96,7 +96,9 @@ Y_UNIT_TEST_SUITE(PgDumpParserTests) { "ALTER TABLE ONLY public.pgbench_accounts\n" " ADD CONSTRAINT pgbench_accounts_pkey PRIMARY KEY (aid);\n" "ALTER TABLE ONLY public.pgbench_branches\n" - " ADD CONSTRAINT pgbench_branches_pkey PRIMARY KEY (bid);\n"; + " ADD CONSTRAINT pgbench_branches_pkey PRIMARY KEY (bid);\n" + "ALTER TABLE ONLY public.pgbench_accounts\n" + " ADD CONSTRAINT c_widget_field_6 FOREIGN KEY (value_sysmapid) REFERENCES public.sysmaps(sysmapid) ON DELETE CASCADE;\n"; TString result = "CREATE TABLE pgbench_accounts (\n" " aid integer NOT NULL,\n" @@ -124,7 +126,9 @@ Y_UNIT_TEST_SUITE(PgDumpParserTests) { "-- ALTER TABLE ONLY public.pgbench_accounts\n" "-- ADD CONSTRAINT pgbench_accounts_pkey PRIMARY KEY (aid);\n" "-- ALTER TABLE ONLY public.pgbench_branches\n" - "-- ADD CONSTRAINT pgbench_branches_pkey PRIMARY KEY (bid);\n"; + "-- ADD CONSTRAINT pgbench_branches_pkey PRIMARY KEY (bid);\n" + "-- ALTER TABLE ONLY public.pgbench_accounts\n" + "-- ADD CONSTRAINT c_widget_field_6 FOREIGN KEY (value_sysmapid) REFERENCES public.sysmaps(sysmapid) ON DELETE CASCADE;\n"; UNIT_ASSERT_EQUAL(ParseDump(data), result); UNIT_ASSERT_EQUAL(ParseDumpFixedString(data), result); } |