diff --git a/migtests/scripts/functions.sh b/migtests/scripts/functions.sh index f731ff28e5..a04693c2a4 100644 --- a/migtests/scripts/functions.sh +++ b/migtests/scripts/functions.sh @@ -892,6 +892,7 @@ normalize_json() { .OptimalSelectConnectionsPerNode? = "IGNORED" | .OptimalInsertConnectionsPerNode? = "IGNORED" | .RowCount? = "IGNORED" | + .FeatureDescription? = "IGNORED" | # Ignore FeatureDescription instead of fixing it in all tests since it will be removed soon .MigrationComplexityExplanation?= "IGNORED" | # Replace newline characters in SqlStatement with spaces .SqlStatement? |= ( diff --git a/migtests/scripts/run-schema-migration.sh b/migtests/scripts/run-schema-migration.sh index 8a142cf152..19633dcebe 100755 --- a/migtests/scripts/run-schema-migration.sh +++ b/migtests/scripts/run-schema-migration.sh @@ -95,7 +95,7 @@ main() { step "Analyze schema." analyze_schema --output-format json - compare_json_reports "${EXPORT_DIR}/reports/schema_analysis_report.json" "${TEST_DIR}/expected_files/expected_schema_analysis_report.json" + compare_json_reports "${TEST_DIR}/expected_files/expected_schema_analysis_report.json" "${EXPORT_DIR}/reports/schema_analysis_report.json" step "Create target database." run_ysql yugabyte "DROP DATABASE IF EXISTS ${TARGET_DB_NAME};" diff --git a/migtests/tests/analyze-schema/expected_issues.json b/migtests/tests/analyze-schema/expected_issues.json index 942be5e30c..c0c5b22781 100644 --- a/migtests/tests/analyze-schema/expected_issues.json +++ b/migtests/tests/analyze-schema/expected_issues.json @@ -3,7 +3,7 @@ "IssueType": "unsupported_features", "ObjectType": "INDEX", "ObjectName": "film_fulltext_idx ON public.film", - "Reason": "Schema contains GIST index which is not supported.", + "Reason": "The schema contains an index with an access method 'GIST' which is not supported in YugabyteDB.", "SqlStatement": "CREATE INDEX film_fulltext_idx ON public.film USING gist (fulltext);", "DocsLink": "https://docs.yugabyte.com/preview/yugabyte-voyager/known-issues/postgresql/#gist-brin-and-spgist-index-types-are-not-supported", "Suggestion": "", @@ -24,7 +24,7 @@ "IssueType": "unsupported_features", "ObjectType": "VIEW", "ObjectName": "public.my_films_view", - "Reason": "Json Query Functions", + "Reason": "JSON query functions from PostgreSQL 17 are not yet supported in YugabyteDB", "SqlStatement": "CREATE VIEW public.my_films_view AS\nSELECT jt.* FROM\n my_films,\n JSON_TABLE ( js, '$.favorites[*]'\n COLUMNS (\n id FOR ORDINALITY,\n kind text PATH '$.kind',\n NESTED PATH '$.films[*]' COLUMNS (\n title text FORMAT JSON PATH '$.title' OMIT QUOTES,\n director text PATH '$.director' KEEP QUOTES))) AS jt;", "Suggestion": "", "GH": "https://github.com/yugabyte/yugabyte-db/issues/25575", @@ -35,7 +35,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "public.json_data", - "Reason": "Json Type Predicate", + "Reason": "IS JSON predicate expressions are not yet supported in YugabyteDB", "SqlStatement": "CREATE TABLE public.json_data (\n id SERIAL PRIMARY KEY,\n data_column TEXT NOT NULL CHECK (data_column IS JSON)\n);", "Suggestion": "", "GH": "https://github.com/yugabyte/yugabyte-db/issues/25575", @@ -46,7 +46,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "test_arr_enum", - "Reason": "Json Type Predicate", + "Reason": "IS JSON predicate expressions are not yet supported in YugabyteDB", "SqlStatement": "CREATE TABLE test_arr_enum (\n\tid int,\n\tarr text[],\n\tarr_enum enum_test[],\n object_column TEXT CHECK (object_column IS JSON OBJECT)\n);", "Suggestion": "", "GH": "https://github.com/yugabyte/yugabyte-db/issues/25575", @@ -57,7 +57,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "test_udt", - "Reason": "Json Type Predicate", + "Reason": "IS JSON predicate expressions are not yet supported in YugabyteDB", "SqlStatement": "CREATE TABLE test_udt (\n\temployee_id SERIAL PRIMARY KEY,\n\temployee_name VARCHAR(100),\n\thome_address address_type,\n\tsome_field enum_test,\n\thome_address1 non_public.address_type1,\n scalar_column TEXT CHECK (scalar_column IS JSON SCALAR)\n);", "Suggestion": "", "GH": "https://github.com/yugabyte/yugabyte-db/issues/25575", @@ -68,7 +68,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "public.xml_data_example", - "Reason": "Json Type Predicate", + "Reason": "IS JSON predicate expressions are not yet supported in YugabyteDB", "SqlStatement": " CREATE TABLE public.xml_data_example (\n id SERIAL PRIMARY KEY,\n name VARCHAR(255),\n description XML DEFAULT xmlparse(document '\u003cproduct\u003e\u003cname\u003eDefault Product\u003c/name\u003e\u003cprice\u003e100.00\u003c/price\u003e\u003ccategory\u003eElectronics\u003c/category\u003e\u003c/product\u003e'),\n created_at TIMESTAMPTZ DEFAULT CURRENT_TIMESTAMP,\n unique_keys_column TEXT CHECK (unique_keys_column IS JSON WITH UNIQUE KEYS)\n);", "Suggestion": "", "GH": "https://github.com/yugabyte/yugabyte-db/issues/25575", @@ -79,7 +79,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "public.locations", - "Reason": "Json Type Predicate", + "Reason": "IS JSON predicate expressions are not yet supported in YugabyteDB", "SqlStatement": "CREATE TABLE public.locations (\n id integer NOT NULL,\n name character varying(100),\n geom geometry(Point,4326),\n array_column TEXT CHECK (array_column IS JSON ARRAY)\n );", "Suggestion": "", "GH": "https://github.com/yugabyte/yugabyte-db/issues/25575", @@ -90,7 +90,7 @@ "IssueType": "unsupported_features", "ObjectType": "VIEW", "ObjectName": "test", - "Reason": "Json Constructor Functions", + "Reason": "JSON constructor functions from PostgreSQL 17 are not yet supported in YugabyteDB", "SqlStatement": "CREATE OR REPLACE view test AS (\n select x , JSON_ARRAYAGG(trunc(b, 2) order by t desc) as agg\n FROM test1\n where t = '1DAY' group by x\n );", "Suggestion": "", "GH": "https://github.com/yugabyte/yugabyte-db/issues/25575", @@ -101,7 +101,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "test_1, constraint: (test_1_id_fkey)", - "Reason": "Foreign key constraint references partitioned table", + "Reason": "Foreign key references to partitioned table are not yet supported in YugabyteDB", "SqlStatement": "CREATE TABLE test_1 (\n\tid numeric NOT NULL REFERENCES sales_data(sales_id),\n\tcountry_code varchar(3),\n\trecord_type varchar(5),\n\tdescriptions varchar(50),\n\tPRIMARY KEY (id)\n) PARTITION BY LIST (country_code, record_type) ;", "Suggestion": "No workaround available ", "GH": "https://github.com/yugabyte/yugabyte-db/issues/25575", @@ -112,7 +112,7 @@ "IssueType": "unsupported_features", "ObjectType": "MVIEW", "ObjectName": "test", - "Reason": "Json Constructor Functions", + "Reason": "JSON constructor functions from PostgreSQL 17 are not yet supported in YugabyteDB", "SqlStatement": "CREATE MATERIALIZED VIEW test AS (\n select x , JSON_ARRAYAGG(trunc(b, 2) order by t desc) as agg\n FROM test1\n where t = '1DAY' group by x\n );", "Suggestion": "", "GH": "https://github.com/yugabyte/yugabyte-db/issues/25575", @@ -123,7 +123,7 @@ "IssueType": "unsupported_features", "ObjectType": "COLLATION", "ObjectName": "special1", - "Reason": "Deterministic attribute in collation", + "Reason": "Deterministic option/attribute with collation is not yet supported in YugabyteDB", "SqlStatement": "CREATE COLLATION special1 (provider = icu, locale = 'en@colCaseFirst=upper;colReorder=grek-latn', deterministic = true);", "Suggestion": "This feature is not supported in YugabyteDB yet", "GH": "https://github.com/yugabyte/yugabyte-db/issues/25575", @@ -134,7 +134,7 @@ "IssueType": "unsupported_features", "ObjectType": "COLLATION", "ObjectName": "ignore_accents", - "Reason": "Deterministic attribute in collation", + "Reason": "Deterministic option/attribute with collation is not yet supported in YugabyteDB", "SqlStatement": "CREATE COLLATION ignore_accents (provider = icu, locale = 'und-u-ks-level1-kc-true', deterministic = false);", "Suggestion": "This feature is not supported in YugabyteDB yet", "GH": "https://github.com/yugabyte/yugabyte-db/issues/25575", @@ -145,7 +145,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "public.xml_data_example", - "Reason": "XML Functions", + "Reason": "XML functions are not yet supported in YugabyteDB", "SqlStatement": " CREATE TABLE public.xml_data_example (\n id SERIAL PRIMARY KEY,\n name VARCHAR(255),\n description XML DEFAULT xmlparse(document '\u003cproduct\u003e\u003cname\u003eDefault Product\u003c/name\u003e\u003cprice\u003e100.00\u003c/price\u003e\u003ccategory\u003eElectronics\u003c/category\u003e\u003c/product\u003e'),\n created_at TIMESTAMPTZ DEFAULT CURRENT_TIMESTAMP,\n unique_keys_column TEXT CHECK (unique_keys_column IS JSON WITH UNIQUE KEYS)\n);", "Suggestion": "", "GH": "https://github.com/yugabyte/yugabyte-db/issues/1043", @@ -156,7 +156,7 @@ "IssueType": "unsupported_datatypes", "ObjectType": "TABLE", "ObjectName": "public.xml_data_example", - "Reason": "Unsupported datatype - xml on column - description", + "Reason": "XML datatype is not yet supported in YugabyteDB. Affected column: description.", "SqlStatement": " CREATE TABLE public.xml_data_example (\n id SERIAL PRIMARY KEY,\n name VARCHAR(255),\n description XML DEFAULT xmlparse(document '\u003cproduct\u003e\u003cname\u003eDefault Product\u003c/name\u003e\u003cprice\u003e100.00\u003c/price\u003e\u003ccategory\u003eElectronics\u003c/category\u003e\u003c/product\u003e'),\n created_at TIMESTAMPTZ DEFAULT CURRENT_TIMESTAMP,\n unique_keys_column TEXT CHECK (unique_keys_column IS JSON WITH UNIQUE KEYS)\n);", "Suggestion": "Data ingestion is not supported for this type in YugabyteDB so handle this type in different way. Refer link for more details.", "GH": "https://github.com/yugabyte/yugabyte-db/issues/1043", @@ -167,7 +167,7 @@ "IssueType": "unsupported_features", "ObjectType": "INDEX", "ObjectName": "idx1 ON combined_tbl", - "Reason": "INDEX on column 'cidr' not yet supported", + "Reason": "Indexes on columns with complex data types like 'cidr' are not yet supported in YugabyteDB", "SqlStatement": "CREATE index idx1 on combined_tbl (c);", "Suggestion": "Refer to the docs link for the workaround", "GH": "https://github.com/yugabyte/yugabyte-db/issues/25003", @@ -178,7 +178,7 @@ "IssueType": "unsupported_features", "ObjectType": "INDEX", "ObjectName": "idx2 ON combined_tbl", - "Reason": "INDEX on column 'circle' not yet supported", + "Reason": "Indexes on columns with complex data types like 'circle' are not yet supported in YugabyteDB", "SqlStatement": "CREATE index idx2 on combined_tbl (ci);", "Suggestion": "Refer to the docs link for the workaround", "GH": "https://github.com/yugabyte/yugabyte-db/issues/25003", @@ -189,7 +189,7 @@ "IssueType": "unsupported_features", "ObjectType": "INDEX", "ObjectName": "idx3 ON combined_tbl", - "Reason": "INDEX on column 'box' not yet supported", + "Reason": "Indexes on columns with complex data types like 'box' are not yet supported in YugabyteDB", "SqlStatement": "CREATE index idx3 on combined_tbl (b);", "Suggestion": "Refer to the docs link for the workaround", "GH": "https://github.com/yugabyte/yugabyte-db/issues/25003", @@ -200,7 +200,7 @@ "IssueType": "unsupported_features", "ObjectType": "INDEX", "ObjectName": "idx4 ON combined_tbl", - "Reason": "INDEX on column 'json' not yet supported", + "Reason": "Indexes on columns with complex data types like 'json' are not yet supported in YugabyteDB", "SqlStatement": "CREATE index idx4 on combined_tbl (j);", "Suggestion": "Refer to the docs link for the workaround", "GH": "https://github.com/yugabyte/yugabyte-db/issues/25003", @@ -211,7 +211,7 @@ "IssueType": "unsupported_features", "ObjectType": "INDEX", "ObjectName": "idx5 ON combined_tbl", - "Reason": "INDEX on column 'line' not yet supported", + "Reason": "Indexes on columns with complex data types like 'line' are not yet supported in YugabyteDB", "SqlStatement": "CREATE index idx5 on combined_tbl (l);", "Suggestion": "Refer to the docs link for the workaround", "GH": "https://github.com/yugabyte/yugabyte-db/issues/25003", @@ -222,7 +222,7 @@ "IssueType": "unsupported_features", "ObjectType": "INDEX", "ObjectName": "idx6 ON combined_tbl", - "Reason": "INDEX on column 'lseg' not yet supported", + "Reason": "Indexes on columns with complex data types like 'lseg' are not yet supported in YugabyteDB", "SqlStatement": "CREATE index idx6 on combined_tbl (ls);", "Suggestion": "Refer to the docs link for the workaround", "GH": "https://github.com/yugabyte/yugabyte-db/issues/25003", @@ -233,7 +233,7 @@ "IssueType": "unsupported_features", "ObjectType": "INDEX", "ObjectName": "idx7 ON combined_tbl", - "Reason": "INDEX on column 'macaddr' not yet supported", + "Reason": "Indexes on columns with complex data types like 'macaddr' are not yet supported in YugabyteDB", "SqlStatement": "CREATE index idx7 on combined_tbl (maddr);", "Suggestion": "Refer to the docs link for the workaround", "GH": "https://github.com/yugabyte/yugabyte-db/issues/25003", @@ -244,7 +244,7 @@ "IssueType": "unsupported_features", "ObjectType": "INDEX", "ObjectName": "idx8 ON combined_tbl", - "Reason": "INDEX on column 'macaddr8' not yet supported", + "Reason": "Indexes on columns with complex data types like 'macaddr8' are not yet supported in YugabyteDB", "SqlStatement": "CREATE index idx8 on combined_tbl (maddr8);", "Suggestion": "Refer to the docs link for the workaround", "GH": "https://github.com/yugabyte/yugabyte-db/issues/25003", @@ -255,7 +255,7 @@ "IssueType": "unsupported_features", "ObjectType": "INDEX", "ObjectName": "idx9 ON combined_tbl", - "Reason": "INDEX on column 'point' not yet supported", + "Reason": "Indexes on columns with complex data types like 'point' are not yet supported in YugabyteDB", "SqlStatement": "CREATE index idx9 on combined_tbl (p);", "Suggestion": "Refer to the docs link for the workaround", "GH": "https://github.com/yugabyte/yugabyte-db/issues/25003", @@ -266,7 +266,7 @@ "IssueType": "unsupported_features", "ObjectType": "INDEX", "ObjectName": "idx10 ON combined_tbl", - "Reason": "INDEX on column 'pg_lsn' not yet supported", + "Reason": "Indexes on columns with complex data types like 'pg_lsn' are not yet supported in YugabyteDB", "SqlStatement": "CREATE index idx10 on combined_tbl (lsn);", "Suggestion": "Refer to the docs link for the workaround", "GH": "https://github.com/yugabyte/yugabyte-db/issues/25003", @@ -277,7 +277,7 @@ "IssueType": "unsupported_features", "ObjectType": "INDEX", "ObjectName": "idx11 ON combined_tbl", - "Reason": "INDEX on column 'path' not yet supported", + "Reason": "Indexes on columns with complex data types like 'path' are not yet supported in YugabyteDB", "SqlStatement": "CREATE index idx11 on combined_tbl (p1);", "Suggestion": "Refer to the docs link for the workaround", "GH": "https://github.com/yugabyte/yugabyte-db/issues/25003", @@ -288,7 +288,7 @@ "IssueType": "unsupported_features", "ObjectType": "INDEX", "ObjectName": "idx12 ON combined_tbl", - "Reason": "INDEX on column 'polygon' not yet supported", + "Reason": "Indexes on columns with complex data types like 'polygon' are not yet supported in YugabyteDB", "SqlStatement": "CREATE index idx12 on combined_tbl (p2);", "Suggestion": "Refer to the docs link for the workaround", "GH": "https://github.com/yugabyte/yugabyte-db/issues/25003", @@ -299,7 +299,7 @@ "IssueType": "unsupported_features", "ObjectType": "INDEX", "ObjectName": "idx13 ON combined_tbl", - "Reason": "INDEX on column 'txid_snapshot' not yet supported", + "Reason": "Indexes on columns with complex data types like 'txid_snapshot' are not yet supported in YugabyteDB", "SqlStatement": "CREATE index idx13 on combined_tbl (id1);", "Suggestion": "Refer to the docs link for the workaround", "GH": "https://github.com/yugabyte/yugabyte-db/issues/25003", @@ -310,7 +310,7 @@ "IssueType": "unsupported_features", "ObjectType": "INDEX", "ObjectName": "idx14 ON combined_tbl", - "Reason": "INDEX on column 'bit' not yet supported", + "Reason": "Indexes on columns with complex data types like 'bit' are not yet supported in YugabyteDB", "SqlStatement": "CREATE INDEX idx14 on combined_tbl (bitt);", "Suggestion": "Refer to the docs link for the workaround", "GH": "https://github.com/yugabyte/yugabyte-db/issues/25003", @@ -321,7 +321,7 @@ "IssueType": "unsupported_features", "ObjectType": "INDEX", "ObjectName": "idx15 ON combined_tbl", - "Reason": "INDEX on column 'varbit' not yet supported", + "Reason": "Indexes on columns with complex data types like 'varbit' are not yet supported in YugabyteDB", "SqlStatement": "CREATE INDEX idx15 on combined_tbl (bittv);", "Suggestion": "Refer to the docs link for the workaround", "GH": "https://github.com/yugabyte/yugabyte-db/issues/25003", @@ -332,7 +332,7 @@ "IssueType": "migration_caveats", "ObjectType": "TABLE", "ObjectName": "public.documents", - "Reason": "Unsupported datatype for Live migration with fall-forward/fallback - tsvector on column - title_tsvector", + "Reason": "Datatype not yet supported by voyager in live migration with fall-forward/fallback. Affected column: title_tsvector and type: tsvector. These columns will be excluded when exporting and importing data in live migration workflows.", "SqlStatement": "CREATE TABLE public.documents (\n id integer NOT NULL,\n title_tsvector tsvector,\n content_tsvector tsvector,\n\tlist_of_sections text[]\n);", "Suggestion": "", "GH": "https://github.com/yugabyte/yb-voyager/issues/1731", @@ -343,7 +343,7 @@ "IssueType": "migration_caveats", "ObjectType": "TABLE", "ObjectName": "public.documents", - "Reason": "Unsupported datatype for Live migration with fall-forward/fallback - tsvector on column - content_tsvector", + "Reason": "Datatype not yet supported by voyager in live migration with fall-forward/fallback. Affected column: content_tsvector and type: tsvector. These columns will be excluded when exporting and importing data in live migration workflows.", "SqlStatement": "CREATE TABLE public.documents (\n id integer NOT NULL,\n title_tsvector tsvector,\n content_tsvector tsvector,\n\tlist_of_sections text[]\n);", "Suggestion": "", "GH": "https://github.com/yugabyte/yb-voyager/issues/1731", @@ -354,7 +354,7 @@ "IssueType": "migration_caveats", "ObjectType": "TABLE", "ObjectName": "public.ts_query_table", - "Reason": "Unsupported datatype for Live migration with fall-forward/fallback - tsquery on column - query", + "Reason": "Datatype not yet supported by voyager in live migration with fall-forward/fallback. Affected column: query and type: tsquery. These columns will be excluded when exporting and importing data in live migration workflows.", "SqlStatement": "CREATE TABLE public.ts_query_table (\n id int generated by default as identity,\n query tsquery\n);", "Suggestion": "", "GH": "https://github.com/yugabyte/yb-voyager/issues/1731", @@ -365,7 +365,7 @@ "IssueType": "migration_caveats", "ObjectType": "TABLE", "ObjectName": "test_udt", - "Reason": "Unsupported datatype for Live migration with fall-forward/fallback - address_type on column - home_address", + "Reason": "Datatype not yet supported by voyager in live migration with fall-forward/fallback. Affected column: home_address and type: address_type. These columns will be excluded when exporting and importing data in live migration workflows.", "SqlStatement": "CREATE TABLE test_udt (\n\temployee_id SERIAL PRIMARY KEY,\n\temployee_name VARCHAR(100),\n\thome_address address_type,\n\tsome_field enum_test,\n\thome_address1 non_public.address_type1,\n scalar_column TEXT CHECK (scalar_column IS JSON SCALAR)\n);", "Suggestion": "", "GH": "https://github.com/yugabyte/yb-voyager/issues/1731", @@ -376,7 +376,7 @@ "IssueType": "migration_caveats", "ObjectType": "TABLE", "ObjectName": "test_arr_enum", - "Reason": "Unsupported datatype for Live migration with fall-forward/fallback - enum_test[] on column - arr_enum", + "Reason": "Datatype not yet supported by voyager in live migration with fall-forward/fallback. Affected column: arr_enum and type: enum_test[]. These columns will be excluded when exporting and importing data in live migration workflows.", "SqlStatement": "CREATE TABLE test_arr_enum (\n\tid int,\n\tarr text[],\n\tarr_enum enum_test[],\n object_column TEXT CHECK (object_column IS JSON OBJECT)\n);", "Suggestion": "", "GH": "https://github.com/yugabyte/yb-voyager/issues/1731", @@ -387,7 +387,7 @@ "IssueType": "migration_caveats", "ObjectType": "TABLE", "ObjectName": "test_udt", - "Reason": "Unsupported datatype for Live migration with fall-forward/fallback - non_public.address_type1 on column - home_address1", + "Reason": "Datatype not yet supported by voyager in live migration with fall-forward/fallback. Affected column: home_address1 and type: non_public.address_type1. These columns will be excluded when exporting and importing data in live migration workflows.", "SqlStatement": "CREATE TABLE test_udt (\n\temployee_id SERIAL PRIMARY KEY,\n\temployee_name VARCHAR(100),\n\thome_address address_type,\n\tsome_field enum_test,\n\thome_address1 non_public.address_type1,\n scalar_column TEXT CHECK (scalar_column IS JSON SCALAR)\n);", "Suggestion": "", "GH": "https://github.com/yugabyte/yb-voyager/issues/1731", @@ -398,7 +398,7 @@ "IssueType": "unsupported_features", "ObjectType": "INDEX", "ObjectName": "idx_udt ON test_udt", - "Reason": "INDEX on column 'user_defined_type' not yet supported", + "Reason": "Indexes on columns with complex data types like 'user_defined_type' are not yet supported in YugabyteDB", "SqlStatement": "CREATE INDEX idx_udt on test_udt(home_address);", "Suggestion": "Refer to the docs link for the workaround", "GH": "https://github.com/yugabyte/yugabyte-db/issues/25003", @@ -409,7 +409,7 @@ "IssueType": "unsupported_features", "ObjectType": "INDEX", "ObjectName": "idx_udt1 ON test_udt", - "Reason": "INDEX on column 'user_defined_type' not yet supported", + "Reason": "Indexes on columns with complex data types like 'user_defined_type' are not yet supported in YugabyteDB", "SqlStatement": "CREATE INDEX idx_udt1 on test_udt(home_address1);", "Suggestion": "Refer to the docs link for the workaround", "GH": "https://github.com/yugabyte/yugabyte-db/issues/25003", @@ -420,7 +420,7 @@ "IssueType": "unsupported_features", "ObjectType": "INDEX", "ObjectName": "idx\u0026_enum2 ON test_udt", - "Reason": "INDEX on column 'user_defined_type' not yet supported", + "Reason": "Indexes on columns with complex data types like 'user_defined_type' are not yet supported in YugabyteDB", "SqlStatement": "CREATE INDEX \"idx\u0026_enum2\" on test_udt((some_field::non_public.enum_test));", "Suggestion": "Refer to the docs link for the workaround", "GH": "https://github.com/yugabyte/yugabyte-db/issues/25003", @@ -431,7 +431,7 @@ "IssueType": "unsupported_features", "ObjectType": "INDEX", "ObjectName": "abc ON public.example", - "Reason": "Storage parameters are not supported yet.", + "Reason": "Storage parameters in tables, indexes, and constraints are not yet supported in YugabyteDB", "SqlStatement": "CREATE INDEX abc ON public.example USING btree (new_id) WITH (fillfactor='70');", "DocsLink": "https://docs.yugabyte.com/preview/yugabyte-voyager/known-issues/postgresql/#storage-parameters-on-indexes-or-constraints-in-the-source-postgresql", "Suggestion": "Remove the storage parameters from the DDL", @@ -442,7 +442,7 @@ "IssueType": "unsupported_features", "ObjectType": "INDEX", "ObjectName": "abc ON schema2.example", - "Reason": "Storage parameters are not supported yet.", + "Reason": "Storage parameters in tables, indexes, and constraints are not yet supported in YugabyteDB", "SqlStatement": "CREATE INDEX abc ON schema2.example USING btree (new_id) WITH (fillfactor='70');", "Suggestion": "Remove the storage parameters from the DDL", "DocsLink": "https://docs.yugabyte.com/preview/yugabyte-voyager/known-issues/postgresql/#storage-parameters-on-indexes-or-constraints-in-the-source-postgresql", @@ -464,7 +464,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "sales", - "Reason": "Issue with Partition using Expression on a table which cannot contain Primary Key / Unique Key on any column", + "Reason": "Tables partitioned using expressions cannot contain primary or unique keys in YugabyteDB", "SqlStatement": "CREATE TABLE sales (\n\tcust_id bigint NOT NULL,\n\tname varchar(40),\n\tstore_id varchar(20) NOT NULL,\n\tbill_no bigint NOT NULL,\n\tbill_date timestamp NOT NULL,\n\tamount decimal(8,2) NOT NULL,\n\tPRIMARY KEY (bill_date)\n) PARTITION BY RANGE (extract(year from date(bill_date))) ;", "DocsLink": "https://docs.yugabyte.com/preview/yugabyte-voyager/known-issues/mysql/#tables-partitioned-with-expressions-cannot-contain-primary-unique-keys", "Suggestion": "Remove the Constriant from the table definition", @@ -475,7 +475,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "salaries2", - "Reason": "Issue with Partition using Expression on a table which cannot contain Primary Key / Unique Key on any column", + "Reason": "Tables partitioned using expressions cannot contain primary or unique keys in YugabyteDB", "SqlStatement": "CREATE TABLE salaries2 (\n\temp_no bigint NOT NULL,\n\tsalary bigint NOT NULL,\n\tfrom_date timestamp NOT NULL,\n\tto_date timestamp NOT NULL,\n\tPRIMARY KEY (emp_no,from_date)\n) PARTITION BY RANGE (extract(epoch from date(from_date))) ;", "DocsLink": "https://docs.yugabyte.com/preview/yugabyte-voyager/known-issues/mysql/#tables-partitioned-with-expressions-cannot-contain-primary-unique-keys", "Suggestion": "Remove the Constriant from the table definition", @@ -506,7 +506,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "test_1", - "Reason": "cannot use \"list\" partition strategy with more than one column", + "Reason": "Multi-column partition by list i.e. PARTITION BY LIST (col1, col2) is not supported in YugabyteDB", "SqlStatement": "CREATE TABLE test_1 (\n\tid numeric NOT NULL REFERENCES sales_data(sales_id),\n\tcountry_code varchar(3),\n\trecord_type varchar(5),\n\tdescriptions varchar(50),\n\tPRIMARY KEY (id)\n) PARTITION BY LIST (country_code, record_type) ;", "DocsLink": "https://docs.yugabyte.com/preview/yugabyte-voyager/known-issues/mysql/#multi-column-partition-by-list-is-not-supported", "Suggestion": "Make it a single column partition by list or choose other supported Partitioning methods", @@ -517,7 +517,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "test_2", - "Reason": "cannot use \"list\" partition strategy with more than one column", + "Reason": "Multi-column partition by list i.e. PARTITION BY LIST (col1, col2) is not supported in YugabyteDB", "SqlStatement": "CREATE TABLE test_2 (\n\tid numeric NOT NULL PRIMARY KEY,\n\tcountry_code varchar(3),\n\trecord_type varchar(5),\n\tdescriptions varchar(50)\n) PARTITION BY LIST (country_code, record_type) ;", "DocsLink": "https://docs.yugabyte.com/preview/yugabyte-voyager/known-issues/mysql/#multi-column-partition-by-list-is-not-supported", "Suggestion": "Make it a single column partition by list or choose other supported Partitioning methods", @@ -528,7 +528,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "test_2", - "Reason": "insufficient columns in the PRIMARY KEY constraint definition in CREATE TABLE - (country_code, record_type)", + "Reason": "Partition key columns(country_code, record_type) are not part of Primary Key columns which is not supported in YugabyteDB", "SqlStatement": "CREATE TABLE test_2 (\n\tid numeric NOT NULL PRIMARY KEY,\n\tcountry_code varchar(3),\n\trecord_type varchar(5),\n\tdescriptions varchar(50)\n) PARTITION BY LIST (country_code, record_type) ;", "Suggestion": "Add all Partition columns to Primary Key", "GH": "https://github.com/yugabyte/yb-voyager/issues/578", @@ -539,7 +539,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "test_5", - "Reason": "insufficient columns in the PRIMARY KEY constraint definition in CREATE TABLE - (country_code, record_type)", + "Reason": "Partition key columns(country_code, record_type) are not part of Primary Key columns which is not supported in YugabyteDB", "SqlStatement": "CREATE TABLE test_5 (\n\tid numeric NOT NULL,\n\tcountry_code varchar(3),\n\trecord_type varchar(5),\n\tdescriptions varchar(50),\n\tPRIMARY KEY (id)\n) PARTITION BY RANGE (country_code, record_type) ;", "DocsLink": "https://docs.yugabyte.com/preview/yugabyte-voyager/known-issues/oracle/#partition-key-column-not-part-of-primary-key-columns", "Suggestion": "Add all Partition columns to Primary Key", @@ -550,7 +550,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "test_6", - "Reason": "insufficient columns in the PRIMARY KEY constraint definition in CREATE TABLE - (record_type)", + "Reason": "Partition key columns(record_type) are not part of Primary Key columns which is not supported in YugabyteDB", "SqlStatement": "CREATE TABLE test_6 (\n\tid numeric NOT NULL,\n\tcountry_code varchar(3),\n\trecord_type varchar(5),\n\tdescriptions varchar(50),\n\tPRIMARY KEY (id,country_code)\n) PARTITION BY RANGE (country_code, record_type) ;", "DocsLink": "https://docs.yugabyte.com/preview/yugabyte-voyager/known-issues/oracle/#partition-key-column-not-part-of-primary-key-columns", "Suggestion": "Add all Partition columns to Primary Key", @@ -561,7 +561,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "test_7", - "Reason": "insufficient columns in the PRIMARY KEY constraint definition in CREATE TABLE - (descriptions, record_type)", + "Reason": "Partition key columns(descriptions, record_type) are not part of Primary Key columns which is not supported in YugabyteDB", "SqlStatement": "CREATE TABLE test_7 (\n\tid numeric NOT NULL,\n\tcountry_code varchar(3),\n\trecord_type varchar(5),\n\tdescriptions varchar(50),\n\tPRIMARY KEY (id,country_code)\n) PARTITION BY RANGE (descriptions, record_type) ;", "DocsLink": "https://docs.yugabyte.com/preview/yugabyte-voyager/known-issues/oracle/#partition-key-column-not-part-of-primary-key-columns", "Suggestion": "Add all Partition columns to Primary Key", @@ -572,7 +572,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "test_8", - "Reason": "insufficient columns in the PRIMARY KEY constraint definition in CREATE TABLE - (promotion_id, order_date)", + "Reason": "Partition key columns(promotion_id, order_date) are not part of Primary Key columns which is not supported in YugabyteDB", "SqlStatement": "CREATE TABLE test_8 (\n\torder_id bigint NOT NULL,\n\torder_date timestamp,\n\torder_mode varchar(8),\n\tcustomer_id integer,\n\torder_mode smallint,\n\torder_total double precision,\n\tsales_rep_id integer,\n\tpromotion_id integer,\n\tPRIMARY KEY (order_id,order_mode,customer_id,order_total,sales_rep_id)\n) PARTITION BY RANGE (promotion_id, order_date, sales_rep_id) ;", "DocsLink": "https://docs.yugabyte.com/preview/yugabyte-voyager/known-issues/oracle/#partition-key-column-not-part-of-primary-key-columns", "Suggestion": "Add all Partition columns to Primary Key", @@ -583,7 +583,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "test_non_pk_multi_column_list", - "Reason": "cannot use \"list\" partition strategy with more than one column", + "Reason": "Multi-column partition by list i.e. PARTITION BY LIST (col1, col2) is not supported in YugabyteDB", "SqlStatement": "CREATE TABLE test_non_pk_multi_column_list (\n\tid numeric NOT NULL PRIMARY KEY,\n\tcountry_code varchar(3),\n\trecord_type varchar(5),\n\tdescriptions varchar(50)\n) PARTITION BY LIST (country_code, record_type) ;", "DocsLink": "https://docs.yugabyte.com/preview/yugabyte-voyager/known-issues/mysql/#multi-column-partition-by-list-is-not-supported", "Suggestion": "Make it a single column partition by list or choose other supported Partitioning methods", @@ -594,7 +594,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "test_non_pk_multi_column_list", - "Reason": "insufficient columns in the PRIMARY KEY constraint definition in CREATE TABLE - (country_code, record_type)", + "Reason": "Partition key columns(country_code, record_type) are not part of Primary Key columns which is not supported in YugabyteDB", "SqlStatement": "CREATE TABLE test_non_pk_multi_column_list (\n\tid numeric NOT NULL PRIMARY KEY,\n\tcountry_code varchar(3),\n\trecord_type varchar(5),\n\tdescriptions varchar(50)\n) PARTITION BY LIST (country_code, record_type) ;", "Suggestion": "Add all Partition columns to Primary Key", "GH": "https://github.com/yugabyte/yb-voyager/issues/578", @@ -627,7 +627,7 @@ "IssueType": "unsupported_features", "ObjectType": "INDEX", "ObjectName": "idx_name1 ON table_name", - "Reason": "Schema contains SPGIST index which is not supported.", + "Reason": "The schema contains an index with an access method 'SPGIST' which is not supported in YugabyteDB.", "SqlStatement": "CREATE INDEX idx_name1 ON table_name USING spgist (col1);", "Suggestion": "", "GH": "https://github.com/YugaByte/yugabyte-db/issues/1337", @@ -638,7 +638,7 @@ "IssueType": "unsupported_features", "ObjectType": "INDEX", "ObjectName": "idx_name3 ON schema_name.table_name", - "Reason": "Schema contains gin index on multi column which is not supported.", + "Reason": "GIN indexes on multiple columns are not supported in YugabyteDB", "SqlStatement": "CREATE INDEX idx_name3 ON schema_name.table_name USING gin (col1,col2,col3);", "DocsLink": "https://docs.yugabyte.com/preview/yugabyte-voyager/known-issues/postgresql/#gin-indexes-on-multiple-columns-are-not-supported", "Suggestion": "", @@ -721,7 +721,7 @@ "IssueType": "unsupported_features", "ObjectType": "TRIGGER", "ObjectName": "before_insert_or_delete_row_trigger ON public.range_columns_partition_test", - "Reason": "Partitioned tables cannot have BEFORE / FOR EACH ROW triggers.", + "Reason": "BEFORE ROW triggers on partitioned tables are not yet supported in YugabyteDB", "SqlStatement": "CREATE TRIGGER before_insert_or_delete_row_trigger\nBEFORE INSERT OR DELETE ON public.range_columns_partition_test\nFOR EACH ROW\nEXECUTE FUNCTION handle_insert_or_delete();", "Suggestion": "Create the triggers on individual partitions.", "GH": "https://github.com/yugabyte/yugabyte-db/issues/24830", @@ -732,7 +732,7 @@ "IssueType": "unsupported_features", "ObjectType": "TRIGGER", "ObjectName": "transfer_insert ON transfer", - "Reason": "REFERENCING clause (transition tables) not supported yet.", + "Reason": "REFERENCING clause (transition tables) in triggers is not yet supported in YugabyteDB", "SqlStatement": "CREATE TRIGGER transfer_insert\n AFTER INSERT ON transfer\n REFERENCING NEW TABLE AS inserted\n FOR EACH STATEMENT\n EXECUTE FUNCTION check_transfer_balances_to_zero();", "Suggestion": "", "GH": "https://github.com/YugaByte/yugabyte-db/issues/1668", @@ -743,7 +743,7 @@ "IssueType": "unsupported_features", "ObjectType": "TRIGGER", "ObjectName": "some_trig ON xyz_schema.abc", - "Reason": "CONSTRAINT TRIGGER not supported yet.", + "Reason": "CONSTRAINT TRIGGER is not yet supported in YugabyteDB", "SqlStatement": "CREATE CONSTRAINT TRIGGER some_trig\n AFTER DELETE ON xyz_schema.abc\n DEFERRABLE INITIALLY DEFERRED\n FOR EACH ROW EXECUTE PROCEDURE xyz_schema.some_trig();", "Suggestion": "", "DocsLink": "https://docs.yugabyte.com/preview/yugabyte-voyager/known-issues/postgresql/#constraint-trigger-is-not-supported", @@ -774,7 +774,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "public.employees4", - "Reason": "Stored generated columns are not supported. Generated Columns: (full_name)", + "Reason": "Stored generated columns are not supported in YugabyteDB. Detected columns are (full_name).", "SqlStatement": "CREATE TABLE public.employees4 (\n id integer NOT NULL,\n first_name character varying(50) NOT NULL,\n last_name character varying(50) NOT NULL,\n full_name character varying(101) GENERATED ALWAYS AS ((((first_name)::text || ' '::text) || (last_name)::text)) STORED\n);", "DocsLink": "https://docs.yugabyte.com/preview/yugabyte-voyager/known-issues/postgresql/#generated-always-as-stored-type-column-is-not-supported", "Suggestion": "Using Triggers to update the generated columns is one way to work around this issue, refer docs link for more details.", @@ -785,7 +785,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "order_details", - "Reason": "Stored generated columns are not supported. Generated Columns: (amount)", + "Reason": "Stored generated columns are not supported in YugabyteDB. Detected columns are (amount).", "SqlStatement": "CREATE TABLE order_details (\n detail_id integer NOT NULL,\n quantity integer,\n price_per_unit numeric,\n amount numeric GENERATED ALWAYS AS (((quantity)::numeric * price_per_unit)) STORED\n);", "DocsLink": "https://docs.yugabyte.com/preview/yugabyte-voyager/known-issues/postgresql/#generated-always-as-stored-type-column-is-not-supported", "Suggestion": "Using Triggers to update the generated columns is one way to work around this issue, refer docs link for more details.", @@ -816,7 +816,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "table_1", - "Reason": "TABLE INHERITANCE not supported in YugabyteDB", + "Reason": "Table inheritance is not yet supported in YugabyteDB", "SqlStatement": "CREATE TABLE table_1 () INHERITS (xyz);", "DocsLink": "https://docs.yugabyte.com/preview/yugabyte-voyager/known-issues/postgresql/#table-inheritance-is-not-supported", "Suggestion": "", @@ -837,7 +837,7 @@ "IssueType": "unsupported_features", "ObjectType": "INDEX", "ObjectName": "idx1 ON combined_tbl1", - "Reason": "INDEX on column 'daterange' not yet supported", + "Reason": "Indexes on columns with complex data types like 'daterange' are not yet supported in YugabyteDB", "SqlStatement": "CREATE INDEX idx1 on combined_tbl1 (d);", "Suggestion": "Refer to the docs link for the workaround", "GH": "https://github.com/yugabyte/yugabyte-db/issues/25003", @@ -848,7 +848,7 @@ "IssueType": "unsupported_features", "ObjectType": "INDEX", "ObjectName": "idx2 ON combined_tbl1", - "Reason": "INDEX on column 'tsrange' not yet supported", + "Reason": "Indexes on columns with complex data types like 'tsrange' are not yet supported in YugabyteDB", "SqlStatement": "CREATE INDEX idx2 on combined_tbl1 (t);", "Suggestion": "Refer to the docs link for the workaround", "GH": "https://github.com/yugabyte/yugabyte-db/issues/25003", @@ -859,7 +859,7 @@ "IssueType": "unsupported_features", "ObjectType": "INDEX", "ObjectName": "idx3 ON combined_tbl1", - "Reason": "INDEX on column 'tstzrange' not yet supported", + "Reason": "Indexes on columns with complex data types like 'tstzrange' are not yet supported in YugabyteDB", "SqlStatement": "CREATE INDEX idx3 on combined_tbl1 (tz);", "Suggestion": "Refer to the docs link for the workaround", "GH": "https://github.com/yugabyte/yugabyte-db/issues/25003", @@ -870,7 +870,7 @@ "IssueType": "unsupported_features", "ObjectType": "INDEX", "ObjectName": "idx4 ON combined_tbl1", - "Reason": "INDEX on column 'numrange' not yet supported", + "Reason": "Indexes on columns with complex data types like 'numrange' are not yet supported in YugabyteDB", "SqlStatement": "CREATE INDEX idx4 on combined_tbl1 (n);", "Suggestion": "Refer to the docs link for the workaround", "GH": "https://github.com/yugabyte/yugabyte-db/issues/25003", @@ -881,7 +881,7 @@ "IssueType": "unsupported_features", "ObjectType": "INDEX", "ObjectName": "idx5 ON combined_tbl1", - "Reason": "INDEX on column 'int4range' not yet supported", + "Reason": "Indexes on columns with complex data types like 'int4range' are not yet supported in YugabyteDB", "SqlStatement": "CREATE INDEX idx5 on combined_tbl1 (i4);", "Suggestion": "Refer to the docs link for the workaround", "GH": "https://github.com/yugabyte/yugabyte-db/issues/25003", @@ -892,7 +892,7 @@ "IssueType": "unsupported_features", "ObjectType": "INDEX", "ObjectName": "idx6 ON combined_tbl1", - "Reason": "INDEX on column 'int8range' not yet supported", + "Reason": "Indexes on columns with complex data types like 'int8range' are not yet supported in YugabyteDB", "SqlStatement": "CREATE INDEX idx6 on combined_tbl1 (i8);", "Suggestion": "Refer to the docs link for the workaround", "GH": "https://github.com/yugabyte/yugabyte-db/issues/25003", @@ -903,7 +903,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "combined_tbl, constraint: (combined_tbl_j_key)", - "Reason": "Primary key and Unique constraint on column 'json' not yet supported", + "Reason": "Primary key and Unique constraints on columns with complex data types like 'json' are not yet supported in YugabyteDB.", "SqlStatement": "create table combined_tbl (\n\tid int,\n\tc cidr,\n\tci circle,\n\tb box,\n\tj json UNIQUE,\n\tl line,\n\tls lseg,\n\tmaddr macaddr,\n\tmaddr8 macaddr8,\n\tp point,\n\tlsn pg_lsn,\n\tp1 path,\n\tp2 polygon,\n\tid1 txid_snapshot,\n\tbitt bit (13),\n\tbittv bit varying(15),\n\tCONSTRAINT pk PRIMARY KEY (id, maddr8)\n);", "Suggestion": "Refer to the docs link for the workaround", "GH": "https://github.com/yugabyte/yugabyte-db/issues/25003", @@ -914,7 +914,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "combined_tbl, constraint: (pk)", - "Reason": "Primary key and Unique constraint on column 'macaddr8' not yet supported", + "Reason": "Primary key and Unique constraints on columns with complex data types like 'macaddr8' are not yet supported in YugabyteDB.", "SqlStatement": "create table combined_tbl (\n\tid int,\n\tc cidr,\n\tci circle,\n\tb box,\n\tj json UNIQUE,\n\tl line,\n\tls lseg,\n\tmaddr macaddr,\n\tmaddr8 macaddr8,\n\tp point,\n\tlsn pg_lsn,\n\tp1 path,\n\tp2 polygon,\n\tid1 txid_snapshot,\n\tbitt bit (13),\n\tbittv bit varying(15),\n\tCONSTRAINT pk PRIMARY KEY (id, maddr8)\n);", "Suggestion": "Refer to the docs link for the workaround", "GH": "https://github.com/yugabyte/yugabyte-db/issues/25003", @@ -925,7 +925,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "combined_tbl, constraint: (combined_tbl_unique)", - "Reason": "Primary key and Unique constraint on column 'bit' not yet supported", + "Reason": "Primary key and Unique constraints on columns with complex data types like 'bit' are not yet supported in YugabyteDB.", "SqlStatement": "ALTER TABLE combined_tbl\n\t\tADD CONSTRAINT combined_tbl_unique UNIQUE(id, bitt);", "Suggestion": "Refer to the docs link for the workaround", "GH": "https://github.com/yugabyte/yugabyte-db/issues/25003", @@ -936,7 +936,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "combined_tbl1, constraint: (combined_tbl1_i4_key)", - "Reason": "Primary key and Unique constraint on column 'int4range' not yet supported", + "Reason": "Primary key and Unique constraints on columns with complex data types like 'int4range' are not yet supported in YugabyteDB.", "SqlStatement": "CREATE TABLE combined_tbl1(\n\tid int,\n\tt tsrange,\n\td daterange,\n\ttz tstzrange,\n\tn numrange,\n\ti4 int4range UNIQUE,\n\ti8 int8range,\n\tinym INTERVAL YEAR TO MONTH,\n\tinds INTERVAL DAY TO SECOND(9),\n\tPRIMARY KEY(id, t, n)\n);", "Suggestion": "Refer to the docs link for the workaround", "GH": "https://github.com/yugabyte/yugabyte-db/issues/25003", @@ -947,7 +947,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "combined_tbl1, constraint: (combined_tbl1_id_t_n_pkey)", - "Reason": "Primary key and Unique constraint on column 'tsrange' not yet supported", + "Reason": "Primary key and Unique constraints on columns with complex data types like 'tsrange' are not yet supported in YugabyteDB.", "SqlStatement": "CREATE TABLE combined_tbl1(\n\tid int,\n\tt tsrange,\n\td daterange,\n\ttz tstzrange,\n\tn numrange,\n\ti4 int4range UNIQUE,\n\ti8 int8range,\n\tinym INTERVAL YEAR TO MONTH,\n\tinds INTERVAL DAY TO SECOND(9),\n\tPRIMARY KEY(id, t, n)\n);", "Suggestion": "Refer to the docs link for the workaround", "GH": "https://github.com/yugabyte/yugabyte-db/issues/25003", @@ -958,7 +958,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "combined_tbl1, constraint: (combined_tbl1_id_t_n_pkey)", - "Reason": "Primary key and Unique constraint on column 'numrange' not yet supported", + "Reason": "Primary key and Unique constraints on columns with complex data types like 'numrange' are not yet supported in YugabyteDB.", "SqlStatement": "CREATE TABLE combined_tbl1(\n\tid int,\n\tt tsrange,\n\td daterange,\n\ttz tstzrange,\n\tn numrange,\n\ti4 int4range UNIQUE,\n\ti8 int8range,\n\tinym INTERVAL YEAR TO MONTH,\n\tinds INTERVAL DAY TO SECOND(9),\n\tPRIMARY KEY(id, t, n)\n);", "Suggestion": "Refer to the docs link for the workaround", "GH": "https://github.com/yugabyte/yugabyte-db/issues/25003", @@ -969,7 +969,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "combined_tbl1, constraint: (combined_tbl1_unique)", - "Reason": "Primary key and Unique constraint on column 'daterange' not yet supported", + "Reason": "Primary key and Unique constraints on columns with complex data types like 'daterange' are not yet supported in YugabyteDB.", "SqlStatement": "ALTER TABLE combined_tbl1\n\t\tADD CONSTRAINT combined_tbl1_unique UNIQUE(id, d);", "Suggestion": "Refer to the docs link for the workaround", "GH": "https://github.com/yugabyte/yugabyte-db/issues/25003", @@ -980,7 +980,7 @@ "IssueType": "unsupported_features", "ObjectType": "INDEX", "ObjectName": "idx7 ON combined_tbl1", - "Reason": "INDEX on column 'interval' not yet supported", + "Reason": "Indexes on columns with complex data types like 'interval' are not yet supported in YugabyteDB", "SqlStatement": "CREATE INDEX idx7 on combined_tbl1 (inym);", "Suggestion": "Refer to the docs link for the workaround", "GH": "https://github.com/yugabyte/yugabyte-db/issues/25003", @@ -991,7 +991,7 @@ "IssueType": "unsupported_features", "ObjectType": "INDEX", "ObjectName": "idx8 ON combined_tbl1", - "Reason": "INDEX on column 'interval' not yet supported", + "Reason": "Indexes on columns with complex data types like 'interval' are not yet supported in YugabyteDB", "SqlStatement": "CREATE INDEX idx8 on combined_tbl1 (inds);", "Suggestion": "Refer to the docs link for the workaround", "GH": "https://github.com/yugabyte/yugabyte-db/issues/25003", @@ -1002,7 +1002,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "test_interval, constraint: (test_interval_frequency_pkey)", - "Reason": "Primary key and Unique constraint on column 'interval' not yet supported", + "Reason": "Primary key and Unique constraints on columns with complex data types like 'interval' are not yet supported in YugabyteDB.", "SqlStatement": "create table test_interval(\n frequency interval primary key,\n\tcol1 int\n);", "Suggestion": "Refer to the docs link for the workaround", "GH": "https://github.com/yugabyte/yugabyte-db/issues/25003", @@ -1053,7 +1053,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "test_1", - "Reason": "ALTER TABLE .. ALTER COLUMN .. SET ( attribute = value )\t not supported yet", + "Reason": "ALTER TABLE .. ALTER COLUMN .. SET ( attribute = value ) is not yet supported in YugabyteDB", "SqlStatement": "alter table test_1 alter column col1 set (attribute_option=value);", "DocsLink": "https://docs.yugabyte.com/preview/yugabyte-voyager/known-issues/postgresql/#unsupported-alter-table-ddl-variants-in-source-schema", "Suggestion": "Remove it from the exported schema", @@ -1064,7 +1064,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "test", - "Reason": "ALTER TABLE name DISABLE RULE not supported yet", + "Reason": "ALTER TABLE name DISABLE RULE is not yet supported in YugabyteDB", "SqlStatement": "alter table test DISABLE RULE example_rule;", "DocsLink": "https://docs.yugabyte.com/preview/yugabyte-voyager/known-issues/postgresql/#unsupported-alter-table-ddl-variants-in-source-schema", "Suggestion": "Remove this and the rule 'example_rule' from the exported schema to be not enabled on the table.", @@ -1075,7 +1075,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "public.example", - "Reason": "Storage parameters are not supported yet.", + "Reason": "Storage parameters in tables, indexes, and constraints are not yet supported in YugabyteDB", "SqlStatement": "ALTER TABLE ONLY public.example ADD CONSTRAINT example_email_key UNIQUE (email) WITH (fillfactor='70');", "DocsLink": "https://docs.yugabyte.com/preview/yugabyte-voyager/known-issues/postgresql/#storage-parameters-on-indexes-or-constraints-in-the-source-postgresql", "Suggestion": "Remove the storage parameters from the DDL", @@ -1086,7 +1086,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "abc", - "Reason": "ALTER TABLE CLUSTER not supported yet.", + "Reason": "ALTER TABLE CLUSTER is not yet supported in YugabyteDB", "SqlStatement": "alter table abc cluster on xyz;", "DocsLink": "https://docs.yugabyte.com/preview/yugabyte-voyager/known-issues/postgresql/#unsupported-alter-table-ddl-variants-in-source-schema", "Suggestion": "Remove it from the exported schema.", @@ -1097,7 +1097,7 @@ "IssueType": "unsupported_features", "ObjectType": "INDEX", "ObjectName": "tsvector_idx ON public.documents", - "Reason": "INDEX on column 'tsvector' not yet supported", + "Reason": "Indexes on columns with complex data types like 'tsvector' are not yet supported in YugabyteDB", "SqlStatement": "CREATE INDEX tsvector_idx ON public.documents (title_tsvector, id);", "Suggestion": "Refer to the docs link for the workaround", "GH": "https://github.com/yugabyte/yugabyte-db/issues/25003", @@ -1108,7 +1108,7 @@ "IssueType": "unsupported_features", "ObjectType": "INDEX", "ObjectName": "tsquery_idx ON public.ts_query_table", - "Reason": "INDEX on column 'tsquery' not yet supported", + "Reason": "Indexes on columns with complex data types like 'tsquery' are not yet supported in YugabyteDB", "SqlStatement": "CREATE INDEX tsquery_idx ON public.ts_query_table (query);", "Suggestion": "Refer to the docs link for the workaround", "GH": "https://github.com/yugabyte/yugabyte-db/issues/25003", @@ -1119,7 +1119,7 @@ "IssueType": "unsupported_features", "ObjectType": "INDEX", "ObjectName": "idx_citext ON public.citext_type", - "Reason": "INDEX on column 'citext' not yet supported", + "Reason": "Indexes on columns with complex data types like 'citext' are not yet supported in YugabyteDB", "SqlStatement": "CREATE INDEX idx_citext ON public.citext_type USING btree (data);", "Suggestion": "Refer to the docs link for the workaround", "GH": "https://github.com/yugabyte/yugabyte-db/issues/25003", @@ -1130,7 +1130,7 @@ "IssueType": "unsupported_features", "ObjectType": "INDEX", "ObjectName": "idx_inet ON public.inet_type", - "Reason": "INDEX on column 'inet' not yet supported", + "Reason": "Indexes on columns with complex data types like 'inet' are not yet supported in YugabyteDB", "SqlStatement": "CREATE INDEX idx_inet ON public.inet_type USING btree (data);", "Suggestion": "Refer to the docs link for the workaround", "GH": "https://github.com/yugabyte/yugabyte-db/issues/25003", @@ -1141,7 +1141,7 @@ "IssueType": "unsupported_features", "ObjectType": "INDEX", "ObjectName": "idx_json ON public.test_jsonb", - "Reason": "INDEX on column 'jsonb' not yet supported", + "Reason": "Indexes on columns with complex data types like 'jsonb' are not yet supported in YugabyteDB", "SqlStatement": "CREATE INDEX idx_json ON public.test_jsonb (data);", "Suggestion": "Refer to the docs link for the workaround", "GH": "https://github.com/yugabyte/yugabyte-db/issues/25003", @@ -1152,7 +1152,7 @@ "IssueType": "unsupported_features", "ObjectType":"INDEX", "ObjectName": "idx_json2 ON public.test_jsonb", - "Reason": "INDEX on column 'jsonb' not yet supported", + "Reason": "Indexes on columns with complex data types like 'jsonb' are not yet supported in YugabyteDB", "SqlStatement": "CREATE INDEX idx_json2 ON public.test_jsonb ((data2::jsonb));", "Suggestion": "Refer to the docs link for the workaround", "GH": "https://github.com/yugabyte/yugabyte-db/issues/25003", @@ -1163,7 +1163,7 @@ "IssueType": "unsupported_features", "ObjectType": "INDEX", "ObjectName": "idx_array ON public.documents", - "Reason": "INDEX on column 'array' not yet supported", + "Reason": "Indexes on columns with complex data types like 'array' are not yet supported in YugabyteDB", "SqlStatement": "create index idx_array on public.documents (list_of_sections);", "Suggestion": "Refer to the docs link for the workaround", "GH": "https://github.com/yugabyte/yugabyte-db/issues/25003", @@ -1214,7 +1214,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "abc, constraint: (cnstr_id)", - "Reason": "DEFERRABLE constraints not supported yet", + "Reason": "Deferrable constraints are not yet supported in YugabyteDB", "SqlStatement": "ALTER TABLE abc\nADD CONSTRAINT cnstr_id\n UNIQUE (id)\nDEFERRABLE;", "DocsLink": "https://docs.yugabyte.com/preview/yugabyte-voyager/known-issues/postgresql/#deferrable-constraint-on-constraints-other-than-foreign-keys-is-not-supported", "Suggestion": "Remove these constraints from the exported schema and make the neccessary changes to the application to work on target seamlessly", @@ -1225,7 +1225,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "public.users, constraint: (users_email_key)", - "Reason": "DEFERRABLE constraints not supported yet", + "Reason": "Deferrable constraints are not yet supported in YugabyteDB", "SqlStatement": "ALTER TABLE ONLY public.users\n ADD CONSTRAINT users_email_key UNIQUE (email) DEFERRABLE;", "DocsLink": "https://docs.yugabyte.com/preview/yugabyte-voyager/known-issues/postgresql/#deferrable-constraint-on-constraints-other-than-foreign-keys-is-not-supported", "Suggestion": "Remove these constraints from the exported schema and make the neccessary changes to the application to work on target seamlessly", @@ -1236,7 +1236,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "unique_def_test, constraint: (unique_def_test_id_key)", - "Reason": "DEFERRABLE constraints not supported yet", + "Reason": "Deferrable constraints are not yet supported in YugabyteDB", "SqlStatement": "create table unique_def_test(id int UNIQUE DEFERRABLE, c1 int);", "DocsLink": "https://docs.yugabyte.com/preview/yugabyte-voyager/known-issues/postgresql/#deferrable-constraint-on-constraints-other-than-foreign-keys-is-not-supported", "Suggestion": "Remove these constraints from the exported schema and make the neccessary changes to the application to work on target seamlessly", @@ -1247,7 +1247,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "unique_def_test1, constraint: (unique_def_test1_id_key)", - "Reason": "DEFERRABLE constraints not supported yet", + "Reason": "Deferrable constraints are not yet supported in YugabyteDB", "SqlStatement": "create table unique_def_test1(id int, c1 int, UNIQUE(id) DEFERRABLE INITIALLY DEFERRED);", "DocsLink": "https://docs.yugabyte.com/preview/yugabyte-voyager/known-issues/postgresql/#deferrable-constraint-on-constraints-other-than-foreign-keys-is-not-supported", "Suggestion": "Remove these constraints from the exported schema and make the neccessary changes to the application to work on target seamlessly", @@ -1258,7 +1258,7 @@ "IssueType": "unsupported_datatypes", "ObjectType": "TABLE", "ObjectName": "test_xml_type", - "Reason": "Unsupported datatype - xml on column - data", + "Reason": "XML datatype is not yet supported in YugabyteDB. Affected column: data.", "SqlStatement": "CREATE TABLE test_xml_type(id int, data xml);", "DocsLink": "https://docs.yugabyte.com/preview/yugabyte-voyager/known-issues/postgresql/#data-ingestion-on-xml-data-type-is-not-supported", "Suggestion": "Data ingestion is not supported for this type in YugabyteDB so handle this type in different way. Refer link for more details.", @@ -1269,7 +1269,7 @@ "IssueType": "unsupported_datatypes", "ObjectType": "TABLE", "ObjectName": "test_xid_type", - "Reason": "Unsupported datatype - xid on column - data", + "Reason": "XID datatype is not yet supported in YugabyteDB. Affected column: data.", "SqlStatement": "CREATE TABLE test_xid_type(id int, data xid);", "Suggestion": "Functions for this type e.g. txid_current are not supported in YugabyteDB yet", "GH": "https://github.com/yugabyte/yugabyte-db/issues/15638", @@ -1280,7 +1280,7 @@ "IssueType": "unsupported_datatypes", "ObjectType": "TABLE", "ObjectName": "combined_tbl", - "Reason": "Unsupported datatype - pg_lsn on column - lsn", + "Reason": "Datatype not yet supported in YugabyteDB. Affected column: lsn and type: pg_lsn.", "SqlStatement": "create table combined_tbl (\n\tid int,\n\tc cidr,\n\tci circle,\n\tb box,\n\tj json UNIQUE,\n\tl line,\n\tls lseg,\n\tmaddr macaddr,\n\tmaddr8 macaddr8,\n\tp point,\n\tlsn pg_lsn,\n\tp1 path,\n\tp2 polygon,\n\tid1 txid_snapshot,\n\tbitt bit (13),\n\tbittv bit varying(15),\n\tCONSTRAINT pk PRIMARY KEY (id, maddr8)\n);", "Suggestion": "", "GH": "https://github.com/yugabyte/yb-voyager/issues/1731", @@ -1291,7 +1291,7 @@ "IssueType": "unsupported_datatypes", "ObjectType": "TABLE", "ObjectName": "combined_tbl", - "Reason": "Unsupported datatype - txid_snapshot on column - id1", + "Reason": "Datatype not yet supported in YugabyteDB. Affected column: id1 and type: txid_snapshot.", "SqlStatement": "create table combined_tbl (\n\tid int,\n\tc cidr,\n\tci circle,\n\tb box,\n\tj json UNIQUE,\n\tl line,\n\tls lseg,\n\tmaddr macaddr,\n\tmaddr8 macaddr8,\n\tp point,\n\tlsn pg_lsn,\n\tp1 path,\n\tp2 polygon,\n\tid1 txid_snapshot,\n\tbitt bit (13),\n\tbittv bit varying(15),\n\tCONSTRAINT pk PRIMARY KEY (id, maddr8)\n);", "Suggestion": "", "GH": "https://github.com/yugabyte/yb-voyager/issues/1731", @@ -1302,7 +1302,7 @@ "IssueType": "unsupported_datatypes", "ObjectType": "TABLE", "ObjectName": "public.locations", - "Reason": "Unsupported datatype - geometry on column - geom", + "Reason": "PostGIS datatypes are not yet supported in YugabyteDB. Affected column: geom and type: geometry.", "SqlStatement": "CREATE TABLE public.locations (\n id integer NOT NULL,\n name character varying(100),\n geom geometry(Point,4326),\n array_column TEXT CHECK (array_column IS JSON ARRAY)\n );", "Suggestion": "", "GH": "https://github.com/yugabyte/yugabyte-db/issues/11323", @@ -1313,7 +1313,7 @@ "IssueType": "migration_caveats", "ObjectType": "FOREIGN TABLE", "ObjectName": "public.locations", - "Reason": "Foreign tables require manual intervention.", + "Reason": "Foreign table creation fails as SERVER and USER MAPPING objects are not exported by voyager. These should be manually created to make the foreign tables work.", "SqlStatement": "CREATE FOREIGN TABLE public.locations (\n id integer NOT NULL,\n name character varying(100),\n geom geometry(Point,4326)\n ) SERVER remote_server\nOPTIONS (\n schema_name 'public',\n table_name 'remote_locations'\n);", "Suggestion": "SERVER 'remote_server', and USER MAPPING should be created manually on the target to create and use the foreign table", "GH": "https://github.com/yugabyte/yb-voyager/issues/1627", @@ -1324,7 +1324,7 @@ "IssueType": "unsupported_datatypes", "ObjectType": "FOREIGN TABLE", "ObjectName": "public.locations", - "Reason": "Unsupported datatype - geometry on column - geom", + "Reason": "PostGIS datatypes are not yet supported in YugabyteDB. Affected column: geom and type: geometry.", "SqlStatement": "CREATE FOREIGN TABLE public.locations (\n id integer NOT NULL,\n name character varying(100),\n geom geometry(Point,4326)\n ) SERVER remote_server\nOPTIONS (\n schema_name 'public',\n table_name 'remote_locations'\n);", "Suggestion": "", "GH": "https://github.com/yugabyte/yugabyte-db/issues/11323", @@ -1335,7 +1335,7 @@ "IssueType": "migration_caveats", "ObjectType": "TABLE", "ObjectName": "combined_tbl", - "Reason": "Unsupported datatype for Live migration - circle on column - ci", + "Reason": "Datatype not yet supported by voyager in live migration. Affected column: ci and type: circle. These columns will be excluded when exporting and importing data in live migration workflows.", "SqlStatement": "create table combined_tbl (\n\tid int,\n\tc cidr,\n\tci circle,\n\tb box,\n\tj json UNIQUE,\n\tl line,\n\tls lseg,\n\tmaddr macaddr,\n\tmaddr8 macaddr8,\n\tp point,\n\tlsn pg_lsn,\n\tp1 path,\n\tp2 polygon,\n\tid1 txid_snapshot,\n\tbitt bit (13),\n\tbittv bit varying(15),\n\tCONSTRAINT pk PRIMARY KEY (id, maddr8)\n);", "Suggestion": "", "GH": "https://github.com/yugabyte/yb-voyager/issues/1731", @@ -1346,7 +1346,7 @@ "IssueType": "migration_caveats", "ObjectType": "TABLE", "ObjectName": "combined_tbl", - "Reason": "Unsupported datatype for Live migration - box on column - b", + "Reason": "Datatype not yet supported by voyager in live migration. Affected column: b and type: box. These columns will be excluded when exporting and importing data in live migration workflows.", "SqlStatement": "create table combined_tbl (\n\tid int,\n\tc cidr,\n\tci circle,\n\tb box,\n\tj json UNIQUE,\n\tl line,\n\tls lseg,\n\tmaddr macaddr,\n\tmaddr8 macaddr8,\n\tp point,\n\tlsn pg_lsn,\n\tp1 path,\n\tp2 polygon,\n\tid1 txid_snapshot,\n\tbitt bit (13),\n\tbittv bit varying(15),\n\tCONSTRAINT pk PRIMARY KEY (id, maddr8)\n);", "Suggestion": "", "GH": "https://github.com/yugabyte/yb-voyager/issues/1731", @@ -1357,7 +1357,7 @@ "IssueType": "migration_caveats", "ObjectType": "TABLE", "ObjectName": "combined_tbl", - "Reason": "Unsupported datatype for Live migration - line on column - l", + "Reason": "Datatype not yet supported by voyager in live migration. Affected column: l and type: line. These columns will be excluded when exporting and importing data in live migration workflows.", "SqlStatement": "create table combined_tbl (\n\tid int,\n\tc cidr,\n\tci circle,\n\tb box,\n\tj json UNIQUE,\n\tl line,\n\tls lseg,\n\tmaddr macaddr,\n\tmaddr8 macaddr8,\n\tp point,\n\tlsn pg_lsn,\n\tp1 path,\n\tp2 polygon,\n\tid1 txid_snapshot,\n\tbitt bit (13),\n\tbittv bit varying(15),\n\tCONSTRAINT pk PRIMARY KEY (id, maddr8)\n);", "Suggestion": "", "GH": "https://github.com/yugabyte/yb-voyager/issues/1731", @@ -1368,7 +1368,7 @@ "IssueType": "migration_caveats", "ObjectType": "TABLE", "ObjectName": "combined_tbl", - "Reason": "Unsupported datatype for Live migration - lseg on column - ls", + "Reason": "Datatype not yet supported by voyager in live migration. Affected column: ls and type: lseg. These columns will be excluded when exporting and importing data in live migration workflows.", "SqlStatement": "create table combined_tbl (\n\tid int,\n\tc cidr,\n\tci circle,\n\tb box,\n\tj json UNIQUE,\n\tl line,\n\tls lseg,\n\tmaddr macaddr,\n\tmaddr8 macaddr8,\n\tp point,\n\tlsn pg_lsn,\n\tp1 path,\n\tp2 polygon,\n\tid1 txid_snapshot,\n\tbitt bit (13),\n\tbittv bit varying(15),\n\tCONSTRAINT pk PRIMARY KEY (id, maddr8)\n);", "Suggestion": "", "GH": "https://github.com/yugabyte/yb-voyager/issues/1731", @@ -1379,7 +1379,7 @@ "IssueType": "migration_caveats", "ObjectType": "TABLE", "ObjectName": "combined_tbl", - "Reason": "Unsupported datatype for Live migration - point on column - p", + "Reason": "Datatype not yet supported by voyager in live migration. Affected column: p and type: point. These columns will be excluded when exporting and importing data in live migration workflows.", "SqlStatement": "create table combined_tbl (\n\tid int,\n\tc cidr,\n\tci circle,\n\tb box,\n\tj json UNIQUE,\n\tl line,\n\tls lseg,\n\tmaddr macaddr,\n\tmaddr8 macaddr8,\n\tp point,\n\tlsn pg_lsn,\n\tp1 path,\n\tp2 polygon,\n\tid1 txid_snapshot,\n\tbitt bit (13),\n\tbittv bit varying(15),\n\tCONSTRAINT pk PRIMARY KEY (id, maddr8)\n);", "Suggestion": "", "GH": "https://github.com/yugabyte/yb-voyager/issues/1731", @@ -1390,7 +1390,7 @@ "IssueType": "migration_caveats", "ObjectType": "TABLE", "ObjectName": "combined_tbl", - "Reason": "Unsupported datatype for Live migration - path on column - p1", + "Reason": "Datatype not yet supported by voyager in live migration. Affected column: p1 and type: path. These columns will be excluded when exporting and importing data in live migration workflows.", "SqlStatement": "create table combined_tbl (\n\tid int,\n\tc cidr,\n\tci circle,\n\tb box,\n\tj json UNIQUE,\n\tl line,\n\tls lseg,\n\tmaddr macaddr,\n\tmaddr8 macaddr8,\n\tp point,\n\tlsn pg_lsn,\n\tp1 path,\n\tp2 polygon,\n\tid1 txid_snapshot,\n\tbitt bit (13),\n\tbittv bit varying(15),\n\tCONSTRAINT pk PRIMARY KEY (id, maddr8)\n);", "Suggestion": "", "GH": "https://github.com/yugabyte/yb-voyager/issues/1731", @@ -1401,7 +1401,7 @@ "IssueType": "migration_caveats", "ObjectType": "TABLE", "ObjectName": "combined_tbl", - "Reason": "Unsupported datatype for Live migration - polygon on column - p2", + "Reason": "Datatype not yet supported by voyager in live migration. Affected column: p2 and type: polygon. These columns will be excluded when exporting and importing data in live migration workflows.", "SqlStatement": "create table combined_tbl (\n\tid int,\n\tc cidr,\n\tci circle,\n\tb box,\n\tj json UNIQUE,\n\tl line,\n\tls lseg,\n\tmaddr macaddr,\n\tmaddr8 macaddr8,\n\tp point,\n\tlsn pg_lsn,\n\tp1 path,\n\tp2 polygon,\n\tid1 txid_snapshot,\n\tbitt bit (13),\n\tbittv bit varying(15),\n\tCONSTRAINT pk PRIMARY KEY (id, maddr8)\n);", "Suggestion": "", "GH": "https://github.com/yugabyte/yb-voyager/issues/1731", @@ -1412,7 +1412,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "public.meeting, constraint: (no_time_overlap)", - "Reason": "Exclusion constraint is not supported yet", + "Reason": "Exclusion constraints are not yet supported in YugabyteDB", "SqlStatement": "ALTER TABLE ONLY public.meeting\n ADD CONSTRAINT no_time_overlap EXCLUDE USING gist (room_id WITH =, time_range WITH \u0026\u0026);", "DocsLink": "https://docs.yugabyte.com/preview/yugabyte-voyager/known-issues/postgresql/#exclusion-constraints-is-not-supported", "Suggestion": "Refer docs link for details on possible workaround", @@ -1423,7 +1423,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "Test, constraint: (no_time_overlap_constr)", - "Reason": "Exclusion constraint is not supported yet", + "Reason": "Exclusion constraints are not yet supported in YugabyteDB", "SqlStatement": "CREATE TABLE \"Test\"(\n\tid int,\n\troom_id int,\n\ttime_range trange,\n\troomid int,\n\ttimerange tsrange,\n\tEXCLUDE USING gist (room_id WITH =, time_range WITH \u0026\u0026),\n\tCONSTRAINT no_time_overlap_constr EXCLUDE USING gist (roomid WITH =, timerange WITH \u0026\u0026)\n);", "Suggestion": "Refer docs link for details on possible workaround", "GH": "https://github.com/yugabyte/yugabyte-db/issues/3944", @@ -1434,7 +1434,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "Test, constraint: (Test_room_id_time_range_excl)", - "Reason": "Exclusion constraint is not supported yet", + "Reason": "Exclusion constraints are not yet supported in YugabyteDB", "SqlStatement": "CREATE TABLE \"Test\"(\n\tid int,\n\troom_id int,\n\ttime_range trange,\n\troomid int,\n\ttimerange tsrange,\n\tEXCLUDE USING gist (room_id WITH =, time_range WITH \u0026\u0026),\n\tCONSTRAINT no_time_overlap_constr EXCLUDE USING gist (roomid WITH =, timerange WITH \u0026\u0026)\n);", "DocsLink": "https://docs.yugabyte.com/preview/yugabyte-voyager/known-issues/postgresql/#exclusion-constraints-is-not-supported", "Suggestion": "Refer docs link for details on possible workaround", @@ -1555,7 +1555,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "test_1", - "Reason": "insufficient columns in the PRIMARY KEY constraint definition in CREATE TABLE - (country_code, record_type)", + "Reason": "Partition key columns(country_code, record_type) are not part of Primary Key columns which is not supported in YugabyteDB", "SqlStatement": "CREATE TABLE test_1 (\n\tid numeric NOT NULL REFERENCES sales_data(sales_id),\n\tcountry_code varchar(3),\n\trecord_type varchar(5),\n\tdescriptions varchar(50),\n\tPRIMARY KEY (id)\n) PARTITION BY LIST (country_code, record_type) ;", "Suggestion": "Add all Partition columns to Primary Key", "GH": "https://github.com/yugabyte/yb-voyager/issues/578", @@ -1566,7 +1566,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "sales_data", - "Reason": "insufficient columns in the PRIMARY KEY constraint definition in CREATE TABLE - (sales_date)", + "Reason": "Partition key columns(sales_date) are not part of Primary Key columns which is not supported in YugabyteDB", "SqlStatement": "CREATE TABLE sales_data (\n sales_id numeric NOT NULL,\n sales_date timestamp,\n sales_amount numeric,\n PRIMARY KEY (sales_id)\n) PARTITION BY RANGE (sales_date) ;", "DocsLink": "https://docs.yugabyte.com/preview/yugabyte-voyager/known-issues/oracle/#partition-key-column-not-part-of-primary-key-columns", "Suggestion": "Add all Partition columns to Primary Key", @@ -1620,7 +1620,7 @@ "IssueType": "migration_caveats", "ObjectType": "FOREIGN TABLE", "ObjectName": "tbl_p", - "Reason": "Foreign tables require manual intervention.", + "Reason": "Foreign table creation fails as SERVER and USER MAPPING objects are not exported by voyager. These should be manually created to make the foreign tables work.", "SqlStatement": "CREATE FOREIGN TABLE tbl_p(\n\tid int PRIMARY KEY\n) SERVER remote_server\nOPTIONS (\n schema_name 'public',\n table_name 'remote_table'\n);", "DocsLink": "https://docs.yugabyte.com/preview/yugabyte-voyager/known-issues/postgresql/#foreign-table-in-the-source-database-requires-server-and-user-mapping", "Suggestion": "SERVER 'remote_server', and USER MAPPING should be created manually on the target to create and use the foreign table", @@ -1631,7 +1631,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "enum_example.bugs", - "Reason": "Stored generated columns are not supported. Generated Columns: (_status,_severity,info)", + "Reason": "Stored generated columns are not supported in YugabyteDB. Detected columns are (_status, _severity, info).", "SqlStatement": "CREATE TABLE enum_example.bugs (\n id integer NOT NULL,\n description text,\n status enum_example.bug_status,\n _status enum_example.bug_status GENERATED ALWAYS AS (status) STORED,\n severity enum_example.bug_severity,\n _severity enum_example.bug_severity GENERATED ALWAYS AS (severity) STORED,\n info enum_example.bug_info GENERATED ALWAYS AS (enum_example.make_bug_info(status, severity)) STORED\n);", "DocsLink": "https://docs.yugabyte.com/preview/yugabyte-voyager/known-issues/postgresql/#generated-always-as-stored-type-column-is-not-supported", "Suggestion": "Using Triggers to update the generated columns is one way to work around this issue, refer docs link for more details.", @@ -1642,7 +1642,7 @@ "IssueType": "migration_caveats", "ObjectType": "POLICY", "ObjectName": "p ON tbl1", - "Reason": "Policy require roles to be created. Users - (regress_rls_eve,regress_rls_frank)", + "Reason": "Policies require specific roles (regress_rls_eve, regress_rls_frank) to be created in the target database, as roles are not migrated during schema migration. Manually create these roles before running the import schema.", "SqlStatement": "CREATE POLICY P ON tbl1 TO regress_rls_eve, regress_rls_frank USING (true);", "Suggestion": "Users/Grants are not migrated during the schema migration. Create the Users manually to make the policies work", "GH": "https://github.com/yugabyte/yb-voyager/issues/1655", @@ -1653,7 +1653,7 @@ "IssueType": "migration_caveats", "ObjectType": "POLICY", "ObjectName": "p1 ON z1", - "Reason": "Policy require roles to be created. Users - (regress_rls_group1)", + "Reason": "Policies require specific roles (regress_rls_group1) to be created in the target database, as roles are not migrated during schema migration. Manually create these roles before running the import schema.", "SqlStatement": "CREATE POLICY p1 ON z1 TO regress_rls_group1 USING (a % 2 = 0);", "DocsLink": "https://docs.yugabyte.com/preview/yugabyte-voyager/known-issues/postgresql/#policies-on-users-in-source-require-manual-user-creation", "Suggestion": "Users/Grants are not migrated during the schema migration. Create the Users manually to make the policies work", @@ -1664,7 +1664,7 @@ "IssueType": "unsupported_plpgsql_objects", "ObjectType": "FUNCTION", "ObjectName": "create_and_populate_tables", - "Reason": "Advisory Locks", + "Reason": "Advisory locks are not yet implemented in YugabyteDB", "SqlStatement": "SELECT pg_advisory_lock(sender_id);", "Suggestion": "", "GH": "https://github.com/yugabyte/yugabyte-db/issues/3642", @@ -1675,7 +1675,7 @@ "IssueType": "unsupported_plpgsql_objects", "ObjectType": "FUNCTION", "ObjectName": "create_and_populate_tables", - "Reason": "Advisory Locks", + "Reason": "Advisory locks are not yet implemented in YugabyteDB", "SqlStatement": "SELECT pg_advisory_lock(receiver_id);", "Suggestion": "", "GH": "https://github.com/yugabyte/yugabyte-db/issues/3642", @@ -1686,7 +1686,7 @@ "IssueType": "unsupported_plpgsql_objects", "ObjectType": "FUNCTION", "ObjectName": "create_and_populate_tables", - "Reason": "Advisory Locks", + "Reason": "Advisory locks are not yet implemented in YugabyteDB", "SqlStatement": "SELECT pg_advisory_unlock(sender_id);", "Suggestion": "", "GH": "https://github.com/yugabyte/yugabyte-db/issues/3642", @@ -1697,7 +1697,7 @@ "IssueType": "unsupported_plpgsql_objects", "ObjectType": "FUNCTION", "ObjectName": "create_and_populate_tables", - "Reason": "Advisory Locks", + "Reason": "Advisory locks are not yet implemented in YugabyteDB", "SqlStatement": "SELECT pg_advisory_unlock(receiver_id);", "Suggestion": "", "GH": "https://github.com/yugabyte/yugabyte-db/issues/3642", @@ -1708,7 +1708,7 @@ "IssueType": "unsupported_plpgsql_objects", "ObjectType": "FUNCTION", "ObjectName": "create_and_populate_tables", - "Reason": "Advisory Locks", + "Reason": "Advisory locks are not yet implemented in YugabyteDB", "SqlStatement": "SELECT pg_advisory_unlock(sender_id);", "Suggestion": "", "GH": "https://github.com/yugabyte/yugabyte-db/issues/3642", @@ -1719,7 +1719,7 @@ "IssueType": "unsupported_plpgsql_objects", "ObjectType": "FUNCTION", "ObjectName": "create_and_populate_tables", - "Reason": "Advisory Locks", + "Reason": "Advisory locks are not yet implemented in YugabyteDB", "SqlStatement": "SELECT pg_advisory_unlock(receiver_id);", "Suggestion": "", "GH": "https://github.com/yugabyte/yugabyte-db/issues/3642", @@ -1730,7 +1730,7 @@ "IssueType": "unsupported_plpgsql_objects", "ObjectType": "FUNCTION", "ObjectName": "create_and_populate_tables", - "Reason": "XML Functions", + "Reason": "XML functions are not yet supported in YugabyteDB", "SqlStatement": "SELECT id, xpath('/person/name/text()', data) AS name FROM test_xml_type;", "Suggestion": "", "GH": "https://github.com/yugabyte/yugabyte-db/issues/1043", @@ -1741,7 +1741,7 @@ "IssueType": "unsupported_plpgsql_objects", "ObjectType": "FUNCTION", "ObjectName": "create_and_populate_tables", - "Reason": "System Columns", + "Reason": "System columns are not yet supported in YugabyteDB", "SqlStatement": "SELECT * FROM employees e WHERE e.xmax = (SELECT MAX(xmax) FROM employees WHERE department = e.department);", "Suggestion": "", "GH": "https://github.com/yugabyte/yugabyte-db/issues/24843", @@ -1752,7 +1752,7 @@ "IssueType": "unsupported_plpgsql_objects", "ObjectType": "PROCEDURE", "ObjectName": "add_employee", - "Reason": "Advisory Locks", + "Reason": "Advisory locks are not yet implemented in YugabyteDB", "SqlStatement": "SELECT id, first_name FROM employees WHERE pg_try_advisory_lock(300) IS TRUE;", "Suggestion": "", "GH": "https://github.com/yugabyte/yugabyte-db/issues/3642", @@ -1763,7 +1763,7 @@ "IssueType": "unsupported_plpgsql_objects", "ObjectType": "PROCEDURE", "ObjectName": "add_employee", - "Reason": "System Columns", + "Reason": "System columns are not yet supported in YugabyteDB", "SqlStatement": "SELECT e.id, e.name,\n ROW_NUMBER() OVER (ORDER BY e.ctid) AS row_num\n FROM employees e;", "Suggestion": "", "GH": "https://github.com/yugabyte/yugabyte-db/issues/24843", @@ -1774,7 +1774,7 @@ "IssueType": "unsupported_plpgsql_objects", "ObjectType": "PROCEDURE", "ObjectName": "add_employee", - "Reason": "XML Functions", + "Reason": "XML functions are not yet supported in YugabyteDB", "SqlStatement": "SELECT e.id, x.employee_xml\n FROM employees e\n JOIN (\n SELECT xmlelement(name \"employee\", xmlattributes(e.id AS \"id\"), e.name) AS employee_xml\n FROM employees e\n ) x ON x.employee_xml IS NOT NULL\n WHERE xmlexists('//employee[name=\"John Doe\"]' PASSING BY REF x.employee_xml);", "Suggestion": "", "GH": "https://github.com/yugabyte/yugabyte-db/issues/1043", @@ -1785,7 +1785,7 @@ "IssueType": "unsupported_plpgsql_objects", "ObjectType": "PROCEDURE", "ObjectName": "add_employee", - "Reason": "Advisory Locks", + "Reason": "Advisory locks are not yet implemented in YugabyteDB", "SqlStatement": "SELECT e.id,\n CASE\n WHEN e.salary \u003e 100000 THEN pg_advisory_lock(e.id)\n ELSE pg_advisory_unlock(e.id)\n END AS lock_status\n FROM employees e;", "Suggestion": "", "GH": "https://github.com/yugabyte/yugabyte-db/issues/3642", @@ -1796,7 +1796,7 @@ "IssueType": "unsupported_features", "ObjectType": "MVIEW", "ObjectName": "public.sample_data_view", - "Reason": "XML Functions", + "Reason": "XML functions are not yet supported in YugabyteDB", "SqlStatement": "CREATE MATERIALIZED VIEW public.sample_data_view AS\n SELECT sample_data.id,\n sample_data.name,\n sample_data.description,\n XMLFOREST(sample_data.name AS name, sample_data.description AS description) AS xml_data,\n pg_try_advisory_lock((sample_data.id)::bigint) AS lock_acquired,\n sample_data.ctid AS row_ctid,\n sample_data.xmin AS xmin_value\n FROM public.sample_data\n WITH NO DATA;", "Suggestion": "", "GH": "https://github.com/yugabyte/yugabyte-db/issues/1043", @@ -1807,7 +1807,7 @@ "IssueType": "unsupported_features", "ObjectType": "MVIEW", "ObjectName": "public.sample_data_view", - "Reason": "Advisory Locks", + "Reason": "Advisory locks are not yet implemented in YugabyteDB", "SqlStatement": "CREATE MATERIALIZED VIEW public.sample_data_view AS\n SELECT sample_data.id,\n sample_data.name,\n sample_data.description,\n XMLFOREST(sample_data.name AS name, sample_data.description AS description) AS xml_data,\n pg_try_advisory_lock((sample_data.id)::bigint) AS lock_acquired,\n sample_data.ctid AS row_ctid,\n sample_data.xmin AS xmin_value\n FROM public.sample_data\n WITH NO DATA;", "Suggestion": "", "GH": "https://github.com/yugabyte/yugabyte-db/issues/3642", @@ -1818,7 +1818,7 @@ "IssueType": "unsupported_features", "ObjectType": "MVIEW", "ObjectName": "public.sample_data_view", - "Reason": "System Columns", + "Reason": "System columns are not yet supported in YugabyteDB", "SqlStatement": "CREATE MATERIALIZED VIEW public.sample_data_view AS\n SELECT sample_data.id,\n sample_data.name,\n sample_data.description,\n XMLFOREST(sample_data.name AS name, sample_data.description AS description) AS xml_data,\n pg_try_advisory_lock((sample_data.id)::bigint) AS lock_acquired,\n sample_data.ctid AS row_ctid,\n sample_data.xmin AS xmin_value\n FROM public.sample_data\n WITH NO DATA;", "Suggestion": "", "GH": "https://github.com/yugabyte/yugabyte-db/issues/24843", @@ -1829,7 +1829,7 @@ "IssueType": "unsupported_features", "ObjectType": "VIEW", "ObjectName": "public.orders_view", - "Reason": "XML Functions", + "Reason": "XML functions are not yet supported in YugabyteDB", "SqlStatement": "CREATE VIEW public.orders_view AS\n SELECT orders.order_id,\n orders.customer_name,\n orders.product_name,\n orders.quantity,\n orders.price,\n XMLELEMENT(NAME \"OrderDetails\", XMLELEMENT(NAME \"Customer\", orders.customer_name), XMLELEMENT(NAME \"Product\", orders.product_name), XMLELEMENT(NAME \"Quantity\", orders.quantity), XMLELEMENT(NAME \"TotalPrice\", (orders.price * (orders.quantity)::numeric))) AS order_xml,\n XMLCONCAT(XMLELEMENT(NAME \"Customer\", orders.customer_name), XMLELEMENT(NAME \"Product\", orders.product_name)) AS summary_xml,\n pg_try_advisory_lock((hashtext((orders.customer_name || orders.product_name)))::bigint) AS lock_acquired,\n orders.ctid AS row_ctid,\n orders.xmin AS transaction_id\n FROM public.orders;", "Suggestion": "", "GH": "https://github.com/yugabyte/yugabyte-db/issues/1043", @@ -1840,7 +1840,7 @@ "IssueType": "unsupported_features", "ObjectType": "VIEW", "ObjectName": "public.orders_view", - "Reason": "Advisory Locks", + "Reason": "Advisory locks are not yet implemented in YugabyteDB", "SqlStatement": "CREATE VIEW public.orders_view AS\n SELECT orders.order_id,\n orders.customer_name,\n orders.product_name,\n orders.quantity,\n orders.price,\n XMLELEMENT(NAME \"OrderDetails\", XMLELEMENT(NAME \"Customer\", orders.customer_name), XMLELEMENT(NAME \"Product\", orders.product_name), XMLELEMENT(NAME \"Quantity\", orders.quantity), XMLELEMENT(NAME \"TotalPrice\", (orders.price * (orders.quantity)::numeric))) AS order_xml,\n XMLCONCAT(XMLELEMENT(NAME \"Customer\", orders.customer_name), XMLELEMENT(NAME \"Product\", orders.product_name)) AS summary_xml,\n pg_try_advisory_lock((hashtext((orders.customer_name || orders.product_name)))::bigint) AS lock_acquired,\n orders.ctid AS row_ctid,\n orders.xmin AS transaction_id\n FROM public.orders;", "Suggestion": "", "GH": "https://github.com/yugabyte/yugabyte-db/issues/3642", @@ -1851,7 +1851,7 @@ "IssueType": "unsupported_features", "ObjectType": "VIEW", "ObjectName": "public.orders_view", - "Reason": "System Columns", + "Reason": "System columns are not yet supported in YugabyteDB", "SqlStatement": "CREATE VIEW public.orders_view AS\n SELECT orders.order_id,\n orders.customer_name,\n orders.product_name,\n orders.quantity,\n orders.price,\n XMLELEMENT(NAME \"OrderDetails\", XMLELEMENT(NAME \"Customer\", orders.customer_name), XMLELEMENT(NAME \"Product\", orders.product_name), XMLELEMENT(NAME \"Quantity\", orders.quantity), XMLELEMENT(NAME \"TotalPrice\", (orders.price * (orders.quantity)::numeric))) AS order_xml,\n XMLCONCAT(XMLELEMENT(NAME \"Customer\", orders.customer_name), XMLELEMENT(NAME \"Product\", orders.product_name)) AS summary_xml,\n pg_try_advisory_lock((hashtext((orders.customer_name || orders.product_name)))::bigint) AS lock_acquired,\n orders.ctid AS row_ctid,\n orders.xmin AS transaction_id\n FROM public.orders;", "Suggestion": "", "GH": "https://github.com/yugabyte/yugabyte-db/issues/24843", @@ -1862,7 +1862,7 @@ "IssueType": "unsupported_plpgsql_objects", "ObjectType": "FUNCTION", "ObjectName": "public.get_employeee_salary", - "Reason": "Referenced type declaration of variables", + "Reason": "Referencing the type of a column instead of the actual type name is not supported in YugabyteDB", "SqlStatement": "employees.salary%TYPE", "Suggestion": "Fix the syntax to include the actual type name instead of referencing the type of a column", "GH": "https://github.com/yugabyte/yugabyte-db/issues/23619", @@ -1873,7 +1873,7 @@ "IssueType": "unsupported_plpgsql_objects", "ObjectType": "FUNCTION", "ObjectName": "calculate_tax", - "Reason": "Referenced type declaration of variables", + "Reason": "Referencing the type of a column instead of the actual type name is not supported in YugabyteDB", "SqlStatement": "employees.tax_rate%TYPE", "Suggestion": "Fix the syntax to include the actual type name instead of referencing the type of a column", "GH": "https://github.com/yugabyte/yugabyte-db/issues/23619", @@ -1884,7 +1884,7 @@ "IssueType": "unsupported_plpgsql_objects", "ObjectType": "FUNCTION", "ObjectName": "log_salary_change", - "Reason": "Referenced type declaration of variables", + "Reason": "Referencing the type of a column instead of the actual type name is not supported in YugabyteDB", "SqlStatement": "employees.salary%TYPE", "Suggestion": "Fix the syntax to include the actual type name instead of referencing the type of a column", "GH": "https://github.com/yugabyte/yugabyte-db/issues/23619", @@ -1895,7 +1895,7 @@ "IssueType": "unsupported_plpgsql_objects", "ObjectType": "FUNCTION", "ObjectName": "log_salary_change", - "Reason": "Referenced type declaration of variables", + "Reason": "Referencing the type of a column instead of the actual type name is not supported in YugabyteDB", "SqlStatement": "employees.salary%TYPE", "Suggestion": "Fix the syntax to include the actual type name instead of referencing the type of a column", "GH": "https://github.com/yugabyte/yugabyte-db/issues/23619", @@ -1906,7 +1906,7 @@ "IssueType": "unsupported_plpgsql_objects", "ObjectType": "FUNCTION", "ObjectName": "get_employee_details", - "Reason": "Referenced type declaration of variables", + "Reason": "Referencing the type of a column instead of the actual type name is not supported in YugabyteDB", "SqlStatement": "employees.name%TYPE", "Suggestion": "Fix the syntax to include the actual type name instead of referencing the type of a column", "GH": "https://github.com/yugabyte/yugabyte-db/issues/23619", @@ -1917,7 +1917,7 @@ "IssueType": "unsupported_plpgsql_objects", "ObjectType": "FUNCTION", "ObjectName": "get_employee_details", - "Reason": "Referenced type declaration of variables", + "Reason": "Referencing the type of a column instead of the actual type name is not supported in YugabyteDB", "SqlStatement": "employees.id%TYPE", "Suggestion": "Fix the syntax to include the actual type name instead of referencing the type of a column", "GH": "https://github.com/yugabyte/yugabyte-db/issues/23619", @@ -1928,7 +1928,7 @@ "IssueType": "unsupported_plpgsql_objects", "ObjectType": "FUNCTION", "ObjectName": "list_high_earners", - "Reason": "Referenced type declaration of variables", + "Reason": "Referencing the type of a column instead of the actual type name is not supported in YugabyteDB", "SqlStatement": "employees.name%TYPE", "Suggestion": "Fix the syntax to include the actual type name instead of referencing the type of a column", "GH": "https://github.com/yugabyte/yugabyte-db/issues/23619", @@ -1939,7 +1939,7 @@ "IssueType": "unsupported_plpgsql_objects", "ObjectType": "FUNCTION", "ObjectName": "list_high_earners", - "Reason": "Referenced type declaration of variables", + "Reason": "Referencing the type of a column instead of the actual type name is not supported in YugabyteDB", "SqlStatement": "employees.salary%TYPE", "Suggestion": "Fix the syntax to include the actual type name instead of referencing the type of a column", "GH": "https://github.com/yugabyte/yugabyte-db/issues/23619", @@ -1950,7 +1950,7 @@ "IssueType": "unsupported_plpgsql_objects", "ObjectType": "FUNCTION", "ObjectName": "copy_high_earners", - "Reason": "Referenced type declaration of variables", + "Reason": "Referencing the type of a column instead of the actual type name is not supported in YugabyteDB", "SqlStatement": "employees.salary%TYPE", "Suggestion": "Fix the syntax to include the actual type name instead of referencing the type of a column", "GH": "https://github.com/yugabyte/yugabyte-db/issues/23619", @@ -1961,7 +1961,7 @@ "IssueType": "unsupported_plpgsql_objects", "ObjectType": "PROCEDURE", "ObjectName": "update_salary", - "Reason": "Referenced type declaration of variables", + "Reason": "Referencing the type of a column instead of the actual type name is not supported in YugabyteDB", "SqlStatement": "employees.salary%TYPE", "Suggestion": "Fix the syntax to include the actual type name instead of referencing the type of a column", "GH": "https://github.com/yugabyte/yugabyte-db/issues/23619", @@ -1972,7 +1972,7 @@ "IssueType": "unsupported_plpgsql_objects", "ObjectType": "PROCEDURE", "ObjectName": "get_employee_details_proc", - "Reason": "Referenced type declaration of variables", + "Reason": "Referencing the type of a column instead of the actual type name is not supported in YugabyteDB", "SqlStatement": "employees.name%TYPE", "Suggestion": "Fix the syntax to include the actual type name instead of referencing the type of a column", "GH": "https://github.com/yugabyte/yugabyte-db/issues/23619", @@ -1983,7 +1983,7 @@ "IssueType": "unsupported_plpgsql_objects", "ObjectType": "PROCEDURE", "ObjectName": "get_employee_details_proc", - "Reason": "Referenced type declaration of variables", + "Reason": "Referencing the type of a column instead of the actual type name is not supported in YugabyteDB", "SqlStatement": "employees.id%TYPE", "Suggestion": "Fix the syntax to include the actual type name instead of referencing the type of a column", "GH": "https://github.com/yugabyte/yugabyte-db/issues/23619", @@ -1994,7 +1994,7 @@ "IssueType": "unsupported_plpgsql_objects", "ObjectType": "PROCEDURE", "ObjectName": "get_employee_details_proc", - "Reason": "Referenced type declaration of variables", + "Reason": "Referencing the type of a column instead of the actual type name is not supported in YugabyteDB", "SqlStatement": "employees.salary%TYPE", "Suggestion": "Fix the syntax to include the actual type name instead of referencing the type of a column", "GH": "https://github.com/yugabyte/yugabyte-db/issues/23619", @@ -2005,7 +2005,7 @@ "IssueType": "unsupported_plpgsql_objects", "ObjectType": "FUNCTION", "ObjectName": "get_employee_details", - "Reason": "Referenced type declaration of variables", + "Reason": "Referencing the type of a column instead of the actual type name is not supported in YugabyteDB", "SqlStatement": "public.employees.name%TYPE", "Suggestion": "Fix the syntax to include the actual type name instead of referencing the type of a column", "GH": "https://github.com/yugabyte/yugabyte-db/issues/23619", @@ -2016,7 +2016,7 @@ "IssueType": "unsupported_datatypes", "ObjectType": "TABLE", "ObjectName": "image", - "Reason": "Unsupported datatype - lo on column - raster", + "Reason": "Large Objects are not yet supported in YugabyteDB. Affected column: raster.", "SqlStatement": "CREATE TABLE image (title text, raster lo);", "Suggestion": "Large objects are not yet supported in YugabyteDB, no workaround available currently", "GH": "https://github.com/yugabyte/yugabyte-db/issues/25318", @@ -2027,7 +2027,7 @@ "IssueType": "unsupported_features", "ObjectType": "VIEW", "ObjectName": "top_employees_view", - "Reason": "FETCH .. WITH TIES", + "Reason": "FETCH .. WITH TIES is not yet supported in YugabyteDB", "SqlStatement": "CREATE VIEW top_employees_view AS SELECT * FROM (\n\t\t\tSELECT * FROM employees\n\t\t\tORDER BY salary DESC\n\t\t\tFETCH FIRST 2 ROWS WITH TIES\n\t\t) AS top_employees;", "Suggestion": "No workaround available right now", "GH": "https://github.com/yugabyte/yugabyte-db/issues/25575", @@ -2038,7 +2038,7 @@ "IssueType": "unsupported_datatypes", "ObjectType": "TABLE", "ObjectName": "bigint_multirange_table", - "Reason": "Unsupported datatype - int8multirange on column - value_ranges", + "Reason": "Multi-range data type is not yet supported in YugabyteDB. Affected column: value_ranges and type: int8multirange.", "SqlStatement": "CREATE TABLE bigint_multirange_table (\n id integer PRIMARY KEY,\n value_ranges int8multirange\n);", "Suggestion": "Multirange data type is not yet supported in YugabyteDB, no workaround available currently", "GH": "https://github.com/yugabyte/yugabyte-db/issues/25575", @@ -2049,7 +2049,7 @@ "IssueType": "unsupported_datatypes", "ObjectType": "TABLE", "ObjectName": "date_multirange_table", - "Reason": "Unsupported datatype - datemultirange on column - project_dates", + "Reason": "Multi-range data type is not yet supported in YugabyteDB. Affected column: project_dates and type: datemultirange.", "SqlStatement": "CREATE TABLE date_multirange_table (\n id integer PRIMARY KEY,\n project_dates datemultirange\n);", "Suggestion": "Multirange data type is not yet supported in YugabyteDB, no workaround available currently", "GH": "https://github.com/yugabyte/yugabyte-db/issues/25575", @@ -2060,7 +2060,7 @@ "IssueType": "unsupported_datatypes", "ObjectType": "TABLE", "ObjectName": "int_multirange_table", - "Reason": "Unsupported datatype - int4multirange on column - value_ranges", + "Reason": "Multi-range data type is not yet supported in YugabyteDB. Affected column: value_ranges and type: int4multirange.", "SqlStatement": "CREATE TABLE int_multirange_table (\n id integer PRIMARY KEY,\n value_ranges int4multirange\n);", "Suggestion": "Multirange data type is not yet supported in YugabyteDB, no workaround available currently", "GH": "https://github.com/yugabyte/yugabyte-db/issues/25575", @@ -2071,7 +2071,7 @@ "IssueType": "unsupported_datatypes", "ObjectType": "TABLE", "ObjectName": "numeric_multirange_table", - "Reason": "Unsupported datatype - nummultirange on column - price_ranges", + "Reason": "Multi-range data type is not yet supported in YugabyteDB. Affected column: price_ranges and type: nummultirange.", "SqlStatement": "CREATE TABLE numeric_multirange_table (\n id integer PRIMARY KEY,\n price_ranges nummultirange\n);", "Suggestion": "Multirange data type is not yet supported in YugabyteDB, no workaround available currently", "GH": "https://github.com/yugabyte/yugabyte-db/issues/25575", @@ -2082,7 +2082,7 @@ "IssueType": "unsupported_datatypes", "ObjectType": "TABLE", "ObjectName": "timestamp_multirange_table", - "Reason": "Unsupported datatype - tsmultirange on column - event_times", + "Reason": "Multi-range data type is not yet supported in YugabyteDB. Affected column: event_times and type: tsmultirange.", "SqlStatement": "CREATE TABLE timestamp_multirange_table (\n id integer PRIMARY KEY,\n event_times tsmultirange\n);", "Suggestion": "Multirange data type is not yet supported in YugabyteDB, no workaround available currently", "GH": "https://github.com/yugabyte/yugabyte-db/issues/25575", @@ -2093,7 +2093,7 @@ "IssueType": "unsupported_datatypes", "ObjectType": "TABLE", "ObjectName": "timestamptz_multirange_table", - "Reason": "Unsupported datatype - tstzmultirange on column - global_event_times", + "Reason": "Multi-range data type is not yet supported in YugabyteDB. Affected column: global_event_times and type: tstzmultirange.", "SqlStatement": "CREATE TABLE timestamptz_multirange_table (\n id integer PRIMARY KEY,\n global_event_times tstzmultirange\n);", "Suggestion": "Multirange data type is not yet supported in YugabyteDB, no workaround available currently", "GH": "https://github.com/yugabyte/yugabyte-db/issues/25575", @@ -2104,7 +2104,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "users_unique_nulls_not_distinct", - "Reason": "Unique Nulls Not Distinct", + "Reason": "Unique constraint on columns with NULL values is not yet supported in YugabyteDB", "SqlStatement": "CREATE TABLE users_unique_nulls_not_distinct (\n id SERIAL PRIMARY KEY,\n email TEXT,\n UNIQUE NULLS NOT DISTINCT (email)\n);", "Suggestion": "", "GH": "https://github.com/yugabyte/yugabyte-db/issues/25575", @@ -2115,7 +2115,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "sales_unique_nulls_not_distinct", - "Reason": "Unique Nulls Not Distinct", + "Reason": "Unique constraint on columns with NULL values is not yet supported in YugabyteDB", "SqlStatement": "CREATE TABLE sales_unique_nulls_not_distinct (\n store_id INT,\n product_id INT,\n sale_date DATE,\n UNIQUE NULLS NOT DISTINCT (store_id, product_id, sale_date)\n);", "Suggestion": "", "GH": "https://github.com/yugabyte/yugabyte-db/issues/25575", @@ -2126,7 +2126,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "sales_unique_nulls_not_distinct_alter", - "Reason": "Unique Nulls Not Distinct", + "Reason": "Unique constraint on columns with NULL values is not yet supported in YugabyteDB", "SqlStatement": "ALTER TABLE sales_unique_nulls_not_distinct_alter\n\tADD CONSTRAINT sales_unique_nulls_not_distinct_alter_unique UNIQUE NULLS NOT DISTINCT (store_id, product_id, sale_date);", "Suggestion": "", "GH": "https://github.com/yugabyte/yugabyte-db/issues/25575", @@ -2137,7 +2137,7 @@ "IssueType": "unsupported_features", "ObjectType": "INDEX", "ObjectName": "users_unique_nulls_not_distinct_index_email ON users_unique_nulls_not_distinct_index", - "Reason": "Unique Nulls Not Distinct", + "Reason": "Unique constraint on columns with NULL values is not yet supported in YugabyteDB", "SqlStatement": "CREATE UNIQUE INDEX users_unique_nulls_not_distinct_index_email\n ON users_unique_nulls_not_distinct_index (email)\n NULLS NOT DISTINCT;", "Suggestion": "", "GH": "https://github.com/yugabyte/yugabyte-db/issues/25575", @@ -2148,7 +2148,7 @@ "IssueType": "migration_caveats", "ObjectType": "TABLE", "ObjectName": "employees", - "Reason": "Unsupported datatype for Live migration with fall-forward/fallback - hstore on column - data", + "Reason": "Datatype not yet supported by voyager in live migration with fall-forward/fallback. Affected column: data and type: hstore. These columns will be excluded when exporting and importing data in live migration workflows.", "SqlStatement": "CREATE TABLE employees (id INT PRIMARY KEY, salary INT, data hstore);", "Suggestion": "", "GH": "https://github.com/yugabyte/yb-voyager/issues/1731", diff --git a/migtests/tests/pg/adventureworks/expected_files/expected_schema_analysis_report.json b/migtests/tests/pg/adventureworks/expected_files/expected_schema_analysis_report.json index 369f9122d9..6a4d064914 100755 --- a/migtests/tests/pg/adventureworks/expected_files/expected_schema_analysis_report.json +++ b/migtests/tests/pg/adventureworks/expected_files/expected_schema_analysis_report.json @@ -73,7 +73,7 @@ "IssueType": "unsupported_datatypes", "ObjectType": "TABLE", "ObjectName": "humanresources.jobcandidate", - "Reason": "Unsupported datatype - xml on column - resume", + "Reason": "XML datatype is not yet supported in YugabyteDB. Affected column: resume.", "SqlStatement": "CREATE TABLE humanresources.jobcandidate (\n jobcandidateid integer NOT NULL,\n businessentityid integer,\n resume xml,\n modifieddate timestamp without time zone DEFAULT now() NOT NULL\n);", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/adventureworks/export-dir/schema/tables/table.sql", "Suggestion": "Data ingestion is not supported for this type in YugabyteDB so handle this type in different way. Refer link for more details.", @@ -85,7 +85,7 @@ "IssueType": "unsupported_datatypes", "ObjectType": "TABLE", "ObjectName": "person.person", - "Reason": "Unsupported datatype - xml on column - additionalcontactinfo", + "Reason": "XML datatype is not yet supported in YugabyteDB. Affected column: additionalcontactinfo.", "SqlStatement": "CREATE TABLE person.person (\n businessentityid integer NOT NULL,\n persontype character(2) NOT NULL,\n namestyle public.\"NameStyle\" DEFAULT false NOT NULL,\n title character varying(8),\n firstname public.\"Name\" NOT NULL,\n middlename public.\"Name\",\n lastname public.\"Name\" NOT NULL,\n suffix character varying(10),\n emailpromotion integer DEFAULT 0 NOT NULL,\n additionalcontactinfo xml,\n demographics xml,\n rowguid uuid DEFAULT public.uuid_generate_v1() NOT NULL,\n modifieddate timestamp without time zone DEFAULT now() NOT NULL,\n CONSTRAINT \"CK_Person_EmailPromotion\" CHECK (((emailpromotion \u003e= 0) AND (emailpromotion \u003c= 2))),\n CONSTRAINT \"CK_Person_PersonType\" CHECK (((persontype IS NULL) OR (upper((persontype)::text) = ANY (ARRAY['SC'::text, 'VC'::text, 'IN'::text, 'EM'::text, 'SP'::text, 'GC'::text]))))\n);", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/adventureworks/export-dir/schema/tables/table.sql", "Suggestion": "Data ingestion is not supported for this type in YugabyteDB so handle this type in different way. Refer link for more details.", @@ -97,7 +97,7 @@ "IssueType": "unsupported_datatypes", "ObjectType": "TABLE", "ObjectName": "person.person", - "Reason": "Unsupported datatype - xml on column - demographics", + "Reason": "XML datatype is not yet supported in YugabyteDB. Affected column: demographics.", "SqlStatement": "CREATE TABLE person.person (\n businessentityid integer NOT NULL,\n persontype character(2) NOT NULL,\n namestyle public.\"NameStyle\" DEFAULT false NOT NULL,\n title character varying(8),\n firstname public.\"Name\" NOT NULL,\n middlename public.\"Name\",\n lastname public.\"Name\" NOT NULL,\n suffix character varying(10),\n emailpromotion integer DEFAULT 0 NOT NULL,\n additionalcontactinfo xml,\n demographics xml,\n rowguid uuid DEFAULT public.uuid_generate_v1() NOT NULL,\n modifieddate timestamp without time zone DEFAULT now() NOT NULL,\n CONSTRAINT \"CK_Person_EmailPromotion\" CHECK (((emailpromotion \u003e= 0) AND (emailpromotion \u003c= 2))),\n CONSTRAINT \"CK_Person_PersonType\" CHECK (((persontype IS NULL) OR (upper((persontype)::text) = ANY (ARRAY['SC'::text, 'VC'::text, 'IN'::text, 'EM'::text, 'SP'::text, 'GC'::text]))))\n);", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/adventureworks/export-dir/schema/tables/table.sql", "Suggestion": "Data ingestion is not supported for this type in YugabyteDB so handle this type in different way. Refer link for more details.", @@ -109,7 +109,7 @@ "IssueType": "unsupported_datatypes", "ObjectType": "TABLE", "ObjectName": "production.illustration", - "Reason": "Unsupported datatype - xml on column - diagram", + "Reason": "XML datatype is not yet supported in YugabyteDB. Affected column: diagram.", "SqlStatement": "CREATE TABLE production.illustration (\n illustrationid integer NOT NULL,\n diagram xml,\n modifieddate timestamp without time zone DEFAULT now() NOT NULL\n);", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/adventureworks/export-dir/schema/tables/table.sql", "Suggestion": "Data ingestion is not supported for this type in YugabyteDB so handle this type in different way. Refer link for more details.", @@ -121,7 +121,7 @@ "IssueType": "unsupported_datatypes", "ObjectType": "TABLE", "ObjectName": "production.productmodel", - "Reason": "Unsupported datatype - xml on column - catalogdescription", + "Reason": "XML datatype is not yet supported in YugabyteDB. Affected column: catalogdescription.", "SqlStatement": "CREATE TABLE production.productmodel (\n productmodelid integer NOT NULL,\n name public.\"Name\" NOT NULL,\n catalogdescription xml,\n instructions xml,\n rowguid uuid DEFAULT public.uuid_generate_v1() NOT NULL,\n modifieddate timestamp without time zone DEFAULT now() NOT NULL\n);", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/adventureworks/export-dir/schema/tables/table.sql", "Suggestion": "Data ingestion is not supported for this type in YugabyteDB so handle this type in different way. Refer link for more details.", @@ -133,7 +133,7 @@ "IssueType": "unsupported_datatypes", "ObjectType": "TABLE", "ObjectName": "production.productmodel", - "Reason": "Unsupported datatype - xml on column - instructions", + "Reason": "XML datatype is not yet supported in YugabyteDB. Affected column: instructions.", "SqlStatement": "CREATE TABLE production.productmodel (\n productmodelid integer NOT NULL,\n name public.\"Name\" NOT NULL,\n catalogdescription xml,\n instructions xml,\n rowguid uuid DEFAULT public.uuid_generate_v1() NOT NULL,\n modifieddate timestamp without time zone DEFAULT now() NOT NULL\n);", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/adventureworks/export-dir/schema/tables/table.sql", "Suggestion": "Data ingestion is not supported for this type in YugabyteDB so handle this type in different way. Refer link for more details.", @@ -145,7 +145,7 @@ "IssueType": "unsupported_datatypes", "ObjectType": "TABLE", "ObjectName": "sales.store", - "Reason": "Unsupported datatype - xml on column - demographics", + "Reason": "XML datatype is not yet supported in YugabyteDB. Affected column: demographics.", "SqlStatement": "CREATE TABLE sales.store (\n businessentityid integer NOT NULL,\n name public.\"Name\" NOT NULL,\n salespersonid integer,\n demographics xml,\n rowguid uuid DEFAULT public.uuid_generate_v1() NOT NULL,\n modifieddate timestamp without time zone DEFAULT now() NOT NULL\n);", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/adventureworks/export-dir/schema/tables/table.sql", "Suggestion": "Data ingestion is not supported for this type in YugabyteDB so handle this type in different way. Refer link for more details.", @@ -157,7 +157,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "humanresources.department", - "Reason": "ALTER TABLE CLUSTER not supported yet.", + "Reason": "ALTER TABLE CLUSTER is not yet supported in YugabyteDB", "SqlStatement": "ALTER TABLE humanresources.department CLUSTER ON \"PK_Department_DepartmentID\";", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/adventureworks/export-dir/schema/tables/table.sql", "Suggestion": "Remove it from the exported schema.", @@ -169,7 +169,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "humanresources.employeedepartmenthistory", - "Reason": "ALTER TABLE CLUSTER not supported yet.", + "Reason": "ALTER TABLE CLUSTER is not yet supported in YugabyteDB", "SqlStatement": "ALTER TABLE humanresources.employeedepartmenthistory CLUSTER ON \"PK_EmployeeDepartmentHistory_BusinessEntityID_StartDate_Departm\";", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/adventureworks/export-dir/schema/tables/table.sql", "Suggestion": "Remove it from the exported schema.", @@ -181,7 +181,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "humanresources.employeepayhistory", - "Reason": "ALTER TABLE CLUSTER not supported yet.", + "Reason": "ALTER TABLE CLUSTER is not yet supported in YugabyteDB", "SqlStatement": "ALTER TABLE humanresources.employeepayhistory CLUSTER ON \"PK_EmployeePayHistory_BusinessEntityID_RateChangeDate\";", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/adventureworks/export-dir/schema/tables/table.sql", "Suggestion": "Remove it from the exported schema.", @@ -193,7 +193,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "humanresources.employee", - "Reason": "ALTER TABLE CLUSTER not supported yet.", + "Reason": "ALTER TABLE CLUSTER is not yet supported in YugabyteDB", "SqlStatement": "ALTER TABLE humanresources.employee CLUSTER ON \"PK_Employee_BusinessEntityID\";", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/adventureworks/export-dir/schema/tables/table.sql", "Suggestion": "Remove it from the exported schema.", @@ -205,7 +205,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "humanresources.jobcandidate", - "Reason": "ALTER TABLE CLUSTER not supported yet.", + "Reason": "ALTER TABLE CLUSTER is not yet supported in YugabyteDB", "SqlStatement": "ALTER TABLE humanresources.jobcandidate CLUSTER ON \"PK_JobCandidate_JobCandidateID\";", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/adventureworks/export-dir/schema/tables/table.sql", "Suggestion": "Remove it from the exported schema.", @@ -217,7 +217,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "humanresources.shift", - "Reason": "ALTER TABLE CLUSTER not supported yet.", + "Reason": "ALTER TABLE CLUSTER is not yet supported in YugabyteDB", "SqlStatement": "ALTER TABLE humanresources.shift CLUSTER ON \"PK_Shift_ShiftID\";", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/adventureworks/export-dir/schema/tables/table.sql", "Suggestion": "Remove it from the exported schema.", @@ -229,7 +229,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "person.addresstype", - "Reason": "ALTER TABLE CLUSTER not supported yet.", + "Reason": "ALTER TABLE CLUSTER is not yet supported in YugabyteDB", "SqlStatement": "ALTER TABLE person.addresstype CLUSTER ON \"PK_AddressType_AddressTypeID\";", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/adventureworks/export-dir/schema/tables/table.sql", "Suggestion": "Remove it from the exported schema.", @@ -241,7 +241,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "person.address", - "Reason": "ALTER TABLE CLUSTER not supported yet.", + "Reason": "ALTER TABLE CLUSTER is not yet supported in YugabyteDB", "SqlStatement": "ALTER TABLE person.address CLUSTER ON \"PK_Address_AddressID\";", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/adventureworks/export-dir/schema/tables/table.sql", "Suggestion": "Remove it from the exported schema.", @@ -253,7 +253,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "person.businessentityaddress", - "Reason": "ALTER TABLE CLUSTER not supported yet.", + "Reason": "ALTER TABLE CLUSTER is not yet supported in YugabyteDB", "SqlStatement": "ALTER TABLE person.businessentityaddress CLUSTER ON \"PK_BusinessEntityAddress_BusinessEntityID_AddressID_AddressType\";", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/adventureworks/export-dir/schema/tables/table.sql", "Suggestion": "Remove it from the exported schema.", @@ -265,7 +265,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "person.businessentitycontact", - "Reason": "ALTER TABLE CLUSTER not supported yet.", + "Reason": "ALTER TABLE CLUSTER is not yet supported in YugabyteDB", "SqlStatement": "ALTER TABLE person.businessentitycontact CLUSTER ON \"PK_BusinessEntityContact_BusinessEntityID_PersonID_ContactTypeI\";", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/adventureworks/export-dir/schema/tables/table.sql", "Suggestion": "Remove it from the exported schema.", @@ -277,7 +277,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "person.businessentity", - "Reason": "ALTER TABLE CLUSTER not supported yet.", + "Reason": "ALTER TABLE CLUSTER is not yet supported in YugabyteDB", "SqlStatement": "ALTER TABLE person.businessentity CLUSTER ON \"PK_BusinessEntity_BusinessEntityID\";", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/adventureworks/export-dir/schema/tables/table.sql", "Suggestion": "Remove it from the exported schema.", @@ -289,7 +289,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "person.contacttype", - "Reason": "ALTER TABLE CLUSTER not supported yet.", + "Reason": "ALTER TABLE CLUSTER is not yet supported in YugabyteDB", "SqlStatement": "ALTER TABLE person.contacttype CLUSTER ON \"PK_ContactType_ContactTypeID\";", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/adventureworks/export-dir/schema/tables/table.sql", "Suggestion": "Remove it from the exported schema.", @@ -301,7 +301,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "person.countryregion", - "Reason": "ALTER TABLE CLUSTER not supported yet.", + "Reason": "ALTER TABLE CLUSTER is not yet supported in YugabyteDB", "SqlStatement": "ALTER TABLE person.countryregion CLUSTER ON \"PK_CountryRegion_CountryRegionCode\";", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/adventureworks/export-dir/schema/tables/table.sql", "Suggestion": "Remove it from the exported schema.", @@ -313,7 +313,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "person.emailaddress", - "Reason": "ALTER TABLE CLUSTER not supported yet.", + "Reason": "ALTER TABLE CLUSTER is not yet supported in YugabyteDB", "SqlStatement": "ALTER TABLE person.emailaddress CLUSTER ON \"PK_EmailAddress_BusinessEntityID_EmailAddressID\";", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/adventureworks/export-dir/schema/tables/table.sql", "Suggestion": "Remove it from the exported schema.", @@ -325,7 +325,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "person.password", - "Reason": "ALTER TABLE CLUSTER not supported yet.", + "Reason": "ALTER TABLE CLUSTER is not yet supported in YugabyteDB", "SqlStatement": "ALTER TABLE person.password CLUSTER ON \"PK_Password_BusinessEntityID\";", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/adventureworks/export-dir/schema/tables/table.sql", "Suggestion": "Remove it from the exported schema.", @@ -337,7 +337,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "person.personphone", - "Reason": "ALTER TABLE CLUSTER not supported yet.", + "Reason": "ALTER TABLE CLUSTER is not yet supported in YugabyteDB", "SqlStatement": "ALTER TABLE person.personphone CLUSTER ON \"PK_PersonPhone_BusinessEntityID_PhoneNumber_PhoneNumberTypeID\";", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/adventureworks/export-dir/schema/tables/table.sql", "Suggestion": "Remove it from the exported schema.", @@ -349,7 +349,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "person.person", - "Reason": "ALTER TABLE CLUSTER not supported yet.", + "Reason": "ALTER TABLE CLUSTER is not yet supported in YugabyteDB", "SqlStatement": "ALTER TABLE person.person CLUSTER ON \"PK_Person_BusinessEntityID\";", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/adventureworks/export-dir/schema/tables/table.sql", "Suggestion": "Remove it from the exported schema.", @@ -361,7 +361,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "person.phonenumbertype", - "Reason": "ALTER TABLE CLUSTER not supported yet.", + "Reason": "ALTER TABLE CLUSTER is not yet supported in YugabyteDB", "SqlStatement": "ALTER TABLE person.phonenumbertype CLUSTER ON \"PK_PhoneNumberType_PhoneNumberTypeID\";", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/adventureworks/export-dir/schema/tables/table.sql", "Suggestion": "Remove it from the exported schema.", @@ -373,7 +373,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "person.stateprovince", - "Reason": "ALTER TABLE CLUSTER not supported yet.", + "Reason": "ALTER TABLE CLUSTER is not yet supported in YugabyteDB", "SqlStatement": "ALTER TABLE person.stateprovince CLUSTER ON \"PK_StateProvince_StateProvinceID\";", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/adventureworks/export-dir/schema/tables/table.sql", "Suggestion": "Remove it from the exported schema.", @@ -385,7 +385,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "production.culture", - "Reason": "ALTER TABLE CLUSTER not supported yet.", + "Reason": "ALTER TABLE CLUSTER is not yet supported in YugabyteDB", "SqlStatement": "ALTER TABLE production.culture CLUSTER ON \"PK_Culture_CultureID\";", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/adventureworks/export-dir/schema/tables/table.sql", "Suggestion": "Remove it from the exported schema.", @@ -397,7 +397,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "production.document", - "Reason": "ALTER TABLE CLUSTER not supported yet.", + "Reason": "ALTER TABLE CLUSTER is not yet supported in YugabyteDB", "SqlStatement": "ALTER TABLE production.document CLUSTER ON \"PK_Document_DocumentNode\";", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/adventureworks/export-dir/schema/tables/table.sql", "Suggestion": "Remove it from the exported schema.", @@ -409,7 +409,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "production.illustration", - "Reason": "ALTER TABLE CLUSTER not supported yet.", + "Reason": "ALTER TABLE CLUSTER is not yet supported in YugabyteDB", "SqlStatement": "ALTER TABLE production.illustration CLUSTER ON \"PK_Illustration_IllustrationID\";", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/adventureworks/export-dir/schema/tables/table.sql", "Suggestion": "Remove it from the exported schema.", @@ -421,7 +421,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "production.location", - "Reason": "ALTER TABLE CLUSTER not supported yet.", + "Reason": "ALTER TABLE CLUSTER is not yet supported in YugabyteDB", "SqlStatement": "ALTER TABLE production.location CLUSTER ON \"PK_Location_LocationID\";", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/adventureworks/export-dir/schema/tables/table.sql", "Suggestion": "Remove it from the exported schema.", @@ -433,7 +433,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "production.productcategory", - "Reason": "ALTER TABLE CLUSTER not supported yet.", + "Reason": "ALTER TABLE CLUSTER is not yet supported in YugabyteDB", "SqlStatement": "ALTER TABLE production.productcategory CLUSTER ON \"PK_ProductCategory_ProductCategoryID\";", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/adventureworks/export-dir/schema/tables/table.sql", "Suggestion": "Remove it from the exported schema.", @@ -445,7 +445,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "production.productcosthistory", - "Reason": "ALTER TABLE CLUSTER not supported yet.", + "Reason": "ALTER TABLE CLUSTER is not yet supported in YugabyteDB", "SqlStatement": "ALTER TABLE production.productcosthistory CLUSTER ON \"PK_ProductCostHistory_ProductID_StartDate\";", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/adventureworks/export-dir/schema/tables/table.sql", "Suggestion": "Remove it from the exported schema.", @@ -457,7 +457,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "production.productdescription", - "Reason": "ALTER TABLE CLUSTER not supported yet.", + "Reason": "ALTER TABLE CLUSTER is not yet supported in YugabyteDB", "SqlStatement": "ALTER TABLE production.productdescription CLUSTER ON \"PK_ProductDescription_ProductDescriptionID\";", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/adventureworks/export-dir/schema/tables/table.sql", "Suggestion": "Remove it from the exported schema.", @@ -469,7 +469,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "production.productdocument", - "Reason": "ALTER TABLE CLUSTER not supported yet.", + "Reason": "ALTER TABLE CLUSTER is not yet supported in YugabyteDB", "SqlStatement": "ALTER TABLE production.productdocument CLUSTER ON \"PK_ProductDocument_ProductID_DocumentNode\";", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/adventureworks/export-dir/schema/tables/table.sql", "Suggestion": "Remove it from the exported schema.", @@ -481,7 +481,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "production.productinventory", - "Reason": "ALTER TABLE CLUSTER not supported yet.", + "Reason": "ALTER TABLE CLUSTER is not yet supported in YugabyteDB", "SqlStatement": "ALTER TABLE production.productinventory CLUSTER ON \"PK_ProductInventory_ProductID_LocationID\";", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/adventureworks/export-dir/schema/tables/table.sql", "Suggestion": "Remove it from the exported schema.", @@ -493,7 +493,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "production.productlistpricehistory", - "Reason": "ALTER TABLE CLUSTER not supported yet.", + "Reason": "ALTER TABLE CLUSTER is not yet supported in YugabyteDB", "SqlStatement": "ALTER TABLE production.productlistpricehistory CLUSTER ON \"PK_ProductListPriceHistory_ProductID_StartDate\";", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/adventureworks/export-dir/schema/tables/table.sql", "Suggestion": "Remove it from the exported schema.", @@ -505,7 +505,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "production.productmodelillustration", - "Reason": "ALTER TABLE CLUSTER not supported yet.", + "Reason": "ALTER TABLE CLUSTER is not yet supported in YugabyteDB", "SqlStatement": "ALTER TABLE production.productmodelillustration CLUSTER ON \"PK_ProductModelIllustration_ProductModelID_IllustrationID\";", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/adventureworks/export-dir/schema/tables/table.sql", "Suggestion": "Remove it from the exported schema.", @@ -517,7 +517,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "production.productmodelproductdescriptionculture", - "Reason": "ALTER TABLE CLUSTER not supported yet.", + "Reason": "ALTER TABLE CLUSTER is not yet supported in YugabyteDB", "SqlStatement": "ALTER TABLE production.productmodelproductdescriptionculture CLUSTER ON \"PK_ProductModelProductDescriptionCulture_ProductModelID_Product\";", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/adventureworks/export-dir/schema/tables/table.sql", "Suggestion": "Remove it from the exported schema.", @@ -529,7 +529,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "production.productmodel", - "Reason": "ALTER TABLE CLUSTER not supported yet.", + "Reason": "ALTER TABLE CLUSTER is not yet supported in YugabyteDB", "SqlStatement": "ALTER TABLE production.productmodel CLUSTER ON \"PK_ProductModel_ProductModelID\";", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/adventureworks/export-dir/schema/tables/table.sql", "Suggestion": "Remove it from the exported schema.", @@ -541,7 +541,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "production.productphoto", - "Reason": "ALTER TABLE CLUSTER not supported yet.", + "Reason": "ALTER TABLE CLUSTER is not yet supported in YugabyteDB", "SqlStatement": "ALTER TABLE production.productphoto CLUSTER ON \"PK_ProductPhoto_ProductPhotoID\";", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/adventureworks/export-dir/schema/tables/table.sql", "Suggestion": "Remove it from the exported schema.", @@ -553,7 +553,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "production.productreview", - "Reason": "ALTER TABLE CLUSTER not supported yet.", + "Reason": "ALTER TABLE CLUSTER is not yet supported in YugabyteDB", "SqlStatement": "ALTER TABLE production.productreview CLUSTER ON \"PK_ProductReview_ProductReviewID\";", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/adventureworks/export-dir/schema/tables/table.sql", "Suggestion": "Remove it from the exported schema.", @@ -565,7 +565,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "production.productsubcategory", - "Reason": "ALTER TABLE CLUSTER not supported yet.", + "Reason": "ALTER TABLE CLUSTER is not yet supported in YugabyteDB", "SqlStatement": "ALTER TABLE production.productsubcategory CLUSTER ON \"PK_ProductSubcategory_ProductSubcategoryID\";", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/adventureworks/export-dir/schema/tables/table.sql", "Suggestion": "Remove it from the exported schema.", @@ -577,7 +577,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "production.product", - "Reason": "ALTER TABLE CLUSTER not supported yet.", + "Reason": "ALTER TABLE CLUSTER is not yet supported in YugabyteDB", "SqlStatement": "ALTER TABLE production.product CLUSTER ON \"PK_Product_ProductID\";", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/adventureworks/export-dir/schema/tables/table.sql", "Suggestion": "Remove it from the exported schema.", @@ -589,7 +589,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "production.scrapreason", - "Reason": "ALTER TABLE CLUSTER not supported yet.", + "Reason": "ALTER TABLE CLUSTER is not yet supported in YugabyteDB", "SqlStatement": "ALTER TABLE production.scrapreason CLUSTER ON \"PK_ScrapReason_ScrapReasonID\";", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/adventureworks/export-dir/schema/tables/table.sql", "Suggestion": "Remove it from the exported schema.", @@ -601,7 +601,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "production.transactionhistoryarchive", - "Reason": "ALTER TABLE CLUSTER not supported yet.", + "Reason": "ALTER TABLE CLUSTER is not yet supported in YugabyteDB", "SqlStatement": "ALTER TABLE production.transactionhistoryarchive CLUSTER ON \"PK_TransactionHistoryArchive_TransactionID\";", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/adventureworks/export-dir/schema/tables/table.sql", "Suggestion": "Remove it from the exported schema.", @@ -613,7 +613,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "production.transactionhistory", - "Reason": "ALTER TABLE CLUSTER not supported yet.", + "Reason": "ALTER TABLE CLUSTER is not yet supported in YugabyteDB", "SqlStatement": "ALTER TABLE production.transactionhistory CLUSTER ON \"PK_TransactionHistory_TransactionID\";", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/adventureworks/export-dir/schema/tables/table.sql", "Suggestion": "Remove it from the exported schema.", @@ -625,7 +625,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "production.unitmeasure", - "Reason": "ALTER TABLE CLUSTER not supported yet.", + "Reason": "ALTER TABLE CLUSTER is not yet supported in YugabyteDB", "SqlStatement": "ALTER TABLE production.unitmeasure CLUSTER ON \"PK_UnitMeasure_UnitMeasureCode\";", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/adventureworks/export-dir/schema/tables/table.sql", "Suggestion": "Remove it from the exported schema.", @@ -637,7 +637,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "production.workorderrouting", - "Reason": "ALTER TABLE CLUSTER not supported yet.", + "Reason": "ALTER TABLE CLUSTER is not yet supported in YugabyteDB", "SqlStatement": "ALTER TABLE production.workorderrouting CLUSTER ON \"PK_WorkOrderRouting_WorkOrderID_ProductID_OperationSequence\";", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/adventureworks/export-dir/schema/tables/table.sql", "Suggestion": "Remove it from the exported schema.", @@ -649,7 +649,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "production.workorder", - "Reason": "ALTER TABLE CLUSTER not supported yet.", + "Reason": "ALTER TABLE CLUSTER is not yet supported in YugabyteDB", "SqlStatement": "ALTER TABLE production.workorder CLUSTER ON \"PK_WorkOrder_WorkOrderID\";", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/adventureworks/export-dir/schema/tables/table.sql", "Suggestion": "Remove it from the exported schema.", @@ -661,7 +661,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "purchasing.productvendor", - "Reason": "ALTER TABLE CLUSTER not supported yet.", + "Reason": "ALTER TABLE CLUSTER is not yet supported in YugabyteDB", "SqlStatement": "ALTER TABLE purchasing.productvendor CLUSTER ON \"PK_ProductVendor_ProductID_BusinessEntityID\";", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/adventureworks/export-dir/schema/tables/table.sql", "Suggestion": "Remove it from the exported schema.", @@ -673,7 +673,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "purchasing.purchaseorderdetail", - "Reason": "ALTER TABLE CLUSTER not supported yet.", + "Reason": "ALTER TABLE CLUSTER is not yet supported in YugabyteDB", "SqlStatement": "ALTER TABLE purchasing.purchaseorderdetail CLUSTER ON \"PK_PurchaseOrderDetail_PurchaseOrderID_PurchaseOrderDetailID\";", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/adventureworks/export-dir/schema/tables/table.sql", "Suggestion": "Remove it from the exported schema.", @@ -685,7 +685,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "purchasing.purchaseorderheader", - "Reason": "ALTER TABLE CLUSTER not supported yet.", + "Reason": "ALTER TABLE CLUSTER is not yet supported in YugabyteDB", "SqlStatement": "ALTER TABLE purchasing.purchaseorderheader CLUSTER ON \"PK_PurchaseOrderHeader_PurchaseOrderID\";", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/adventureworks/export-dir/schema/tables/table.sql", "Suggestion": "Remove it from the exported schema.", @@ -697,7 +697,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "purchasing.shipmethod", - "Reason": "ALTER TABLE CLUSTER not supported yet.", + "Reason": "ALTER TABLE CLUSTER is not yet supported in YugabyteDB", "SqlStatement": "ALTER TABLE purchasing.shipmethod CLUSTER ON \"PK_ShipMethod_ShipMethodID\";", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/adventureworks/export-dir/schema/tables/table.sql", "Suggestion": "Remove it from the exported schema.", @@ -709,7 +709,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "purchasing.vendor", - "Reason": "ALTER TABLE CLUSTER not supported yet.", + "Reason": "ALTER TABLE CLUSTER is not yet supported in YugabyteDB", "SqlStatement": "ALTER TABLE purchasing.vendor CLUSTER ON \"PK_Vendor_BusinessEntityID\";", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/adventureworks/export-dir/schema/tables/table.sql", "Suggestion": "Remove it from the exported schema.", @@ -721,7 +721,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "sales.countryregioncurrency", - "Reason": "ALTER TABLE CLUSTER not supported yet.", + "Reason": "ALTER TABLE CLUSTER is not yet supported in YugabyteDB", "SqlStatement": "ALTER TABLE sales.countryregioncurrency CLUSTER ON \"PK_CountryRegionCurrency_CountryRegionCode_CurrencyCode\";", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/adventureworks/export-dir/schema/tables/table.sql", "Suggestion": "Remove it from the exported schema.", @@ -733,7 +733,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "sales.creditcard", - "Reason": "ALTER TABLE CLUSTER not supported yet.", + "Reason": "ALTER TABLE CLUSTER is not yet supported in YugabyteDB", "SqlStatement": "ALTER TABLE sales.creditcard CLUSTER ON \"PK_CreditCard_CreditCardID\";", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/adventureworks/export-dir/schema/tables/table.sql", "Suggestion": "Remove it from the exported schema.", @@ -745,7 +745,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "sales.currencyrate", - "Reason": "ALTER TABLE CLUSTER not supported yet.", + "Reason": "ALTER TABLE CLUSTER is not yet supported in YugabyteDB", "SqlStatement": "ALTER TABLE sales.currencyrate CLUSTER ON \"PK_CurrencyRate_CurrencyRateID\";", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/adventureworks/export-dir/schema/tables/table.sql", "Suggestion": "Remove it from the exported schema.", @@ -757,7 +757,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "sales.currency", - "Reason": "ALTER TABLE CLUSTER not supported yet.", + "Reason": "ALTER TABLE CLUSTER is not yet supported in YugabyteDB", "SqlStatement": "ALTER TABLE sales.currency CLUSTER ON \"PK_Currency_CurrencyCode\";", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/adventureworks/export-dir/schema/tables/table.sql", "Suggestion": "Remove it from the exported schema.", @@ -769,7 +769,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "sales.customer", - "Reason": "ALTER TABLE CLUSTER not supported yet.", + "Reason": "ALTER TABLE CLUSTER is not yet supported in YugabyteDB", "SqlStatement": "ALTER TABLE sales.customer CLUSTER ON \"PK_Customer_CustomerID\";", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/adventureworks/export-dir/schema/tables/table.sql", "Suggestion": "Remove it from the exported schema.", @@ -781,7 +781,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "sales.personcreditcard", - "Reason": "ALTER TABLE CLUSTER not supported yet.", + "Reason": "ALTER TABLE CLUSTER is not yet supported in YugabyteDB", "SqlStatement": "ALTER TABLE sales.personcreditcard CLUSTER ON \"PK_PersonCreditCard_BusinessEntityID_CreditCardID\";", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/adventureworks/export-dir/schema/tables/table.sql", "Suggestion": "Remove it from the exported schema.", @@ -793,7 +793,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "sales.salesorderdetail", - "Reason": "ALTER TABLE CLUSTER not supported yet.", + "Reason": "ALTER TABLE CLUSTER is not yet supported in YugabyteDB", "SqlStatement": "ALTER TABLE sales.salesorderdetail CLUSTER ON \"PK_SalesOrderDetail_SalesOrderID_SalesOrderDetailID\";", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/adventureworks/export-dir/schema/tables/table.sql", "Suggestion": "Remove it from the exported schema.", @@ -805,7 +805,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "sales.salesorderheadersalesreason", - "Reason": "ALTER TABLE CLUSTER not supported yet.", + "Reason": "ALTER TABLE CLUSTER is not yet supported in YugabyteDB", "SqlStatement": "ALTER TABLE sales.salesorderheadersalesreason CLUSTER ON \"PK_SalesOrderHeaderSalesReason_SalesOrderID_SalesReasonID\";", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/adventureworks/export-dir/schema/tables/table.sql", "Suggestion": "Remove it from the exported schema.", @@ -817,7 +817,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "sales.salesorderheader", - "Reason": "ALTER TABLE CLUSTER not supported yet.", + "Reason": "ALTER TABLE CLUSTER is not yet supported in YugabyteDB", "SqlStatement": "ALTER TABLE sales.salesorderheader CLUSTER ON \"PK_SalesOrderHeader_SalesOrderID\";", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/adventureworks/export-dir/schema/tables/table.sql", "Suggestion": "Remove it from the exported schema.", @@ -829,7 +829,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "sales.salespersonquotahistory", - "Reason": "ALTER TABLE CLUSTER not supported yet.", + "Reason": "ALTER TABLE CLUSTER is not yet supported in YugabyteDB", "SqlStatement": "ALTER TABLE sales.salespersonquotahistory CLUSTER ON \"PK_SalesPersonQuotaHistory_BusinessEntityID_QuotaDate\";", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/adventureworks/export-dir/schema/tables/table.sql", "Suggestion": "Remove it from the exported schema.", @@ -841,7 +841,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "sales.salesperson", - "Reason": "ALTER TABLE CLUSTER not supported yet.", + "Reason": "ALTER TABLE CLUSTER is not yet supported in YugabyteDB", "SqlStatement": "ALTER TABLE sales.salesperson CLUSTER ON \"PK_SalesPerson_BusinessEntityID\";", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/adventureworks/export-dir/schema/tables/table.sql", "Suggestion": "Remove it from the exported schema.", @@ -853,7 +853,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "sales.salesreason", - "Reason": "ALTER TABLE CLUSTER not supported yet.", + "Reason": "ALTER TABLE CLUSTER is not yet supported in YugabyteDB", "SqlStatement": "ALTER TABLE sales.salesreason CLUSTER ON \"PK_SalesReason_SalesReasonID\";", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/adventureworks/export-dir/schema/tables/table.sql", "Suggestion": "Remove it from the exported schema.", @@ -865,7 +865,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "sales.salestaxrate", - "Reason": "ALTER TABLE CLUSTER not supported yet.", + "Reason": "ALTER TABLE CLUSTER is not yet supported in YugabyteDB", "SqlStatement": "ALTER TABLE sales.salestaxrate CLUSTER ON \"PK_SalesTaxRate_SalesTaxRateID\";", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/adventureworks/export-dir/schema/tables/table.sql", "Suggestion": "Remove it from the exported schema.", @@ -877,7 +877,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "sales.salesterritoryhistory", - "Reason": "ALTER TABLE CLUSTER not supported yet.", + "Reason": "ALTER TABLE CLUSTER is not yet supported in YugabyteDB", "SqlStatement": "ALTER TABLE sales.salesterritoryhistory CLUSTER ON \"PK_SalesTerritoryHistory_BusinessEntityID_StartDate_TerritoryID\";", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/adventureworks/export-dir/schema/tables/table.sql", "Suggestion": "Remove it from the exported schema.", @@ -889,7 +889,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "sales.salesterritory", - "Reason": "ALTER TABLE CLUSTER not supported yet.", + "Reason": "ALTER TABLE CLUSTER is not yet supported in YugabyteDB", "SqlStatement": "ALTER TABLE sales.salesterritory CLUSTER ON \"PK_SalesTerritory_TerritoryID\";", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/adventureworks/export-dir/schema/tables/table.sql", "Suggestion": "Remove it from the exported schema.", @@ -901,7 +901,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "sales.shoppingcartitem", - "Reason": "ALTER TABLE CLUSTER not supported yet.", + "Reason": "ALTER TABLE CLUSTER is not yet supported in YugabyteDB", "SqlStatement": "ALTER TABLE sales.shoppingcartitem CLUSTER ON \"PK_ShoppingCartItem_ShoppingCartItemID\";", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/adventureworks/export-dir/schema/tables/table.sql", "Suggestion": "Remove it from the exported schema.", @@ -913,7 +913,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "sales.specialofferproduct", - "Reason": "ALTER TABLE CLUSTER not supported yet.", + "Reason": "ALTER TABLE CLUSTER is not yet supported in YugabyteDB", "SqlStatement": "ALTER TABLE sales.specialofferproduct CLUSTER ON \"PK_SpecialOfferProduct_SpecialOfferID_ProductID\";", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/adventureworks/export-dir/schema/tables/table.sql", "Suggestion": "Remove it from the exported schema.", @@ -925,7 +925,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "sales.specialoffer", - "Reason": "ALTER TABLE CLUSTER not supported yet.", + "Reason": "ALTER TABLE CLUSTER is not yet supported in YugabyteDB", "SqlStatement": "ALTER TABLE sales.specialoffer CLUSTER ON \"PK_SpecialOffer_SpecialOfferID\";", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/adventureworks/export-dir/schema/tables/table.sql", "Suggestion": "Remove it from the exported schema.", @@ -937,7 +937,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "sales.store", - "Reason": "ALTER TABLE CLUSTER not supported yet.", + "Reason": "ALTER TABLE CLUSTER is not yet supported in YugabyteDB", "SqlStatement": "ALTER TABLE sales.store CLUSTER ON \"PK_Store_BusinessEntityID\";", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/adventureworks/export-dir/schema/tables/table.sql", "Suggestion": "Remove it from the exported schema.", @@ -949,7 +949,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "person.vstateprovincecountryregion", - "Reason": "ALTER TABLE CLUSTER not supported yet.", + "Reason": "ALTER TABLE CLUSTER is not yet supported in YugabyteDB", "SqlStatement": "ALTER TABLE person.vstateprovincecountryregion CLUSTER ON ix_vstateprovincecountryregion;", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/adventureworks/export-dir/schema/tables/INDEXES_table.sql", "Suggestion": "Remove it from the exported schema.", @@ -961,7 +961,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "production.vproductanddescription", - "Reason": "ALTER TABLE CLUSTER not supported yet.", + "Reason": "ALTER TABLE CLUSTER is not yet supported in YugabyteDB", "SqlStatement": "ALTER TABLE production.vproductanddescription CLUSTER ON ix_vproductanddescription;", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/adventureworks/export-dir/schema/tables/INDEXES_table.sql", "Suggestion": "Remove it from the exported schema.", @@ -973,7 +973,7 @@ "IssueType": "unsupported_features", "ObjectType": "VIEW", "ObjectName": "humanresources.vjobcandidate", - "Reason": "XML Functions", + "Reason": "XML functions are not yet supported in YugabyteDB", "SqlStatement": "CREATE VIEW humanresources.vjobcandidate AS\n SELECT jobcandidateid,\n businessentityid,\n ((xpath('/n:Resume/n:Name/n:Name.Prefix/text()'::text, resume, '{{n,http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/Resume}}'::text[]))[1])::character varying(30) AS \"Name.Prefix\",\n ((xpath('/n:Resume/n:Name/n:Name.First/text()'::text, resume, '{{n,http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/Resume}}'::text[]))[1])::character varying(30) AS \"Name.First\",\n ((xpath('/n:Resume/n:Name/n:Name.Middle/text()'::text, resume, '{{n,http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/Resume}}'::text[]))[1])::character varying(30) AS \"Name.Middle\",\n ((xpath('/n:Resume/n:Name/n:Name.Last/text()'::text, resume, '{{n,http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/Resume}}'::text[]))[1])::character varying(30) AS \"Name.Last\",\n ((xpath('/n:Resume/n:Name/n:Name.Suffix/text()'::text, resume, '{{n,http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/Resume}}'::text[]))[1])::character varying(30) AS \"Name.Suffix\",\n ((xpath('/n:Resume/n:Skills/text()'::text, resume, '{{n,http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/Resume}}'::text[]))[1])::character varying AS \"Skills\",\n ((xpath('n:Address/n:Addr.Type/text()'::text, resume, '{{n,http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/Resume}}'::text[]))[1])::character varying(30) AS \"Addr.Type\",\n ((xpath('n:Address/n:Addr.Location/n:Location/n:Loc.CountryRegion/text()'::text, resume, '{{n,http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/Resume}}'::text[]))[1])::character varying(100) AS \"Addr.Loc.CountryRegion\",\n ((xpath('n:Address/n:Addr.Location/n:Location/n:Loc.State/text()'::text, resume, '{{n,http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/Resume}}'::text[]))[1])::character varying(100) AS \"Addr.Loc.State\",\n ((xpath('n:Address/n:Addr.Location/n:Location/n:Loc.City/text()'::text, resume, '{{n,http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/Resume}}'::text[]))[1])::character varying(100) AS \"Addr.Loc.City\",\n ((xpath('n:Address/n:Addr.PostalCode/text()'::text, resume, '{{n,http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/Resume}}'::text[]))[1])::character varying(20) AS \"Addr.PostalCode\",\n ((xpath('/n:Resume/n:EMail/text()'::text, resume, '{{n,http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/Resume}}'::text[]))[1])::character varying AS \"EMail\",\n ((xpath('/n:Resume/n:WebSite/text()'::text, resume, '{{n,http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/Resume}}'::text[]))[1])::character varying AS \"WebSite\",\n modifieddate\n FROM humanresources.jobcandidate;", "FilePath": "/Users/priyanshigupta/Documents/voyager/yb-voyager/migtests/tests/pg/adventureworks/export-dir/schema/views/view.sql", "Suggestion": "", @@ -985,7 +985,7 @@ "IssueType": "unsupported_features", "ObjectType": "VIEW", "ObjectName": "humanresources.vjobcandidateeducation", - "Reason": "XML Functions", + "Reason": "XML functions are not yet supported in YugabyteDB", "SqlStatement": "CREATE VIEW humanresources.vjobcandidateeducation AS\n SELECT jobcandidateid,\n ((xpath('/root/ns:Education/ns:Edu.Level/text()'::text, doc, '{{ns,http://adventureworks.com}}'::text[]))[1])::character varying(50) AS \"Edu.Level\",\n (((xpath('/root/ns:Education/ns:Edu.StartDate/text()'::text, doc, '{{ns,http://adventureworks.com}}'::text[]))[1])::character varying(20))::date AS \"Edu.StartDate\",\n (((xpath('/root/ns:Education/ns:Edu.EndDate/text()'::text, doc, '{{ns,http://adventureworks.com}}'::text[]))[1])::character varying(20))::date AS \"Edu.EndDate\",\n ((xpath('/root/ns:Education/ns:Edu.Degree/text()'::text, doc, '{{ns,http://adventureworks.com}}'::text[]))[1])::character varying(50) AS \"Edu.Degree\",\n ((xpath('/root/ns:Education/ns:Edu.Major/text()'::text, doc, '{{ns,http://adventureworks.com}}'::text[]))[1])::character varying(50) AS \"Edu.Major\",\n ((xpath('/root/ns:Education/ns:Edu.Minor/text()'::text, doc, '{{ns,http://adventureworks.com}}'::text[]))[1])::character varying(50) AS \"Edu.Minor\",\n ((xpath('/root/ns:Education/ns:Edu.GPA/text()'::text, doc, '{{ns,http://adventureworks.com}}'::text[]))[1])::character varying(5) AS \"Edu.GPA\",\n ((xpath('/root/ns:Education/ns:Edu.GPAScale/text()'::text, doc, '{{ns,http://adventureworks.com}}'::text[]))[1])::character varying(5) AS \"Edu.GPAScale\",\n ((xpath('/root/ns:Education/ns:Edu.School/text()'::text, doc, '{{ns,http://adventureworks.com}}'::text[]))[1])::character varying(100) AS \"Edu.School\",\n ((xpath('/root/ns:Education/ns:Edu.Location/ns:Location/ns:Loc.CountryRegion/text()'::text, doc, '{{ns,http://adventureworks.com}}'::text[]))[1])::character varying(100) AS \"Edu.Loc.CountryRegion\",\n ((xpath('/root/ns:Education/ns:Edu.Location/ns:Location/ns:Loc.State/text()'::text, doc, '{{ns,http://adventureworks.com}}'::text[]))[1])::character varying(100) AS \"Edu.Loc.State\",\n ((xpath('/root/ns:Education/ns:Edu.Location/ns:Location/ns:Loc.City/text()'::text, doc, '{{ns,http://adventureworks.com}}'::text[]))[1])::character varying(100) AS \"Edu.Loc.City\"\n FROM ( SELECT unnesting.jobcandidateid,\n ((('\u003croot xmlns:ns=\"http://adventureworks.com\"\u003e'::text || ((unnesting.education)::character varying)::text) || '\u003c/root\u003e'::text))::xml AS doc\n FROM ( SELECT jobcandidate.jobcandidateid,\n unnest(xpath('/ns:Resume/ns:Education'::text, jobcandidate.resume, '{{ns,http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/Resume}}'::text[])) AS education\n FROM humanresources.jobcandidate) unnesting) jc;", "FilePath": "/Users/priyanshigupta/Documents/voyager/yb-voyager/migtests/tests/pg/adventureworks/export-dir/schema/views/view.sql", "Suggestion": "", @@ -997,7 +997,7 @@ "IssueType": "unsupported_features", "ObjectType": "VIEW", "ObjectName": "humanresources.vjobcandidateemployment", - "Reason": "XML Functions", + "Reason": "XML functions are not yet supported in YugabyteDB", "SqlStatement": "CREATE VIEW humanresources.vjobcandidateemployment AS\n SELECT jobcandidateid,\n ((unnest(xpath('/ns:Resume/ns:Employment/ns:Emp.StartDate/text()'::text, resume, '{{ns,http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/Resume}}'::text[])))::character varying(20))::date AS \"Emp.StartDate\",\n ((unnest(xpath('/ns:Resume/ns:Employment/ns:Emp.EndDate/text()'::text, resume, '{{ns,http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/Resume}}'::text[])))::character varying(20))::date AS \"Emp.EndDate\",\n (unnest(xpath('/ns:Resume/ns:Employment/ns:Emp.OrgName/text()'::text, resume, '{{ns,http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/Resume}}'::text[])))::character varying(100) AS \"Emp.OrgName\",\n (unnest(xpath('/ns:Resume/ns:Employment/ns:Emp.JobTitle/text()'::text, resume, '{{ns,http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/Resume}}'::text[])))::character varying(100) AS \"Emp.JobTitle\",\n (unnest(xpath('/ns:Resume/ns:Employment/ns:Emp.Responsibility/text()'::text, resume, '{{ns,http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/Resume}}'::text[])))::character varying AS \"Emp.Responsibility\",\n (unnest(xpath('/ns:Resume/ns:Employment/ns:Emp.FunctionCategory/text()'::text, resume, '{{ns,http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/Resume}}'::text[])))::character varying AS \"Emp.FunctionCategory\",\n (unnest(xpath('/ns:Resume/ns:Employment/ns:Emp.IndustryCategory/text()'::text, resume, '{{ns,http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/Resume}}'::text[])))::character varying AS \"Emp.IndustryCategory\",\n (unnest(xpath('/ns:Resume/ns:Employment/ns:Emp.Location/ns:Location/ns:Loc.CountryRegion/text()'::text, resume, '{{ns,http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/Resume}}'::text[])))::character varying AS \"Emp.Loc.CountryRegion\",\n (unnest(xpath('/ns:Resume/ns:Employment/ns:Emp.Location/ns:Location/ns:Loc.State/text()'::text, resume, '{{ns,http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/Resume}}'::text[])))::character varying AS \"Emp.Loc.State\",\n (unnest(xpath('/ns:Resume/ns:Employment/ns:Emp.Location/ns:Location/ns:Loc.City/text()'::text, resume, '{{ns,http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/Resume}}'::text[])))::character varying AS \"Emp.Loc.City\"\n FROM humanresources.jobcandidate;", "FilePath": "/Users/priyanshigupta/Documents/voyager/yb-voyager/migtests/tests/pg/adventureworks/export-dir/schema/views/view.sql", "Suggestion": "", @@ -1009,7 +1009,7 @@ "IssueType": "unsupported_features", "ObjectType": "VIEW", "ObjectName": "person.vadditionalcontactinfo", - "Reason": "XML Functions", + "Reason": "XML functions are not yet supported in YugabyteDB", "SqlStatement": "CREATE VIEW person.vadditionalcontactinfo AS\n SELECT p.businessentityid,\n p.firstname,\n p.middlename,\n p.lastname,\n (xpath('(act:telephoneNumber)[1]/act:number/text()'::text, additional.node, '{{act,http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/ContactTypes}}'::text[]))[1] AS telephonenumber,\n btrim((((xpath('(act:telephoneNumber)[1]/act:SpecialInstructions/text()'::text, additional.node, '{{act,http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/ContactTypes}}'::text[]))[1])::character varying)::text) AS telephonespecialinstructions,\n (xpath('(act:homePostalAddress)[1]/act:Street/text()'::text, additional.node, '{{act,http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/ContactTypes}}'::text[]))[1] AS street,\n (xpath('(act:homePostalAddress)[1]/act:City/text()'::text, additional.node, '{{act,http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/ContactTypes}}'::text[]))[1] AS city,\n (xpath('(act:homePostalAddress)[1]/act:StateProvince/text()'::text, additional.node, '{{act,http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/ContactTypes}}'::text[]))[1] AS stateprovince,\n (xpath('(act:homePostalAddress)[1]/act:PostalCode/text()'::text, additional.node, '{{act,http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/ContactTypes}}'::text[]))[1] AS postalcode,\n (xpath('(act:homePostalAddress)[1]/act:CountryRegion/text()'::text, additional.node, '{{act,http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/ContactTypes}}'::text[]))[1] AS countryregion,\n (xpath('(act:homePostalAddress)[1]/act:SpecialInstructions/text()'::text, additional.node, '{{act,http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/ContactTypes}}'::text[]))[1] AS homeaddressspecialinstructions,\n (xpath('(act:eMail)[1]/act:eMailAddress/text()'::text, additional.node, '{{act,http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/ContactTypes}}'::text[]))[1] AS emailaddress,\n btrim((((xpath('(act:eMail)[1]/act:SpecialInstructions/text()'::text, additional.node, '{{act,http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/ContactTypes}}'::text[]))[1])::character varying)::text) AS emailspecialinstructions,\n (xpath('((act:eMail)[1]/act:SpecialInstructions/act:telephoneNumber)[1]/act:number/text()'::text, additional.node, '{{act,http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/ContactTypes}}'::text[]))[1] AS emailtelephonenumber,\n p.rowguid,\n p.modifieddate\n FROM (person.person p\n LEFT JOIN ( SELECT person.businessentityid,\n unnest(xpath('/ci:AdditionalContactInfo'::text, person.additionalcontactinfo, '{{ci,http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/ContactInfo}}'::text[])) AS node\n FROM person.person\n WHERE (person.additionalcontactinfo IS NOT NULL)) additional ON ((p.businessentityid = additional.businessentityid)));", "FilePath": "/Users/priyanshigupta/Documents/voyager/yb-voyager/migtests/tests/pg/adventureworks/export-dir/schema/views/view.sql", "Suggestion": "", @@ -1021,7 +1021,7 @@ "IssueType": "unsupported_features", "ObjectType": "VIEW", "ObjectName": "production.vproductmodelcatalogdescription", - "Reason": "XML Functions", + "Reason": "XML functions are not yet supported in YugabyteDB", "SqlStatement": "CREATE VIEW production.vproductmodelcatalogdescription AS\n SELECT productmodelid,\n name,\n ((xpath('/p1:ProductDescription/p1:Summary/html:p/text()'::text, catalogdescription, '{{p1,http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/ProductModelDescription},{html,http://www.w3.org/1999/xhtml}}'::text[]))[1])::character varying AS \"Summary\",\n ((xpath('/p1:ProductDescription/p1:Manufacturer/p1:Name/text()'::text, catalogdescription, '{{p1,http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/ProductModelDescription}}'::text[]))[1])::character varying AS manufacturer,\n ((xpath('/p1:ProductDescription/p1:Manufacturer/p1:Copyright/text()'::text, catalogdescription, '{{p1,http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/ProductModelDescription}}'::text[]))[1])::character varying(30) AS copyright,\n ((xpath('/p1:ProductDescription/p1:Manufacturer/p1:ProductURL/text()'::text, catalogdescription, '{{p1,http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/ProductModelDescription}}'::text[]))[1])::character varying(256) AS producturl,\n ((xpath('/p1:ProductDescription/p1:Features/wm:Warranty/wm:WarrantyPeriod/text()'::text, catalogdescription, '{{p1,http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/ProductModelDescription},{wm,http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/ProductModelWarrAndMain}}'::text[]))[1])::character varying(256) AS warrantyperiod,\n ((xpath('/p1:ProductDescription/p1:Features/wm:Warranty/wm:Description/text()'::text, catalogdescription, '{{p1,http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/ProductModelDescription},{wm,http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/ProductModelWarrAndMain}}'::text[]))[1])::character varying(256) AS warrantydescription,\n ((xpath('/p1:ProductDescription/p1:Features/wm:Maintenance/wm:NoOfYears/text()'::text, catalogdescription, '{{p1,http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/ProductModelDescription},{wm,http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/ProductModelWarrAndMain}}'::text[]))[1])::character varying(256) AS noofyears,\n ((xpath('/p1:ProductDescription/p1:Features/wm:Maintenance/wm:Description/text()'::text, catalogdescription, '{{p1,http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/ProductModelDescription},{wm,http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/ProductModelWarrAndMain}}'::text[]))[1])::character varying(256) AS maintenancedescription,\n ((xpath('/p1:ProductDescription/p1:Features/wf:wheel/text()'::text, catalogdescription, '{{p1,http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/ProductModelDescription},{wf,http://www.adventure-works.com/schemas/OtherFeatures}}'::text[]))[1])::character varying(256) AS wheel,\n ((xpath('/p1:ProductDescription/p1:Features/wf:saddle/text()'::text, catalogdescription, '{{p1,http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/ProductModelDescription},{wf,http://www.adventure-works.com/schemas/OtherFeatures}}'::text[]))[1])::character varying(256) AS saddle,\n ((xpath('/p1:ProductDescription/p1:Features/wf:pedal/text()'::text, catalogdescription, '{{p1,http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/ProductModelDescription},{wf,http://www.adventure-works.com/schemas/OtherFeatures}}'::text[]))[1])::character varying(256) AS pedal,\n ((xpath('/p1:ProductDescription/p1:Features/wf:BikeFrame/text()'::text, catalogdescription, '{{p1,http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/ProductModelDescription},{wf,http://www.adventure-works.com/schemas/OtherFeatures}}'::text[]))[1])::character varying AS bikeframe,\n ((xpath('/p1:ProductDescription/p1:Features/wf:crankset/text()'::text, catalogdescription, '{{p1,http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/ProductModelDescription},{wf,http://www.adventure-works.com/schemas/OtherFeatures}}'::text[]))[1])::character varying(256) AS crankset,\n ((xpath('/p1:ProductDescription/p1:Picture/p1:Angle/text()'::text, catalogdescription, '{{p1,http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/ProductModelDescription}}'::text[]))[1])::character varying(256) AS pictureangle,\n ((xpath('/p1:ProductDescription/p1:Picture/p1:Size/text()'::text, catalogdescription, '{{p1,http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/ProductModelDescription}}'::text[]))[1])::character varying(256) AS picturesize,\n ((xpath('/p1:ProductDescription/p1:Picture/p1:ProductPhotoID/text()'::text, catalogdescription, '{{p1,http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/ProductModelDescription}}'::text[]))[1])::character varying(256) AS productphotoid,\n ((xpath('/p1:ProductDescription/p1:Specifications/Material/text()'::text, catalogdescription, '{{p1,http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/ProductModelDescription}}'::text[]))[1])::character varying(256) AS material,\n ((xpath('/p1:ProductDescription/p1:Specifications/Color/text()'::text, catalogdescription, '{{p1,http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/ProductModelDescription}}'::text[]))[1])::character varying(256) AS color,\n ((xpath('/p1:ProductDescription/p1:Specifications/ProductLine/text()'::text, catalogdescription, '{{p1,http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/ProductModelDescription}}'::text[]))[1])::character varying(256) AS productline,\n ((xpath('/p1:ProductDescription/p1:Specifications/Style/text()'::text, catalogdescription, '{{p1,http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/ProductModelDescription}}'::text[]))[1])::character varying(256) AS style,\n ((xpath('/p1:ProductDescription/p1:Specifications/RiderExperience/text()'::text, catalogdescription, '{{p1,http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/ProductModelDescription}}'::text[]))[1])::character varying(1024) AS riderexperience,\n rowguid,\n modifieddate\n FROM production.productmodel\n WHERE (catalogdescription IS NOT NULL);", "FilePath": "/Users/priyanshigupta/Documents/voyager/yb-voyager/migtests/tests/pg/adventureworks/export-dir/schema/views/view.sql", "Suggestion": "", @@ -1033,7 +1033,7 @@ "IssueType": "unsupported_features", "ObjectType": "VIEW", "ObjectName": "production.vproductmodelinstructions", - "Reason": "XML Functions", + "Reason": "XML functions are not yet supported in YugabyteDB", "SqlStatement": "CREATE VIEW production.vproductmodelinstructions AS\n SELECT productmodelid,\n name,\n ((xpath('/ns:root/text()'::text, instructions, '{{ns,http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/ProductModelManuInstructions}}'::text[]))[1])::character varying AS instructions,\n (((xpath('@LocationID'::text, mfginstructions))[1])::character varying)::integer AS \"LocationID\",\n (((xpath('@SetupHours'::text, mfginstructions))[1])::character varying)::numeric(9,4) AS \"SetupHours\",\n (((xpath('@MachineHours'::text, mfginstructions))[1])::character varying)::numeric(9,4) AS \"MachineHours\",\n (((xpath('@LaborHours'::text, mfginstructions))[1])::character varying)::numeric(9,4) AS \"LaborHours\",\n (((xpath('@LotSize'::text, mfginstructions))[1])::character varying)::integer AS \"LotSize\",\n ((xpath('/step/text()'::text, step))[1])::character varying(1024) AS \"Step\",\n rowguid,\n modifieddate\n FROM ( SELECT locations.productmodelid,\n locations.name,\n locations.rowguid,\n locations.modifieddate,\n locations.instructions,\n locations.mfginstructions,\n unnest(xpath('step'::text, locations.mfginstructions)) AS step\n FROM ( SELECT productmodel.productmodelid,\n productmodel.name,\n productmodel.rowguid,\n productmodel.modifieddate,\n productmodel.instructions,\n unnest(xpath('/ns:root/ns:Location'::text, productmodel.instructions, '{{ns,http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/ProductModelManuInstructions}}'::text[])) AS mfginstructions\n FROM production.productmodel) locations) pm;", "FilePath": "/Users/priyanshigupta/Documents/voyager/yb-voyager/migtests/tests/pg/adventureworks/export-dir/schema/views/view.sql", "Suggestion": "", @@ -1045,7 +1045,7 @@ "IssueType": "unsupported_features", "ObjectType": "VIEW", "ObjectName": "sales.vpersondemographics", - "Reason": "XML Functions", + "Reason": "XML functions are not yet supported in YugabyteDB", "SqlStatement": "CREATE VIEW sales.vpersondemographics AS\n SELECT businessentityid,\n (((xpath('n:TotalPurchaseYTD/text()'::text, demographics, '{{n,http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/IndividualSurvey}}'::text[]))[1])::character varying)::money AS totalpurchaseytd,\n (((xpath('n:DateFirstPurchase/text()'::text, demographics, '{{n,http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/IndividualSurvey}}'::text[]))[1])::character varying)::date AS datefirstpurchase,\n (((xpath('n:BirthDate/text()'::text, demographics, '{{n,http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/IndividualSurvey}}'::text[]))[1])::character varying)::date AS birthdate,\n ((xpath('n:MaritalStatus/text()'::text, demographics, '{{n,http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/IndividualSurvey}}'::text[]))[1])::character varying(1) AS maritalstatus,\n ((xpath('n:YearlyIncome/text()'::text, demographics, '{{n,http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/IndividualSurvey}}'::text[]))[1])::character varying(30) AS yearlyincome,\n ((xpath('n:Gender/text()'::text, demographics, '{{n,http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/IndividualSurvey}}'::text[]))[1])::character varying(1) AS gender,\n (((xpath('n:TotalChildren/text()'::text, demographics, '{{n,http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/IndividualSurvey}}'::text[]))[1])::character varying)::integer AS totalchildren,\n (((xpath('n:NumberChildrenAtHome/text()'::text, demographics, '{{n,http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/IndividualSurvey}}'::text[]))[1])::character varying)::integer AS numberchildrenathome,\n ((xpath('n:Education/text()'::text, demographics, '{{n,http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/IndividualSurvey}}'::text[]))[1])::character varying(30) AS education,\n ((xpath('n:Occupation/text()'::text, demographics, '{{n,http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/IndividualSurvey}}'::text[]))[1])::character varying(30) AS occupation,\n (((xpath('n:HomeOwnerFlag/text()'::text, demographics, '{{n,http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/IndividualSurvey}}'::text[]))[1])::character varying)::boolean AS homeownerflag,\n (((xpath('n:NumberCarsOwned/text()'::text, demographics, '{{n,http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/IndividualSurvey}}'::text[]))[1])::character varying)::integer AS numbercarsowned\n FROM person.person\n WHERE (demographics IS NOT NULL);", "FilePath": "/Users/priyanshigupta/Documents/voyager/yb-voyager/migtests/tests/pg/adventureworks/export-dir/schema/views/view.sql", "Suggestion": "", @@ -1057,7 +1057,7 @@ "IssueType": "unsupported_features", "ObjectType": "VIEW", "ObjectName": "sales.vstorewithdemographics", - "Reason": "XML Functions", + "Reason": "XML functions are not yet supported in YugabyteDB", "SqlStatement": "CREATE VIEW sales.vstorewithdemographics AS\n SELECT businessentityid,\n name,\n ((unnest(xpath('/ns:StoreSurvey/ns:AnnualSales/text()'::text, demographics, '{{ns,http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/StoreSurvey}}'::text[])))::character varying)::money AS \"AnnualSales\",\n ((unnest(xpath('/ns:StoreSurvey/ns:AnnualRevenue/text()'::text, demographics, '{{ns,http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/StoreSurvey}}'::text[])))::character varying)::money AS \"AnnualRevenue\",\n (unnest(xpath('/ns:StoreSurvey/ns:BankName/text()'::text, demographics, '{{ns,http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/StoreSurvey}}'::text[])))::character varying(50) AS \"BankName\",\n (unnest(xpath('/ns:StoreSurvey/ns:BusinessType/text()'::text, demographics, '{{ns,http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/StoreSurvey}}'::text[])))::character varying(5) AS \"BusinessType\",\n ((unnest(xpath('/ns:StoreSurvey/ns:YearOpened/text()'::text, demographics, '{{ns,http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/StoreSurvey}}'::text[])))::character varying)::integer AS \"YearOpened\",\n (unnest(xpath('/ns:StoreSurvey/ns:Specialty/text()'::text, demographics, '{{ns,http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/StoreSurvey}}'::text[])))::character varying(50) AS \"Specialty\",\n ((unnest(xpath('/ns:StoreSurvey/ns:SquareFeet/text()'::text, demographics, '{{ns,http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/StoreSurvey}}'::text[])))::character varying)::integer AS \"SquareFeet\",\n (unnest(xpath('/ns:StoreSurvey/ns:Brands/text()'::text, demographics, '{{ns,http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/StoreSurvey}}'::text[])))::character varying(30) AS \"Brands\",\n (unnest(xpath('/ns:StoreSurvey/ns:Internet/text()'::text, demographics, '{{ns,http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/StoreSurvey}}'::text[])))::character varying(30) AS \"Internet\",\n ((unnest(xpath('/ns:StoreSurvey/ns:NumberEmployees/text()'::text, demographics, '{{ns,http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/StoreSurvey}}'::text[])))::character varying)::integer AS \"NumberEmployees\"\n FROM sales.store;", "FilePath": "/Users/priyanshigupta/Documents/voyager/yb-voyager/migtests/tests/pg/adventureworks/export-dir/schema/views/view.sql", "Suggestion": "", diff --git a/migtests/tests/pg/assessment-report-test/expectedAssessmentReport.json b/migtests/tests/pg/assessment-report-test/expectedAssessmentReport.json index bac1b1b592..8977b993c8 100644 --- a/migtests/tests/pg/assessment-report-test/expectedAssessmentReport.json +++ b/migtests/tests/pg/assessment-report-test/expectedAssessmentReport.json @@ -2902,7 +2902,7 @@ "MinimumVersionsFixedIn": null }, { - "FeatureName": "Referenced type declaration of variables", + "FeatureName": "Referencing type declaration of variables", "Objects": [ { "ObjectType": "FUNCTION", diff --git a/migtests/tests/pg/mgi/expected_files/expectedAssessmentReport.json b/migtests/tests/pg/mgi/expected_files/expectedAssessmentReport.json index c5d63e0270..dec13ac5f5 100644 --- a/migtests/tests/pg/mgi/expected_files/expectedAssessmentReport.json +++ b/migtests/tests/pg/mgi/expected_files/expectedAssessmentReport.json @@ -13420,7 +13420,7 @@ "UnsupportedQueryConstructs": null, "UnsupportedPlPgSqlObjects": [ { - "FeatureName": "Referenced type declaration of variables", + "FeatureName": "Referencing type declaration of variables", "Objects": [ { "ObjectType": "FUNCTION", diff --git a/migtests/tests/pg/mgi/expected_files/expected_schema_analysis_report.json b/migtests/tests/pg/mgi/expected_files/expected_schema_analysis_report.json index c5b66ad796..34c211ea20 100644 --- a/migtests/tests/pg/mgi/expected_files/expected_schema_analysis_report.json +++ b/migtests/tests/pg/mgi/expected_files/expected_schema_analysis_report.json @@ -57,7 +57,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "mgd.all_allele", - "Reason": "ALTER TABLE CLUSTER not supported yet.", + "Reason": "ALTER TABLE CLUSTER is not yet supported in YugabyteDB", "SqlStatement": "ALTER TABLE mgd.all_allele CLUSTER ON all_allele_pkey;", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/mgi/export-dir/schema/tables/table.sql", "Suggestion": "Remove it from the exported schema.", @@ -69,7 +69,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "mgd.all_cellline_derivation", - "Reason": "ALTER TABLE CLUSTER not supported yet.", + "Reason": "ALTER TABLE CLUSTER is not yet supported in YugabyteDB", "SqlStatement": "ALTER TABLE mgd.all_cellline_derivation CLUSTER ON all_cellline_derivation_pkey;", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/mgi/export-dir/schema/tables/table.sql", "Suggestion": "Remove it from the exported schema.", @@ -81,7 +81,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "mgd.all_label", - "Reason": "ALTER TABLE CLUSTER not supported yet.", + "Reason": "ALTER TABLE CLUSTER is not yet supported in YugabyteDB", "SqlStatement": "ALTER TABLE mgd.all_label CLUSTER ON all_label_pkey;", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/mgi/export-dir/schema/tables/table.sql", "Suggestion": "Remove it from the exported schema.", @@ -93,7 +93,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "mgd.bib_books", - "Reason": "ALTER TABLE CLUSTER not supported yet.", + "Reason": "ALTER TABLE CLUSTER is not yet supported in YugabyteDB", "SqlStatement": "ALTER TABLE mgd.bib_books CLUSTER ON bib_books_pkey;", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/mgi/export-dir/schema/tables/table.sql", "Suggestion": "Remove it from the exported schema.", @@ -105,7 +105,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "mgd.bib_citation_cache", - "Reason": "ALTER TABLE CLUSTER not supported yet.", + "Reason": "ALTER TABLE CLUSTER is not yet supported in YugabyteDB", "SqlStatement": "ALTER TABLE mgd.bib_citation_cache CLUSTER ON bib_citation_cache_pkey;", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/mgi/export-dir/schema/tables/table.sql", "Suggestion": "Remove it from the exported schema.", @@ -117,7 +117,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "mgd.bib_notes", - "Reason": "ALTER TABLE CLUSTER not supported yet.", + "Reason": "ALTER TABLE CLUSTER is not yet supported in YugabyteDB", "SqlStatement": "ALTER TABLE mgd.bib_notes CLUSTER ON bib_notes_pkey;", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/mgi/export-dir/schema/tables/table.sql", "Suggestion": "Remove it from the exported schema.", @@ -129,7 +129,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "mgd.bib_refs", - "Reason": "ALTER TABLE CLUSTER not supported yet.", + "Reason": "ALTER TABLE CLUSTER is not yet supported in YugabyteDB", "SqlStatement": "ALTER TABLE mgd.bib_refs CLUSTER ON bib_refs_pkey;", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/mgi/export-dir/schema/tables/table.sql", "Suggestion": "Remove it from the exported schema.", @@ -141,7 +141,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "mgd.bib_workflow_data", - "Reason": "ALTER TABLE CLUSTER not supported yet.", + "Reason": "ALTER TABLE CLUSTER is not yet supported in YugabyteDB", "SqlStatement": "ALTER TABLE mgd.bib_workflow_data CLUSTER ON bib_workflow_data_pkey;", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/mgi/export-dir/schema/tables/table.sql", "Suggestion": "Remove it from the exported schema.", @@ -153,7 +153,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "mgd.bib_workflow_relevance", - "Reason": "ALTER TABLE CLUSTER not supported yet.", + "Reason": "ALTER TABLE CLUSTER is not yet supported in YugabyteDB", "SqlStatement": "ALTER TABLE mgd.bib_workflow_relevance CLUSTER ON bib_workflow_relevance_pkey;", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/mgi/export-dir/schema/tables/table.sql", "Suggestion": "Remove it from the exported schema.", @@ -165,7 +165,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "mgd.bib_workflow_status", - "Reason": "ALTER TABLE CLUSTER not supported yet.", + "Reason": "ALTER TABLE CLUSTER is not yet supported in YugabyteDB", "SqlStatement": "ALTER TABLE mgd.bib_workflow_status CLUSTER ON bib_workflow_status_pkey;", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/mgi/export-dir/schema/tables/table.sql", "Suggestion": "Remove it from the exported schema.", @@ -177,7 +177,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "mgd.bib_workflow_tag", - "Reason": "ALTER TABLE CLUSTER not supported yet.", + "Reason": "ALTER TABLE CLUSTER is not yet supported in YugabyteDB", "SqlStatement": "ALTER TABLE mgd.bib_workflow_tag CLUSTER ON bib_workflow_tag_pkey;", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/mgi/export-dir/schema/tables/table.sql", "Suggestion": "Remove it from the exported schema.", @@ -189,7 +189,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "mgd.gxd_expression", - "Reason": "ALTER TABLE CLUSTER not supported yet.", + "Reason": "ALTER TABLE CLUSTER is not yet supported in YugabyteDB", "SqlStatement": "ALTER TABLE mgd.gxd_expression CLUSTER ON gxd_expression_pkey;", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/mgi/export-dir/schema/tables/table.sql", "Suggestion": "Remove it from the exported schema.", @@ -201,7 +201,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "mgd.mgi_keyvalue", - "Reason": "ALTER TABLE CLUSTER not supported yet.", + "Reason": "ALTER TABLE CLUSTER is not yet supported in YugabyteDB", "SqlStatement": "ALTER TABLE mgd.mgi_keyvalue CLUSTER ON mgi_keyvalue_pkey;", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/mgi/export-dir/schema/tables/table.sql", "Suggestion": "Remove it from the exported schema.", @@ -213,7 +213,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "mgd.mgi_note", - "Reason": "ALTER TABLE CLUSTER not supported yet.", + "Reason": "ALTER TABLE CLUSTER is not yet supported in YugabyteDB", "SqlStatement": "ALTER TABLE mgd.mgi_note CLUSTER ON mgi_note_pkey;", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/mgi/export-dir/schema/tables/table.sql", "Suggestion": "Remove it from the exported schema.", @@ -225,7 +225,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "mgd.mgi_relationship_category", - "Reason": "ALTER TABLE CLUSTER not supported yet.", + "Reason": "ALTER TABLE CLUSTER is not yet supported in YugabyteDB", "SqlStatement": "ALTER TABLE mgd.mgi_relationship_category CLUSTER ON mgi_relationship_category_pkey;", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/mgi/export-dir/schema/tables/table.sql", "Suggestion": "Remove it from the exported schema.", @@ -237,7 +237,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "mgd.mgi_relationship", - "Reason": "ALTER TABLE CLUSTER not supported yet.", + "Reason": "ALTER TABLE CLUSTER is not yet supported in YugabyteDB", "SqlStatement": "ALTER TABLE mgd.mgi_relationship CLUSTER ON mgi_relationship_pkey;", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/mgi/export-dir/schema/tables/table.sql", "Suggestion": "Remove it from the exported schema.", @@ -249,7 +249,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "mgd.mgi_relationship_property", - "Reason": "ALTER TABLE CLUSTER not supported yet.", + "Reason": "ALTER TABLE CLUSTER is not yet supported in YugabyteDB", "SqlStatement": "ALTER TABLE mgd.mgi_relationship_property CLUSTER ON mgi_relationship_property_pkey;", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/mgi/export-dir/schema/tables/table.sql", "Suggestion": "Remove it from the exported schema.", @@ -261,7 +261,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "mgd.mld_assay_types", - "Reason": "ALTER TABLE CLUSTER not supported yet.", + "Reason": "ALTER TABLE CLUSTER is not yet supported in YugabyteDB", "SqlStatement": "ALTER TABLE mgd.mld_assay_types CLUSTER ON mld_assay_types_pkey;", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/mgi/export-dir/schema/tables/table.sql", "Suggestion": "Remove it from the exported schema.", @@ -273,7 +273,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "mgd.mld_concordance", - "Reason": "ALTER TABLE CLUSTER not supported yet.", + "Reason": "ALTER TABLE CLUSTER is not yet supported in YugabyteDB", "SqlStatement": "ALTER TABLE mgd.mld_concordance CLUSTER ON mld_concordance_pkey;", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/mgi/export-dir/schema/tables/table.sql", "Suggestion": "Remove it from the exported schema.", @@ -285,7 +285,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "mgd.mld_contig", - "Reason": "ALTER TABLE CLUSTER not supported yet.", + "Reason": "ALTER TABLE CLUSTER is not yet supported in YugabyteDB", "SqlStatement": "ALTER TABLE mgd.mld_contig CLUSTER ON mld_contig_pkey;", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/mgi/export-dir/schema/tables/table.sql", "Suggestion": "Remove it from the exported schema.", @@ -297,7 +297,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "mgd.mld_contigprobe", - "Reason": "ALTER TABLE CLUSTER not supported yet.", + "Reason": "ALTER TABLE CLUSTER is not yet supported in YugabyteDB", "SqlStatement": "ALTER TABLE mgd.mld_contigprobe CLUSTER ON mld_contigprobe_pkey;", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/mgi/export-dir/schema/tables/table.sql", "Suggestion": "Remove it from the exported schema.", @@ -309,7 +309,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "mgd.mld_expt_marker", - "Reason": "ALTER TABLE CLUSTER not supported yet.", + "Reason": "ALTER TABLE CLUSTER is not yet supported in YugabyteDB", "SqlStatement": "ALTER TABLE mgd.mld_expt_marker CLUSTER ON mld_expt_marker_pkey;", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/mgi/export-dir/schema/tables/table.sql", "Suggestion": "Remove it from the exported schema.", @@ -321,7 +321,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "mgd.mld_expt_notes", - "Reason": "ALTER TABLE CLUSTER not supported yet.", + "Reason": "ALTER TABLE CLUSTER is not yet supported in YugabyteDB", "SqlStatement": "ALTER TABLE mgd.mld_expt_notes CLUSTER ON mld_expt_notes_pkey;", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/mgi/export-dir/schema/tables/table.sql", "Suggestion": "Remove it from the exported schema.", @@ -333,7 +333,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "mgd.mld_expts", - "Reason": "ALTER TABLE CLUSTER not supported yet.", + "Reason": "ALTER TABLE CLUSTER is not yet supported in YugabyteDB", "SqlStatement": "ALTER TABLE mgd.mld_expts CLUSTER ON mld_expts_pkey;", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/mgi/export-dir/schema/tables/table.sql", "Suggestion": "Remove it from the exported schema.", @@ -345,7 +345,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "mgd.mld_fish", - "Reason": "ALTER TABLE CLUSTER not supported yet.", + "Reason": "ALTER TABLE CLUSTER is not yet supported in YugabyteDB", "SqlStatement": "ALTER TABLE mgd.mld_fish CLUSTER ON mld_fish_pkey;", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/mgi/export-dir/schema/tables/table.sql", "Suggestion": "Remove it from the exported schema.", @@ -357,7 +357,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "mgd.mld_fish_region", - "Reason": "ALTER TABLE CLUSTER not supported yet.", + "Reason": "ALTER TABLE CLUSTER is not yet supported in YugabyteDB", "SqlStatement": "ALTER TABLE mgd.mld_fish_region CLUSTER ON mld_fish_region_pkey;", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/mgi/export-dir/schema/tables/table.sql", "Suggestion": "Remove it from the exported schema.", @@ -369,7 +369,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "mgd.mld_hit", - "Reason": "ALTER TABLE CLUSTER not supported yet.", + "Reason": "ALTER TABLE CLUSTER is not yet supported in YugabyteDB", "SqlStatement": "ALTER TABLE mgd.mld_hit CLUSTER ON mld_hit_pkey;", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/mgi/export-dir/schema/tables/table.sql", "Suggestion": "Remove it from the exported schema.", @@ -381,7 +381,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "mgd.mld_hybrid", - "Reason": "ALTER TABLE CLUSTER not supported yet.", + "Reason": "ALTER TABLE CLUSTER is not yet supported in YugabyteDB", "SqlStatement": "ALTER TABLE mgd.mld_hybrid CLUSTER ON mld_hybrid_pkey;", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/mgi/export-dir/schema/tables/table.sql", "Suggestion": "Remove it from the exported schema.", @@ -393,7 +393,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "mgd.mld_insitu", - "Reason": "ALTER TABLE CLUSTER not supported yet.", + "Reason": "ALTER TABLE CLUSTER is not yet supported in YugabyteDB", "SqlStatement": "ALTER TABLE mgd.mld_insitu CLUSTER ON mld_insitu_pkey;", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/mgi/export-dir/schema/tables/table.sql", "Suggestion": "Remove it from the exported schema.", @@ -405,7 +405,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "mgd.mld_isregion", - "Reason": "ALTER TABLE CLUSTER not supported yet.", + "Reason": "ALTER TABLE CLUSTER is not yet supported in YugabyteDB", "SqlStatement": "ALTER TABLE mgd.mld_isregion CLUSTER ON mld_isregion_pkey;", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/mgi/export-dir/schema/tables/table.sql", "Suggestion": "Remove it from the exported schema.", @@ -417,7 +417,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "mgd.mld_matrix", - "Reason": "ALTER TABLE CLUSTER not supported yet.", + "Reason": "ALTER TABLE CLUSTER is not yet supported in YugabyteDB", "SqlStatement": "ALTER TABLE mgd.mld_matrix CLUSTER ON mld_matrix_pkey;", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/mgi/export-dir/schema/tables/table.sql", "Suggestion": "Remove it from the exported schema.", @@ -429,7 +429,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "mgd.mld_mc2point", - "Reason": "ALTER TABLE CLUSTER not supported yet.", + "Reason": "ALTER TABLE CLUSTER is not yet supported in YugabyteDB", "SqlStatement": "ALTER TABLE mgd.mld_mc2point CLUSTER ON mld_mc2point_pkey;", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/mgi/export-dir/schema/tables/table.sql", "Suggestion": "Remove it from the exported schema.", @@ -441,7 +441,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "mgd.mld_mcdatalist", - "Reason": "ALTER TABLE CLUSTER not supported yet.", + "Reason": "ALTER TABLE CLUSTER is not yet supported in YugabyteDB", "SqlStatement": "ALTER TABLE mgd.mld_mcdatalist CLUSTER ON mld_mcdatalist_pkey;", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/mgi/export-dir/schema/tables/table.sql", "Suggestion": "Remove it from the exported schema.", @@ -453,7 +453,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "mgd.mld_notes", - "Reason": "ALTER TABLE CLUSTER not supported yet.", + "Reason": "ALTER TABLE CLUSTER is not yet supported in YugabyteDB", "SqlStatement": "ALTER TABLE mgd.mld_notes CLUSTER ON mld_notes_pkey;", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/mgi/export-dir/schema/tables/table.sql", "Suggestion": "Remove it from the exported schema.", @@ -465,7 +465,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "mgd.mld_ri2point", - "Reason": "ALTER TABLE CLUSTER not supported yet.", + "Reason": "ALTER TABLE CLUSTER is not yet supported in YugabyteDB", "SqlStatement": "ALTER TABLE mgd.mld_ri2point CLUSTER ON mld_ri2point_pkey;", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/mgi/export-dir/schema/tables/table.sql", "Suggestion": "Remove it from the exported schema.", @@ -477,7 +477,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "mgd.mld_ri", - "Reason": "ALTER TABLE CLUSTER not supported yet.", + "Reason": "ALTER TABLE CLUSTER is not yet supported in YugabyteDB", "SqlStatement": "ALTER TABLE mgd.mld_ri CLUSTER ON mld_ri_pkey;", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/mgi/export-dir/schema/tables/table.sql", "Suggestion": "Remove it from the exported schema.", @@ -489,7 +489,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "mgd.mld_ridata", - "Reason": "ALTER TABLE CLUSTER not supported yet.", + "Reason": "ALTER TABLE CLUSTER is not yet supported in YugabyteDB", "SqlStatement": "ALTER TABLE mgd.mld_ridata CLUSTER ON mld_ridata_pkey;", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/mgi/export-dir/schema/tables/table.sql", "Suggestion": "Remove it from the exported schema.", @@ -501,7 +501,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "mgd.mld_statistics", - "Reason": "ALTER TABLE CLUSTER not supported yet.", + "Reason": "ALTER TABLE CLUSTER is not yet supported in YugabyteDB", "SqlStatement": "ALTER TABLE mgd.mld_statistics CLUSTER ON mld_statistics_pkey;", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/mgi/export-dir/schema/tables/table.sql", "Suggestion": "Remove it from the exported schema.", @@ -513,7 +513,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "mgd.mrk_do_cache", - "Reason": "ALTER TABLE CLUSTER not supported yet.", + "Reason": "ALTER TABLE CLUSTER is not yet supported in YugabyteDB", "SqlStatement": "ALTER TABLE mgd.mrk_do_cache CLUSTER ON mrk_do_cache_pkey;", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/mgi/export-dir/schema/tables/table.sql", "Suggestion": "Remove it from the exported schema.", @@ -525,7 +525,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "mgd.mrk_history", - "Reason": "ALTER TABLE CLUSTER not supported yet.", + "Reason": "ALTER TABLE CLUSTER is not yet supported in YugabyteDB", "SqlStatement": "ALTER TABLE mgd.mrk_history CLUSTER ON mrk_history_pkey;", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/mgi/export-dir/schema/tables/table.sql", "Suggestion": "Remove it from the exported schema.", @@ -537,7 +537,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "mgd.mrk_label", - "Reason": "ALTER TABLE CLUSTER not supported yet.", + "Reason": "ALTER TABLE CLUSTER is not yet supported in YugabyteDB", "SqlStatement": "ALTER TABLE mgd.mrk_label CLUSTER ON mrk_label_pkey;", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/mgi/export-dir/schema/tables/table.sql", "Suggestion": "Remove it from the exported schema.", @@ -549,7 +549,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "mgd.mrk_location_cache", - "Reason": "ALTER TABLE CLUSTER not supported yet.", + "Reason": "ALTER TABLE CLUSTER is not yet supported in YugabyteDB", "SqlStatement": "ALTER TABLE mgd.mrk_location_cache CLUSTER ON mrk_location_cache_pkey;", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/mgi/export-dir/schema/tables/table.sql", "Suggestion": "Remove it from the exported schema.", @@ -561,7 +561,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "mgd.mrk_mcv_cache", - "Reason": "ALTER TABLE CLUSTER not supported yet.", + "Reason": "ALTER TABLE CLUSTER is not yet supported in YugabyteDB", "SqlStatement": "ALTER TABLE mgd.mrk_mcv_cache CLUSTER ON mrk_mcv_cache_pkey;", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/mgi/export-dir/schema/tables/table.sql", "Suggestion": "Remove it from the exported schema.", @@ -573,7 +573,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "mgd.mrk_mcv_count_cache", - "Reason": "ALTER TABLE CLUSTER not supported yet.", + "Reason": "ALTER TABLE CLUSTER is not yet supported in YugabyteDB", "SqlStatement": "ALTER TABLE mgd.mrk_mcv_count_cache CLUSTER ON mrk_mcv_count_cache_pkey;", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/mgi/export-dir/schema/tables/table.sql", "Suggestion": "Remove it from the exported schema.", @@ -585,7 +585,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "mgd.mrk_reference", - "Reason": "ALTER TABLE CLUSTER not supported yet.", + "Reason": "ALTER TABLE CLUSTER is not yet supported in YugabyteDB", "SqlStatement": "ALTER TABLE mgd.mrk_reference CLUSTER ON mrk_reference_pkey;", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/mgi/export-dir/schema/tables/table.sql", "Suggestion": "Remove it from the exported schema.", @@ -597,7 +597,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "mgd.prb_alias", - "Reason": "ALTER TABLE CLUSTER not supported yet.", + "Reason": "ALTER TABLE CLUSTER is not yet supported in YugabyteDB", "SqlStatement": "ALTER TABLE mgd.prb_alias CLUSTER ON prb_alias_pkey;", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/mgi/export-dir/schema/tables/table.sql", "Suggestion": "Remove it from the exported schema.", @@ -609,7 +609,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "mgd.prb_marker", - "Reason": "ALTER TABLE CLUSTER not supported yet.", + "Reason": "ALTER TABLE CLUSTER is not yet supported in YugabyteDB", "SqlStatement": "ALTER TABLE mgd.prb_marker CLUSTER ON prb_marker_pkey;", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/mgi/export-dir/schema/tables/table.sql", "Suggestion": "Remove it from the exported schema.", @@ -621,7 +621,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "mgd.prb_notes", - "Reason": "ALTER TABLE CLUSTER not supported yet.", + "Reason": "ALTER TABLE CLUSTER is not yet supported in YugabyteDB", "SqlStatement": "ALTER TABLE mgd.prb_notes CLUSTER ON prb_notes_pkey;", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/mgi/export-dir/schema/tables/table.sql", "Suggestion": "Remove it from the exported schema.", @@ -633,7 +633,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "mgd.prb_probe", - "Reason": "ALTER TABLE CLUSTER not supported yet.", + "Reason": "ALTER TABLE CLUSTER is not yet supported in YugabyteDB", "SqlStatement": "ALTER TABLE mgd.prb_probe CLUSTER ON prb_probe_pkey;", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/mgi/export-dir/schema/tables/table.sql", "Suggestion": "Remove it from the exported schema.", @@ -645,7 +645,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "mgd.prb_ref_notes", - "Reason": "ALTER TABLE CLUSTER not supported yet.", + "Reason": "ALTER TABLE CLUSTER is not yet supported in YugabyteDB", "SqlStatement": "ALTER TABLE mgd.prb_ref_notes CLUSTER ON prb_ref_notes_pkey;", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/mgi/export-dir/schema/tables/table.sql", "Suggestion": "Remove it from the exported schema.", @@ -657,7 +657,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "mgd.prb_reference", - "Reason": "ALTER TABLE CLUSTER not supported yet.", + "Reason": "ALTER TABLE CLUSTER is not yet supported in YugabyteDB", "SqlStatement": "ALTER TABLE mgd.prb_reference CLUSTER ON prb_reference_pkey;", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/mgi/export-dir/schema/tables/table.sql", "Suggestion": "Remove it from the exported schema.", @@ -669,7 +669,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "mgd.prb_rflv", - "Reason": "ALTER TABLE CLUSTER not supported yet.", + "Reason": "ALTER TABLE CLUSTER is not yet supported in YugabyteDB", "SqlStatement": "ALTER TABLE mgd.prb_rflv CLUSTER ON prb_rflv_pkey;", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/mgi/export-dir/schema/tables/table.sql", "Suggestion": "Remove it from the exported schema.", @@ -681,7 +681,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "mgd.prb_strain_genotype", - "Reason": "ALTER TABLE CLUSTER not supported yet.", + "Reason": "ALTER TABLE CLUSTER is not yet supported in YugabyteDB", "SqlStatement": "ALTER TABLE mgd.prb_strain_genotype CLUSTER ON prb_strain_genotype_pkey;", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/mgi/export-dir/schema/tables/table.sql", "Suggestion": "Remove it from the exported schema.", @@ -693,7 +693,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "mgd.prb_strain_marker", - "Reason": "ALTER TABLE CLUSTER not supported yet.", + "Reason": "ALTER TABLE CLUSTER is not yet supported in YugabyteDB", "SqlStatement": "ALTER TABLE mgd.prb_strain_marker CLUSTER ON prb_strain_marker_pkey;", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/mgi/export-dir/schema/tables/table.sql", "Suggestion": "Remove it from the exported schema.", @@ -705,7 +705,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "mgd.prb_tissue", - "Reason": "ALTER TABLE CLUSTER not supported yet.", + "Reason": "ALTER TABLE CLUSTER is not yet supported in YugabyteDB", "SqlStatement": "ALTER TABLE mgd.prb_tissue CLUSTER ON prb_tissue_pkey;", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/mgi/export-dir/schema/tables/table.sql", "Suggestion": "Remove it from the exported schema.", @@ -717,7 +717,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "mgd.seq_coord_cache", - "Reason": "ALTER TABLE CLUSTER not supported yet.", + "Reason": "ALTER TABLE CLUSTER is not yet supported in YugabyteDB", "SqlStatement": "ALTER TABLE mgd.seq_coord_cache CLUSTER ON seq_coord_cache_pkey;", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/mgi/export-dir/schema/tables/table.sql", "Suggestion": "Remove it from the exported schema.", @@ -729,7 +729,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "mgd.seq_marker_cache", - "Reason": "ALTER TABLE CLUSTER not supported yet.", + "Reason": "ALTER TABLE CLUSTER is not yet supported in YugabyteDB", "SqlStatement": "ALTER TABLE mgd.seq_marker_cache CLUSTER ON seq_marker_cache_pkey;", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/mgi/export-dir/schema/tables/table.sql", "Suggestion": "Remove it from the exported schema.", @@ -741,7 +741,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "mgd.seq_probe_cache", - "Reason": "ALTER TABLE CLUSTER not supported yet.", + "Reason": "ALTER TABLE CLUSTER is not yet supported in YugabyteDB", "SqlStatement": "ALTER TABLE mgd.seq_probe_cache CLUSTER ON seq_probe_cache_pkey;", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/mgi/export-dir/schema/tables/table.sql", "Suggestion": "Remove it from the exported schema.", @@ -753,7 +753,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "mgd.seq_sequence", - "Reason": "ALTER TABLE CLUSTER not supported yet.", + "Reason": "ALTER TABLE CLUSTER is not yet supported in YugabyteDB", "SqlStatement": "ALTER TABLE mgd.seq_sequence CLUSTER ON seq_sequence_pkey;", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/mgi/export-dir/schema/tables/table.sql", "Suggestion": "Remove it from the exported schema.", @@ -765,7 +765,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "mgd.voc_evidence_property", - "Reason": "ALTER TABLE CLUSTER not supported yet.", + "Reason": "ALTER TABLE CLUSTER is not yet supported in YugabyteDB", "SqlStatement": "ALTER TABLE mgd.voc_evidence_property CLUSTER ON voc_evidence_property_pkey;", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/mgi/export-dir/schema/tables/table.sql", "Suggestion": "Remove it from the exported schema.", @@ -777,7 +777,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "mgd.all_cre_cache", - "Reason": "ALTER TABLE CLUSTER not supported yet.", + "Reason": "ALTER TABLE CLUSTER is not yet supported in YugabyteDB", "SqlStatement": "ALTER TABLE mgd.all_cre_cache CLUSTER ON all_cre_cache_idx_clustered;", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/mgi/export-dir/schema/tables/INDEXES_table.sql", "Suggestion": "Remove it from the exported schema.", @@ -789,7 +789,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "mgd.all_knockout_cache", - "Reason": "ALTER TABLE CLUSTER not supported yet.", + "Reason": "ALTER TABLE CLUSTER is not yet supported in YugabyteDB", "SqlStatement": "ALTER TABLE mgd.all_knockout_cache CLUSTER ON all_knockout_cache_idx_clustered;", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/mgi/export-dir/schema/tables/INDEXES_table.sql", "Suggestion": "Remove it from the exported schema.", @@ -801,7 +801,7 @@ "IssueType": "unsupported_plpgsql_objects", "ObjectType": "FUNCTION", "ObjectName": "mgd.acc_assignmgi", - "Reason": "Referenced type declaration of variables", + "Reason": "Referencing the type of a column instead of the actual type name is not supported in YugabyteDB", "SqlStatement": "acc_accession.accid%TYPE", "FilePath": "/Users/priyanshigupta/Documents/voyager/yb-voyager/migtests/tests/pg/mgi/export-dir/schema/functions/function.sql", "Suggestion": "Fix the syntax to include the actual type name instead of referencing the type of a column", @@ -813,7 +813,7 @@ "IssueType": "unsupported_plpgsql_objects", "ObjectType": "FUNCTION", "ObjectName": "mgd.acc_assignmgi", - "Reason": "Referenced type declaration of variables", + "Reason": "Referencing the type of a column instead of the actual type name is not supported in YugabyteDB", "SqlStatement": "acc_accession.accid%TYPE", "FilePath": "/Users/priyanshigupta/Documents/voyager/yb-voyager/migtests/tests/pg/mgi/export-dir/schema/functions/function.sql", "Suggestion": "Fix the syntax to include the actual type name instead of referencing the type of a column", @@ -825,7 +825,7 @@ "IssueType": "unsupported_plpgsql_objects", "ObjectType": "FUNCTION", "ObjectName": "mgd.acc_insert", - "Reason": "Referenced type declaration of variables", + "Reason": "Referencing the type of a column instead of the actual type name is not supported in YugabyteDB", "SqlStatement": "acc_accession.prefixPart%TYPE", "FilePath": "/Users/priyanshigupta/Documents/voyager/yb-voyager/migtests/tests/pg/mgi/export-dir/schema/functions/function.sql", "Suggestion": "Fix the syntax to include the actual type name instead of referencing the type of a column", @@ -837,7 +837,7 @@ "IssueType": "unsupported_plpgsql_objects", "ObjectType": "FUNCTION", "ObjectName": "mgd.acc_update", - "Reason": "Referenced type declaration of variables", + "Reason": "Referencing the type of a column instead of the actual type name is not supported in YugabyteDB", "SqlStatement": "acc_accession.prefixPart%TYPE", "FilePath": "/Users/priyanshigupta/Documents/voyager/yb-voyager/migtests/tests/pg/mgi/export-dir/schema/functions/function.sql", "Suggestion": "Fix the syntax to include the actual type name instead of referencing the type of a column", @@ -849,7 +849,7 @@ "IssueType": "unsupported_plpgsql_objects", "ObjectType": "FUNCTION", "ObjectName": "mgd.acc_update", - "Reason": "Referenced type declaration of variables", + "Reason": "Referencing the type of a column instead of the actual type name is not supported in YugabyteDB", "SqlStatement": "acc_accession.prefixPart%TYPE", "FilePath": "/Users/priyanshigupta/Documents/voyager/yb-voyager/migtests/tests/pg/mgi/export-dir/schema/functions/function.sql", "Suggestion": "Fix the syntax to include the actual type name instead of referencing the type of a column", @@ -861,7 +861,7 @@ "IssueType": "unsupported_plpgsql_objects", "ObjectType": "FUNCTION", "ObjectName": "mgd.all_createwildtype", - "Reason": "Referenced type declaration of variables", + "Reason": "Referencing the type of a column instead of the actual type name is not supported in YugabyteDB", "SqlStatement": "all_allele.symbol%TYPE", "FilePath": "/Users/priyanshigupta/Documents/voyager/yb-voyager/migtests/tests/pg/mgi/export-dir/schema/functions/function.sql", "Suggestion": "Fix the syntax to include the actual type name instead of referencing the type of a column", @@ -873,7 +873,7 @@ "IssueType": "unsupported_plpgsql_objects", "ObjectType": "FUNCTION", "ObjectName": "mgd.all_insertallele", - "Reason": "Referenced type declaration of variables", + "Reason": "Referencing the type of a column instead of the actual type name is not supported in YugabyteDB", "SqlStatement": "all_allele.isextinct%TYPE", "FilePath": "/Users/priyanshigupta/Documents/voyager/yb-voyager/migtests/tests/pg/mgi/export-dir/schema/functions/function.sql", "Suggestion": "Fix the syntax to include the actual type name instead of referencing the type of a column", @@ -885,7 +885,7 @@ "IssueType": "unsupported_plpgsql_objects", "ObjectType": "FUNCTION", "ObjectName": "mgd.all_insertallele", - "Reason": "Referenced type declaration of variables", + "Reason": "Referencing the type of a column instead of the actual type name is not supported in YugabyteDB", "SqlStatement": "all_allele.ismixed%TYPE", "FilePath": "/Users/priyanshigupta/Documents/voyager/yb-voyager/migtests/tests/pg/mgi/export-dir/schema/functions/function.sql", "Suggestion": "Fix the syntax to include the actual type name instead of referencing the type of a column", @@ -897,7 +897,7 @@ "IssueType": "unsupported_plpgsql_objects", "ObjectType": "FUNCTION", "ObjectName": "mgd.all_reloadlabel", - "Reason": "Referenced type declaration of variables", + "Reason": "Referencing the type of a column instead of the actual type name is not supported in YugabyteDB", "SqlStatement": "all_label.label%TYPE", "FilePath": "/Users/priyanshigupta/Documents/voyager/yb-voyager/migtests/tests/pg/mgi/export-dir/schema/functions/function.sql", "Suggestion": "Fix the syntax to include the actual type name instead of referencing the type of a column", @@ -909,7 +909,7 @@ "IssueType": "unsupported_plpgsql_objects", "ObjectType": "FUNCTION", "ObjectName": "mgd.all_reloadlabel", - "Reason": "Referenced type declaration of variables", + "Reason": "Referencing the type of a column instead of the actual type name is not supported in YugabyteDB", "SqlStatement": "all_label.labelType%TYPE", "FilePath": "/Users/priyanshigupta/Documents/voyager/yb-voyager/migtests/tests/pg/mgi/export-dir/schema/functions/function.sql", "Suggestion": "Fix the syntax to include the actual type name instead of referencing the type of a column", @@ -921,7 +921,7 @@ "IssueType": "unsupported_plpgsql_objects", "ObjectType": "FUNCTION", "ObjectName": "mgd.all_reloadlabel", - "Reason": "Referenced type declaration of variables", + "Reason": "Referencing the type of a column instead of the actual type name is not supported in YugabyteDB", "SqlStatement": "all_label.labelTypeName%TYPE", "FilePath": "/Users/priyanshigupta/Documents/voyager/yb-voyager/migtests/tests/pg/mgi/export-dir/schema/functions/function.sql", "Suggestion": "Fix the syntax to include the actual type name instead of referencing the type of a column", @@ -933,7 +933,7 @@ "IssueType": "unsupported_plpgsql_objects", "ObjectType": "FUNCTION", "ObjectName": "mgd.img_setpdo", - "Reason": "Referenced type declaration of variables", + "Reason": "Referencing the type of a column instead of the actual type name is not supported in YugabyteDB", "SqlStatement": "acc_accession.accID%TYPE", "FilePath": "/Users/priyanshigupta/Documents/voyager/yb-voyager/migtests/tests/pg/mgi/export-dir/schema/functions/function.sql", "Suggestion": "Fix the syntax to include the actual type name instead of referencing the type of a column", @@ -945,7 +945,7 @@ "IssueType": "unsupported_plpgsql_objects", "ObjectType": "FUNCTION", "ObjectName": "mgd.mrk_allelewithdrawal", - "Reason": "Referenced type declaration of variables", + "Reason": "Referencing the type of a column instead of the actual type name is not supported in YugabyteDB", "SqlStatement": "mrk_marker.symbol%TYPE", "FilePath": "/Users/priyanshigupta/Documents/voyager/yb-voyager/migtests/tests/pg/mgi/export-dir/schema/functions/function.sql", "Suggestion": "Fix the syntax to include the actual type name instead of referencing the type of a column", @@ -957,7 +957,7 @@ "IssueType": "unsupported_plpgsql_objects", "ObjectType": "FUNCTION", "ObjectName": "mgd.mrk_allelewithdrawal", - "Reason": "Referenced type declaration of variables", + "Reason": "Referencing the type of a column instead of the actual type name is not supported in YugabyteDB", "SqlStatement": "mrk_marker.name%TYPE", "FilePath": "/Users/priyanshigupta/Documents/voyager/yb-voyager/migtests/tests/pg/mgi/export-dir/schema/functions/function.sql", "Suggestion": "Fix the syntax to include the actual type name instead of referencing the type of a column", @@ -969,7 +969,7 @@ "IssueType": "unsupported_plpgsql_objects", "ObjectType": "FUNCTION", "ObjectName": "mgd.mrk_allelewithdrawal", - "Reason": "Referenced type declaration of variables", + "Reason": "Referencing the type of a column instead of the actual type name is not supported in YugabyteDB", "SqlStatement": "mrk_marker.symbol%TYPE", "FilePath": "/Users/priyanshigupta/Documents/voyager/yb-voyager/migtests/tests/pg/mgi/export-dir/schema/functions/function.sql", "Suggestion": "Fix the syntax to include the actual type name instead of referencing the type of a column", @@ -981,7 +981,7 @@ "IssueType": "unsupported_plpgsql_objects", "ObjectType": "FUNCTION", "ObjectName": "mgd.mrk_copyhistory", - "Reason": "Referenced type declaration of variables", + "Reason": "Referencing the type of a column instead of the actual type name is not supported in YugabyteDB", "SqlStatement": "mrk_history.name%TYPE", "FilePath": "/Users/priyanshigupta/Documents/voyager/yb-voyager/migtests/tests/pg/mgi/export-dir/schema/functions/function.sql", "Suggestion": "Fix the syntax to include the actual type name instead of referencing the type of a column", @@ -993,7 +993,7 @@ "IssueType": "unsupported_plpgsql_objects", "ObjectType": "FUNCTION", "ObjectName": "mgd.mrk_copyhistory", - "Reason": "Referenced type declaration of variables", + "Reason": "Referencing the type of a column instead of the actual type name is not supported in YugabyteDB", "SqlStatement": "mrk_history.event_date%TYPE", "FilePath": "/Users/priyanshigupta/Documents/voyager/yb-voyager/migtests/tests/pg/mgi/export-dir/schema/functions/function.sql", "Suggestion": "Fix the syntax to include the actual type name instead of referencing the type of a column", @@ -1005,7 +1005,7 @@ "IssueType": "unsupported_plpgsql_objects", "ObjectType": "FUNCTION", "ObjectName": "mgd.mrk_deletewithdrawal", - "Reason": "Referenced type declaration of variables", + "Reason": "Referencing the type of a column instead of the actual type name is not supported in YugabyteDB", "SqlStatement": "mrk_marker.name%TYPE", "FilePath": "/Users/priyanshigupta/Documents/voyager/yb-voyager/migtests/tests/pg/mgi/export-dir/schema/functions/function.sql", "Suggestion": "Fix the syntax to include the actual type name instead of referencing the type of a column", @@ -1017,7 +1017,7 @@ "IssueType": "unsupported_plpgsql_objects", "ObjectType": "FUNCTION", "ObjectName": "mgd.mrk_mergewithdrawal", - "Reason": "Referenced type declaration of variables", + "Reason": "Referencing the type of a column instead of the actual type name is not supported in YugabyteDB", "SqlStatement": "mrk_marker.symbol%TYPE", "FilePath": "/Users/priyanshigupta/Documents/voyager/yb-voyager/migtests/tests/pg/mgi/export-dir/schema/functions/function.sql", "Suggestion": "Fix the syntax to include the actual type name instead of referencing the type of a column", @@ -1029,7 +1029,7 @@ "IssueType": "unsupported_plpgsql_objects", "ObjectType": "FUNCTION", "ObjectName": "mgd.mrk_mergewithdrawal", - "Reason": "Referenced type declaration of variables", + "Reason": "Referencing the type of a column instead of the actual type name is not supported in YugabyteDB", "SqlStatement": "mrk_marker.name%TYPE", "FilePath": "/Users/priyanshigupta/Documents/voyager/yb-voyager/migtests/tests/pg/mgi/export-dir/schema/functions/function.sql", "Suggestion": "Fix the syntax to include the actual type name instead of referencing the type of a column", @@ -1041,7 +1041,7 @@ "IssueType": "unsupported_plpgsql_objects", "ObjectType": "FUNCTION", "ObjectName": "mgd.mrk_mergewithdrawal", - "Reason": "Referenced type declaration of variables", + "Reason": "Referencing the type of a column instead of the actual type name is not supported in YugabyteDB", "SqlStatement": "mrk_marker.symbol%TYPE", "FilePath": "/Users/priyanshigupta/Documents/voyager/yb-voyager/migtests/tests/pg/mgi/export-dir/schema/functions/function.sql", "Suggestion": "Fix the syntax to include the actual type name instead of referencing the type of a column", @@ -1053,7 +1053,7 @@ "IssueType": "unsupported_plpgsql_objects", "ObjectType": "FUNCTION", "ObjectName": "mgd.mrk_mergewithdrawal", - "Reason": "Referenced type declaration of variables", + "Reason": "Referencing the type of a column instead of the actual type name is not supported in YugabyteDB", "SqlStatement": "mrk_marker.chromosome%TYPE", "FilePath": "/Users/priyanshigupta/Documents/voyager/yb-voyager/migtests/tests/pg/mgi/export-dir/schema/functions/function.sql", "Suggestion": "Fix the syntax to include the actual type name instead of referencing the type of a column", @@ -1065,7 +1065,7 @@ "IssueType": "unsupported_plpgsql_objects", "ObjectType": "FUNCTION", "ObjectName": "mgd.mrk_mergewithdrawal", - "Reason": "Referenced type declaration of variables", + "Reason": "Referencing the type of a column instead of the actual type name is not supported in YugabyteDB", "SqlStatement": "mrk_marker.name%TYPE", "FilePath": "/Users/priyanshigupta/Documents/voyager/yb-voyager/migtests/tests/pg/mgi/export-dir/schema/functions/function.sql", "Suggestion": "Fix the syntax to include the actual type name instead of referencing the type of a column", @@ -1077,7 +1077,7 @@ "IssueType": "unsupported_plpgsql_objects", "ObjectType": "FUNCTION", "ObjectName": "mgd.mrk_mergewithdrawal", - "Reason": "Referenced type declaration of variables", + "Reason": "Referencing the type of a column instead of the actual type name is not supported in YugabyteDB", "SqlStatement": "mrk_marker.cytogeneticOffset%TYPE", "FilePath": "/Users/priyanshigupta/Documents/voyager/yb-voyager/migtests/tests/pg/mgi/export-dir/schema/functions/function.sql", "Suggestion": "Fix the syntax to include the actual type name instead of referencing the type of a column", @@ -1089,7 +1089,7 @@ "IssueType": "unsupported_plpgsql_objects", "ObjectType": "FUNCTION", "ObjectName": "mgd.mrk_mergewithdrawal", - "Reason": "Referenced type declaration of variables", + "Reason": "Referencing the type of a column instead of the actual type name is not supported in YugabyteDB", "SqlStatement": "mrk_marker.cmOffset%TYPE", "FilePath": "/Users/priyanshigupta/Documents/voyager/yb-voyager/migtests/tests/pg/mgi/export-dir/schema/functions/function.sql", "Suggestion": "Fix the syntax to include the actual type name instead of referencing the type of a column", @@ -1101,7 +1101,7 @@ "IssueType": "unsupported_plpgsql_objects", "ObjectType": "FUNCTION", "ObjectName": "mgd.mrk_mergewithdrawal", - "Reason": "Referenced type declaration of variables", + "Reason": "Referencing the type of a column instead of the actual type name is not supported in YugabyteDB", "SqlStatement": "all_allele.symbol%TYPE", "FilePath": "/Users/priyanshigupta/Documents/voyager/yb-voyager/migtests/tests/pg/mgi/export-dir/schema/functions/function.sql", "Suggestion": "Fix the syntax to include the actual type name instead of referencing the type of a column", @@ -1113,7 +1113,7 @@ "IssueType": "unsupported_plpgsql_objects", "ObjectType": "FUNCTION", "ObjectName": "mgd.mrk_reloadlocation", - "Reason": "Referenced type declaration of variables", + "Reason": "Referencing the type of a column instead of the actual type name is not supported in YugabyteDB", "SqlStatement": "mrk_marker.chromosome%TYPE", "FilePath": "/Users/priyanshigupta/Documents/voyager/yb-voyager/migtests/tests/pg/mgi/export-dir/schema/functions/function.sql", "Suggestion": "Fix the syntax to include the actual type name instead of referencing the type of a column", @@ -1125,7 +1125,7 @@ "IssueType": "unsupported_plpgsql_objects", "ObjectType": "FUNCTION", "ObjectName": "mgd.mrk_reloadlocation", - "Reason": "Referenced type declaration of variables", + "Reason": "Referencing the type of a column instead of the actual type name is not supported in YugabyteDB", "SqlStatement": "mrk_marker.cytogeneticOffset%TYPE", "FilePath": "/Users/priyanshigupta/Documents/voyager/yb-voyager/migtests/tests/pg/mgi/export-dir/schema/functions/function.sql", "Suggestion": "Fix the syntax to include the actual type name instead of referencing the type of a column", @@ -1137,7 +1137,7 @@ "IssueType": "unsupported_plpgsql_objects", "ObjectType": "FUNCTION", "ObjectName": "mgd.mrk_reloadlocation", - "Reason": "Referenced type declaration of variables", + "Reason": "Referencing the type of a column instead of the actual type name is not supported in YugabyteDB", "SqlStatement": "mrk_marker.cmoffset%TYPE", "FilePath": "/Users/priyanshigupta/Documents/voyager/yb-voyager/migtests/tests/pg/mgi/export-dir/schema/functions/function.sql", "Suggestion": "Fix the syntax to include the actual type name instead of referencing the type of a column", @@ -1149,7 +1149,7 @@ "IssueType": "unsupported_plpgsql_objects", "ObjectType": "FUNCTION", "ObjectName": "mgd.mrk_reloadlocation", - "Reason": "Referenced type declaration of variables", + "Reason": "Referencing the type of a column instead of the actual type name is not supported in YugabyteDB", "SqlStatement": "seq_coord_cache.startCoordinate%TYPE", "FilePath": "/Users/priyanshigupta/Documents/voyager/yb-voyager/migtests/tests/pg/mgi/export-dir/schema/functions/function.sql", "Suggestion": "Fix the syntax to include the actual type name instead of referencing the type of a column", @@ -1161,7 +1161,7 @@ "IssueType": "unsupported_plpgsql_objects", "ObjectType": "FUNCTION", "ObjectName": "mgd.mrk_reloadlocation", - "Reason": "Referenced type declaration of variables", + "Reason": "Referencing the type of a column instead of the actual type name is not supported in YugabyteDB", "SqlStatement": "seq_coord_cache.endCoordinate%TYPE", "FilePath": "/Users/priyanshigupta/Documents/voyager/yb-voyager/migtests/tests/pg/mgi/export-dir/schema/functions/function.sql", "Suggestion": "Fix the syntax to include the actual type name instead of referencing the type of a column", @@ -1173,7 +1173,7 @@ "IssueType": "unsupported_plpgsql_objects", "ObjectType": "FUNCTION", "ObjectName": "mgd.mrk_reloadlocation", - "Reason": "Referenced type declaration of variables", + "Reason": "Referencing the type of a column instead of the actual type name is not supported in YugabyteDB", "SqlStatement": "seq_coord_cache.strand%TYPE", "FilePath": "/Users/priyanshigupta/Documents/voyager/yb-voyager/migtests/tests/pg/mgi/export-dir/schema/functions/function.sql", "Suggestion": "Fix the syntax to include the actual type name instead of referencing the type of a column", @@ -1185,7 +1185,7 @@ "IssueType": "unsupported_plpgsql_objects", "ObjectType": "FUNCTION", "ObjectName": "mgd.mrk_reloadlocation", - "Reason": "Referenced type declaration of variables", + "Reason": "Referencing the type of a column instead of the actual type name is not supported in YugabyteDB", "SqlStatement": "voc_term.term%TYPE", "FilePath": "/Users/priyanshigupta/Documents/voyager/yb-voyager/migtests/tests/pg/mgi/export-dir/schema/functions/function.sql", "Suggestion": "Fix the syntax to include the actual type name instead of referencing the type of a column", @@ -1197,7 +1197,7 @@ "IssueType": "unsupported_plpgsql_objects", "ObjectType": "FUNCTION", "ObjectName": "mgd.mrk_reloadlocation", - "Reason": "Referenced type declaration of variables", + "Reason": "Referencing the type of a column instead of the actual type name is not supported in YugabyteDB", "SqlStatement": "map_coord_collection.abbreviation%TYPE", "FilePath": "/Users/priyanshigupta/Documents/voyager/yb-voyager/migtests/tests/pg/mgi/export-dir/schema/functions/function.sql", "Suggestion": "Fix the syntax to include the actual type name instead of referencing the type of a column", @@ -1209,7 +1209,7 @@ "IssueType": "unsupported_plpgsql_objects", "ObjectType": "FUNCTION", "ObjectName": "mgd.mrk_reloadlocation", - "Reason": "Referenced type declaration of variables", + "Reason": "Referencing the type of a column instead of the actual type name is not supported in YugabyteDB", "SqlStatement": "seq_coord_cache.version%TYPE", "FilePath": "/Users/priyanshigupta/Documents/voyager/yb-voyager/migtests/tests/pg/mgi/export-dir/schema/functions/function.sql", "Suggestion": "Fix the syntax to include the actual type name instead of referencing the type of a column", @@ -1221,7 +1221,7 @@ "IssueType": "unsupported_plpgsql_objects", "ObjectType": "FUNCTION", "ObjectName": "mgd.mrk_reloadlocation", - "Reason": "Referenced type declaration of variables", + "Reason": "Referencing the type of a column instead of the actual type name is not supported in YugabyteDB", "SqlStatement": "seq_coord_cache.chromosome%TYPE", "FilePath": "/Users/priyanshigupta/Documents/voyager/yb-voyager/migtests/tests/pg/mgi/export-dir/schema/functions/function.sql", "Suggestion": "Fix the syntax to include the actual type name instead of referencing the type of a column", @@ -1233,7 +1233,7 @@ "IssueType": "unsupported_plpgsql_objects", "ObjectType": "FUNCTION", "ObjectName": "mgd.mrk_simplewithdrawal", - "Reason": "Referenced type declaration of variables", + "Reason": "Referencing the type of a column instead of the actual type name is not supported in YugabyteDB", "SqlStatement": "mrk_marker.name%TYPE", "FilePath": "/Users/priyanshigupta/Documents/voyager/yb-voyager/migtests/tests/pg/mgi/export-dir/schema/functions/function.sql", "Suggestion": "Fix the syntax to include the actual type name instead of referencing the type of a column", @@ -1245,7 +1245,7 @@ "IssueType": "unsupported_plpgsql_objects", "ObjectType": "FUNCTION", "ObjectName": "mgd.mrk_simplewithdrawal", - "Reason": "Referenced type declaration of variables", + "Reason": "Referencing the type of a column instead of the actual type name is not supported in YugabyteDB", "SqlStatement": "mrk_marker.symbol%TYPE", "FilePath": "/Users/priyanshigupta/Documents/voyager/yb-voyager/migtests/tests/pg/mgi/export-dir/schema/functions/function.sql", "Suggestion": "Fix the syntax to include the actual type name instead of referencing the type of a column", @@ -1257,7 +1257,7 @@ "IssueType": "unsupported_plpgsql_objects", "ObjectType": "FUNCTION", "ObjectName": "mgd.prb_ageminmax", - "Reason": "Referenced type declaration of variables", + "Reason": "Referencing the type of a column instead of the actual type name is not supported in YugabyteDB", "SqlStatement": "prb_source.age%TYPE", "FilePath": "/Users/priyanshigupta/Documents/voyager/yb-voyager/migtests/tests/pg/mgi/export-dir/schema/functions/function.sql", "Suggestion": "Fix the syntax to include the actual type name instead of referencing the type of a column", @@ -1269,7 +1269,7 @@ "IssueType": "unsupported_plpgsql_objects", "ObjectType": "FUNCTION", "ObjectName": "mgd.prb_ageminmax", - "Reason": "Referenced type declaration of variables", + "Reason": "Referencing the type of a column instead of the actual type name is not supported in YugabyteDB", "SqlStatement": "prb_source.age%TYPE", "FilePath": "/Users/priyanshigupta/Documents/voyager/yb-voyager/migtests/tests/pg/mgi/export-dir/schema/functions/function.sql", "Suggestion": "Fix the syntax to include the actual type name instead of referencing the type of a column", @@ -1281,7 +1281,7 @@ "IssueType": "unsupported_plpgsql_objects", "ObjectType": "FUNCTION", "ObjectName": "mgd.prb_mergestrain", - "Reason": "Referenced type declaration of variables", + "Reason": "Referencing the type of a column instead of the actual type name is not supported in YugabyteDB", "SqlStatement": "acc_accession.accID%TYPE", "FilePath": "/Users/priyanshigupta/Documents/voyager/yb-voyager/migtests/tests/pg/mgi/export-dir/schema/functions/function.sql", "Suggestion": "Fix the syntax to include the actual type name instead of referencing the type of a column", @@ -1293,7 +1293,7 @@ "IssueType": "unsupported_plpgsql_objects", "ObjectType": "FUNCTION", "ObjectName": "mgd.prb_mergestrain", - "Reason": "Referenced type declaration of variables", + "Reason": "Referencing the type of a column instead of the actual type name is not supported in YugabyteDB", "SqlStatement": "acc_accession.accID%TYPE", "FilePath": "/Users/priyanshigupta/Documents/voyager/yb-voyager/migtests/tests/pg/mgi/export-dir/schema/functions/function.sql", "Suggestion": "Fix the syntax to include the actual type name instead of referencing the type of a column", @@ -1305,7 +1305,7 @@ "IssueType": "unsupported_plpgsql_objects", "ObjectType": "FUNCTION", "ObjectName": "mgd.seq_split", - "Reason": "Referenced type declaration of variables", + "Reason": "Referencing the type of a column instead of the actual type name is not supported in YugabyteDB", "SqlStatement": "acc_accession.accID%TYPE", "FilePath": "/Users/priyanshigupta/Documents/voyager/yb-voyager/migtests/tests/pg/mgi/export-dir/schema/functions/function.sql", "Suggestion": "Fix the syntax to include the actual type name instead of referencing the type of a column", @@ -1317,7 +1317,7 @@ "IssueType": "unsupported_plpgsql_objects", "ObjectType": "FUNCTION", "ObjectName": "mgd.seq_split", - "Reason": "Referenced type declaration of variables", + "Reason": "Referencing the type of a column instead of the actual type name is not supported in YugabyteDB", "SqlStatement": "acc_accession.accID%TYPE", "FilePath": "/Users/priyanshigupta/Documents/voyager/yb-voyager/migtests/tests/pg/mgi/export-dir/schema/functions/function.sql", "Suggestion": "Fix the syntax to include the actual type name instead of referencing the type of a column", @@ -1329,7 +1329,7 @@ "IssueType": "unsupported_plpgsql_objects", "ObjectType": "FUNCTION", "ObjectName": "mgd.mgi_resetageminmax", - "Reason": "Referenced type declaration of variables", + "Reason": "Referencing the type of a column instead of the actual type name is not supported in YugabyteDB", "SqlStatement": "prb_source.age%TYPE", "FilePath": "/Users/priyanshigupta/Documents/voyager/yb-voyager/migtests/tests/pg/mgi/export-dir/schema/functions/function.sql", "Suggestion": "Fix the syntax to include the actual type name instead of referencing the type of a column", diff --git a/migtests/tests/pg/omnibus/expected_files/expected_schema_analysis_report.json b/migtests/tests/pg/omnibus/expected_files/expected_schema_analysis_report.json index 0d75055022..8e9559ad8f 100755 --- a/migtests/tests/pg/omnibus/expected_files/expected_schema_analysis_report.json +++ b/migtests/tests/pg/omnibus/expected_files/expected_schema_analysis_report.json @@ -144,7 +144,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "composite_type_examples.inherited_table", - "Reason": "TABLE INHERITANCE not supported in YugabyteDB", + "Reason": "Table inheritance is not yet supported in YugabyteDB", "SqlStatement": "CREATE TABLE composite_type_examples.inherited_table (\n)\nINHERITS (composite_type_examples.ordinary_table);", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/omnibus/export-dir/schema/tables/table.sql", "Suggestion": "", @@ -156,7 +156,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "enum_example.bugs_clone", - "Reason": "TABLE INHERITANCE not supported in YugabyteDB", + "Reason": "Table inheritance is not yet supported in YugabyteDB", "SqlStatement": "CREATE TABLE enum_example.bugs_clone (\n)\nINHERITS (enum_example.bugs);", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/omnibus/export-dir/schema/tables/table.sql", "Suggestion": "", @@ -168,7 +168,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "regress_rls_schema.t2", - "Reason": "TABLE INHERITANCE not supported in YugabyteDB", + "Reason": "Table inheritance is not yet supported in YugabyteDB", "SqlStatement": "CREATE TABLE regress_rls_schema.t2 (\n c double precision\n)\nINHERITS (regress_rls_schema.t1);", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/omnibus/export-dir/schema/tables/table.sql", "Suggestion": "", @@ -180,7 +180,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "regress_rls_schema.t3_3", - "Reason": "TABLE INHERITANCE not supported in YugabyteDB", + "Reason": "Table inheritance is not yet supported in YugabyteDB", "SqlStatement": "CREATE TABLE regress_rls_schema.t3_3 (\n id integer NOT NULL,\n c text,\n b text,\n a integer\n)\nINHERITS (regress_rls_schema.t1_3);", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/omnibus/export-dir/schema/tables/table.sql", "Suggestion": "", @@ -192,7 +192,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "composite_type_examples.ordinary_table", - "Reason": "Stored generated columns are not supported. Generated Columns: (_basic,_nested)", + "Reason": "Stored generated columns are not supported in YugabyteDB. Detected columns are (_basic, _nested).", "SqlStatement": "CREATE TABLE composite_type_examples.ordinary_table (\n basic_ composite_type_examples.basic_comp_type,\n _basic composite_type_examples.basic_comp_type GENERATED ALWAYS AS (basic_) STORED,\n nested composite_type_examples.nested,\n _nested composite_type_examples.nested GENERATED ALWAYS AS (nested) STORED,\n CONSTRAINT check_f1_gt_1 CHECK (((basic_).f1 \u003e 1)),\n CONSTRAINT check_f1_gt_1_again CHECK (((_basic).f1 \u003e 1)),\n CONSTRAINT check_nested_f1_gt_1 CHECK (((nested).foo.f1 \u003e 1)),\n CONSTRAINT check_nested_f1_gt_1_again CHECK (((_nested).foo.f1 \u003e 1))\n);", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/omnibus/export-dir/schema/tables/table.sql", "Suggestion": "Using Triggers to update the generated columns is one way to work around this issue, refer docs link for more details.", @@ -204,7 +204,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "enum_example.bugs", - "Reason": "Stored generated columns are not supported. Generated Columns: (_status,_severity,info)", + "Reason": "Stored generated columns are not supported in YugabyteDB. Detected columns are (_status, _severity, info).", "SqlStatement": "CREATE TABLE enum_example.bugs (\n id integer NOT NULL,\n description text,\n status enum_example.bug_status,\n _status enum_example.bug_status GENERATED ALWAYS AS (status) STORED,\n severity enum_example.bug_severity,\n _severity enum_example.bug_severity GENERATED ALWAYS AS (severity) STORED,\n info enum_example.bug_info GENERATED ALWAYS AS (enum_example.make_bug_info(status, severity)) STORED\n);", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/omnibus/export-dir/schema/tables/table.sql", "Suggestion": "Using Triggers to update the generated columns is one way to work around this issue, refer docs link for more details.", @@ -216,7 +216,7 @@ "IssueType": "unsupported_features", "ObjectType": "INDEX", "ObjectName": "hidx ON extension_example.testhstore", - "Reason": "Schema contains GIST index which is not supported.", + "Reason": "The schema contains an index with an access method 'GIST' which is not supported in YugabyteDB.", "SqlStatement": "CREATE INDEX hidx ON extension_example.testhstore USING gist (h extension_example.gist_hstore_ops (siglen='32'));", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/omnibus/export-dir/schema/tables/INDEXES_table.sql", "Suggestion": "", @@ -228,7 +228,7 @@ "IssueType": "unsupported_features", "ObjectType": "INDEX", "ObjectName": "idx_1 ON composite_type_examples.ordinary_table", - "Reason": "INDEX on column 'user_defined_type' not yet supported", + "Reason": "Indexes on columns with complex data types like 'user_defined_type' are not yet supported in YugabyteDB", "SqlStatement": "CREATE INDEX idx_1 ON composite_type_examples.ordinary_table USING btree (basic_);", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/omnibus/export-dir/schema/tables/INDEXES_table.sql", "Suggestion": "Refer to the docs link for the workaround", @@ -240,7 +240,7 @@ "IssueType": "unsupported_features", "ObjectType": "INDEX", "ObjectName": "gin_idx ON idx_ex.films", - "Reason": "Storage parameters are not supported yet.", + "Reason": "Storage parameters in tables, indexes, and constraints are not yet supported in YugabyteDB", "SqlStatement": "CREATE INDEX gin_idx ON idx_ex.films USING gin (to_tsvector('english'::regconfig, title)) WITH (fastupdate=off);", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/omnibus/export-dir/schema/tables/INDEXES_table.sql", "Suggestion": "Remove the storage parameters from the DDL", @@ -252,7 +252,7 @@ "IssueType": "unsupported_features", "ObjectType": "INDEX", "ObjectName": "title_idx ON idx_ex.films", - "Reason": "Storage parameters are not supported yet.", + "Reason": "Storage parameters in tables, indexes, and constraints are not yet supported in YugabyteDB", "SqlStatement": "CREATE UNIQUE INDEX title_idx ON idx_ex.films USING btree (title) WITH (fillfactor='70');", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/omnibus/export-dir/schema/tables/INDEXES_table.sql", "Suggestion": "Remove the storage parameters from the DDL", @@ -264,7 +264,7 @@ "IssueType": "migration_caveats", "ObjectType": "TABLE", "ObjectName": "composite_type_examples.ordinary_table", - "Reason": "Unsupported datatype for Live migration with fall-forward/fallback - composite_type_examples.basic_comp_type on column - basic_", + "Reason": "Datatype not yet supported by voyager in live migration with fall-forward/fallback. Affected column: basic_ and type: composite_type_examples.basic_comp_type. These columns will be excluded when exporting and importing data in live migration workflows.", "SqlStatement": "CREATE TABLE composite_type_examples.ordinary_table (\n basic_ composite_type_examples.basic_comp_type,\n _basic composite_type_examples.basic_comp_type GENERATED ALWAYS AS (basic_) STORED,\n nested composite_type_examples.nested,\n _nested composite_type_examples.nested GENERATED ALWAYS AS (nested) STORED,\n CONSTRAINT check_f1_gt_1 CHECK (((basic_).f1 \u003e 1)),\n CONSTRAINT check_f1_gt_1_again CHECK (((_basic).f1 \u003e 1)),\n CONSTRAINT check_nested_f1_gt_1 CHECK (((nested).foo.f1 \u003e 1)),\n CONSTRAINT check_nested_f1_gt_1_again CHECK (((_nested).foo.f1 \u003e 1))\n);", "FilePath": "/Users/priyanshigupta/Documents/voyager/yb-voyager/migtests/tests/pg/omnibus/export-dir/schema/tables/table.sql", "Suggestion": "", @@ -276,7 +276,7 @@ "IssueType": "migration_caveats", "ObjectType": "TABLE", "ObjectName": "composite_type_examples.ordinary_table", - "Reason": "Unsupported datatype for Live migration with fall-forward/fallback - composite_type_examples.basic_comp_type on column - _basic", + "Reason": "Datatype not yet supported by voyager in live migration with fall-forward/fallback. Affected column: _basic and type: composite_type_examples.basic_comp_type. These columns will be excluded when exporting and importing data in live migration workflows.", "SqlStatement": "CREATE TABLE composite_type_examples.ordinary_table (\n basic_ composite_type_examples.basic_comp_type,\n _basic composite_type_examples.basic_comp_type GENERATED ALWAYS AS (basic_) STORED,\n nested composite_type_examples.nested,\n _nested composite_type_examples.nested GENERATED ALWAYS AS (nested) STORED,\n CONSTRAINT check_f1_gt_1 CHECK (((basic_).f1 \u003e 1)),\n CONSTRAINT check_f1_gt_1_again CHECK (((_basic).f1 \u003e 1)),\n CONSTRAINT check_nested_f1_gt_1 CHECK (((nested).foo.f1 \u003e 1)),\n CONSTRAINT check_nested_f1_gt_1_again CHECK (((_nested).foo.f1 \u003e 1))\n);", "FilePath": "/Users/priyanshigupta/Documents/voyager/yb-voyager/migtests/tests/pg/omnibus/export-dir/schema/tables/table.sql", "Suggestion": "", @@ -288,7 +288,7 @@ "IssueType": "migration_caveats", "ObjectType": "TABLE", "ObjectName": "composite_type_examples.ordinary_table", - "Reason": "Unsupported datatype for Live migration with fall-forward/fallback - composite_type_examples.nested on column - nested", + "Reason": "Datatype not yet supported by voyager in live migration with fall-forward/fallback. Affected column: nested and type: composite_type_examples.nested. These columns will be excluded when exporting and importing data in live migration workflows.", "SqlStatement": "CREATE TABLE composite_type_examples.ordinary_table (\n basic_ composite_type_examples.basic_comp_type,\n _basic composite_type_examples.basic_comp_type GENERATED ALWAYS AS (basic_) STORED,\n nested composite_type_examples.nested,\n _nested composite_type_examples.nested GENERATED ALWAYS AS (nested) STORED,\n CONSTRAINT check_f1_gt_1 CHECK (((basic_).f1 \u003e 1)),\n CONSTRAINT check_f1_gt_1_again CHECK (((_basic).f1 \u003e 1)),\n CONSTRAINT check_nested_f1_gt_1 CHECK (((nested).foo.f1 \u003e 1)),\n CONSTRAINT check_nested_f1_gt_1_again CHECK (((_nested).foo.f1 \u003e 1))\n);", "FilePath": "/Users/priyanshigupta/Documents/voyager/yb-voyager/migtests/tests/pg/omnibus/export-dir/schema/tables/table.sql", "Suggestion": "", @@ -300,7 +300,7 @@ "IssueType": "migration_caveats", "ObjectType": "TABLE", "ObjectName": "composite_type_examples.ordinary_table", - "Reason": "Unsupported datatype for Live migration with fall-forward/fallback - composite_type_examples.nested on column - _nested", + "Reason": "Datatype not yet supported by voyager in live migration with fall-forward/fallback. Affected column: _nested and type: composite_type_examples.nested. These columns will be excluded when exporting and importing data in live migration workflows.", "SqlStatement": "CREATE TABLE composite_type_examples.ordinary_table (\n basic_ composite_type_examples.basic_comp_type,\n _basic composite_type_examples.basic_comp_type GENERATED ALWAYS AS (basic_) STORED,\n nested composite_type_examples.nested,\n _nested composite_type_examples.nested GENERATED ALWAYS AS (nested) STORED,\n CONSTRAINT check_f1_gt_1 CHECK (((basic_).f1 \u003e 1)),\n CONSTRAINT check_f1_gt_1_again CHECK (((_basic).f1 \u003e 1)),\n CONSTRAINT check_nested_f1_gt_1 CHECK (((nested).foo.f1 \u003e 1)),\n CONSTRAINT check_nested_f1_gt_1_again CHECK (((_nested).foo.f1 \u003e 1))\n);", "FilePath": "/Users/priyanshigupta/Documents/voyager/yb-voyager/migtests/tests/pg/omnibus/export-dir/schema/tables/table.sql", "Suggestion": "", @@ -312,7 +312,7 @@ "IssueType": "migration_caveats", "ObjectType": "TABLE", "ObjectName": "extension_example.testhstore", - "Reason": "Unsupported datatype for Live migration with fall-forward/fallback - extension_example.hstore on column - h", + "Reason": "Datatype not yet supported by voyager in live migration with fall-forward/fallback. Affected column: h and type: extension_example.hstore. These columns will be excluded when exporting and importing data in live migration workflows.", "SqlStatement": "CREATE TABLE extension_example.testhstore (\n h extension_example.hstore\n);", "FilePath": "/Users/priyanshigupta/Documents/voyager/yb-voyager/migtests/tests/pg/omnibus/export-dir/schema/tables/table.sql", "Suggestion": "", @@ -324,7 +324,7 @@ "IssueType": "migration_caveats", "ObjectType": "TABLE", "ObjectName": "enum_example.bugs", - "Reason": "Unsupported datatype for Live migration with fall-forward/fallback - enum_example.bug_info on column - info", + "Reason": "Datatype not yet supported by voyager in live migration with fall-forward/fallback. Affected column: info and type: enum_example.bug_info. These columns will be excluded when exporting and importing data in live migration workflows.", "SqlStatement": "CREATE TABLE enum_example.bugs (\n id integer NOT NULL,\n description text,\n status enum_example.bug_status,\n _status enum_example.bug_status GENERATED ALWAYS AS (status) STORED,\n severity enum_example.bug_severity,\n _severity enum_example.bug_severity GENERATED ALWAYS AS (severity) STORED,\n info enum_example.bug_info GENERATED ALWAYS AS (enum_example.make_bug_info(status, severity)) STORED\n);", "FilePath": "/Users/priyanshigupta/Documents/voyager/yb-voyager/migtests/tests/pg/omnibus/export-dir/schema/tables/table.sql", "Suggestion": "", @@ -336,7 +336,7 @@ "IssueType": "unsupported_features", "ObjectType": "INDEX", "ObjectName": "title_idx_with_duplicates ON idx_ex.films", - "Reason": "Storage parameters are not supported yet.", + "Reason": "Storage parameters in tables, indexes, and constraints are not yet supported in YugabyteDB", "SqlStatement": "CREATE INDEX title_idx_with_duplicates ON idx_ex.films USING btree (title) WITH (deduplicate_items=off);", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/omnibus/export-dir/schema/tables/INDEXES_table.sql", "Suggestion": "Remove the storage parameters from the DDL", @@ -372,7 +372,7 @@ "IssueType": "migration_caveats", "ObjectType": "FOREIGN TABLE", "ObjectName": "foreign_db_example.technically_doesnt_exist", - "Reason": "Foreign tables require manual intervention.", + "Reason": "Foreign table creation fails as SERVER and USER MAPPING objects are not exported by voyager. These should be manually created to make the foreign tables work.", "SqlStatement": "CREATE FOREIGN TABLE foreign_db_example.technically_doesnt_exist ( id integer, uses_type foreign_db_example.example_type, _uses_type foreign_db_example.example_type GENERATED ALWAYS AS (uses_type) STORED, positive_number foreign_db_example.positive_number, _positive_number foreign_db_example.positive_number GENERATED ALWAYS AS (positive_number) STORED, CONSTRAINT imaginary_table_id_gt_1 CHECK ((id \u003e 1)) ) SERVER technically_this_server;", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/omnibus/export-dir/schema/tables/foreign_table.sql", "Suggestion": "SERVER 'technically_this_server', and USER MAPPING should be created manually on the target to create and use the foreign table", @@ -384,7 +384,7 @@ "IssueType": "migration_caveats", "ObjectType": "POLICY", "ObjectName": "p ON regress_rls_schema.tbl1", - "Reason": "Policy require roles to be created. Users - (regress_rls_eve,regress_rls_frank)", + "Reason": "Policies require specific roles (regress_rls_eve, regress_rls_frank) to be created in the target database, as roles are not migrated during schema migration. Manually create these roles before running the import schema.", "SqlStatement": "CREATE POLICY p ON regress_rls_schema.tbl1 TO regress_rls_eve, regress_rls_frank USING (true);", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/omnibus/export-dir/schema/policies/policy.sql", "Suggestion": "Users/Grants are not migrated during the schema migration. Create the Users manually to make the policies work", @@ -396,7 +396,7 @@ "IssueType": "migration_caveats", "ObjectType": "POLICY", "ObjectName": "p1 ON regress_rls_schema.dob_t1", - "Reason": "Policy require roles to be created. Users - (regress_rls_dob_role1)", + "Reason": "Policies require specific roles (regress_rls_dob_role1) to be created in the target database, as roles are not migrated during schema migration. Manually create these roles before running the import schema.", "SqlStatement": "CREATE POLICY p1 ON regress_rls_schema.dob_t1 TO regress_rls_dob_role1 USING (true);", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/omnibus/export-dir/schema/policies/policy.sql", "Suggestion": "Users/Grants are not migrated during the schema migration. Create the Users manually to make the policies work", @@ -408,7 +408,7 @@ "IssueType": "migration_caveats", "ObjectType": "POLICY", "ObjectName": "p1 ON regress_rls_schema.dob_t2", - "Reason": "Policy require roles to be created. Users - (regress_rls_dob_role1,regress_rls_dob_role2)", + "Reason": "Policies require specific roles (regress_rls_dob_role1, regress_rls_dob_role2) to be created in the target database, as roles are not migrated during schema migration. Manually create these roles before running the import schema.", "SqlStatement": "CREATE POLICY p1 ON regress_rls_schema.dob_t2 TO regress_rls_dob_role1, regress_rls_dob_role2 USING (true);", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/omnibus/export-dir/schema/policies/policy.sql", "Suggestion": "Users/Grants are not migrated during the schema migration. Create the Users manually to make the policies work", @@ -420,7 +420,7 @@ "IssueType": "migration_caveats", "ObjectType": "POLICY", "ObjectName": "p1 ON regress_rls_schema.t1_2", - "Reason": "Policy require roles to be created. Users - (regress_rls_bob)", + "Reason": "Policies require specific roles (regress_rls_bob) to be created in the target database, as roles are not migrated during schema migration. Manually create these roles before running the import schema.", "SqlStatement": "CREATE POLICY p1 ON regress_rls_schema.t1_2 TO regress_rls_bob USING (((a % 2) = 0));", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/omnibus/export-dir/schema/policies/policy.sql", "Suggestion": "Users/Grants are not migrated during the schema migration. Create the Users manually to make the policies work", @@ -432,7 +432,7 @@ "IssueType": "migration_caveats", "ObjectType": "TABLE", "ObjectName": "am_examples.fast_emp4000", - "Reason": "Unsupported datatype for Live migration - box on column - home_base", + "Reason": "Datatype not yet supported by voyager in live migration. Affected column: home_base and type: box. These columns will be excluded when exporting and importing data in live migration workflows.", "SqlStatement": "CREATE TABLE am_examples.fast_emp4000 (\n home_base box\n);", "FilePath": "/Users/priyanshigupta/Documents/voyager/yb-voyager/migtests/tests/pg/omnibus/export-dir/schema/tables/table.sql", "Suggestion": "", @@ -444,7 +444,7 @@ "IssueType": "migration_caveats", "ObjectType": "TABLE", "ObjectName": "ordinary_tables.geometric_examples", - "Reason": "Unsupported datatype for Live migration - point on column - point_example", + "Reason": "Datatype not yet supported by voyager in live migration. Affected column: polygon_example and type: polygon. These columns will be excluded when exporting and importing data in live migration workflows.", "SqlStatement": "CREATE TABLE ordinary_tables.geometric_examples (\n point_example point,\n line_example line,\n lseg_example lseg,\n box_example box,\n path_example path,\n polygon_example polygon,\n circle_example circle\n);", "FilePath": "/Users/priyanshigupta/Documents/voyager/yb-voyager/migtests/tests/pg/omnibus/export-dir/schema/tables/table.sql", "Suggestion": "", @@ -456,7 +456,7 @@ "IssueType": "migration_caveats", "ObjectType": "TABLE", "ObjectName": "ordinary_tables.geometric_examples", - "Reason": "Unsupported datatype for Live migration - line on column - line_example", + "Reason": "Datatype not yet supported by voyager in live migration. Affected column: line_example and type: line. These columns will be excluded when exporting and importing data in live migration workflows.", "SqlStatement": "CREATE TABLE ordinary_tables.geometric_examples (\n point_example point,\n line_example line,\n lseg_example lseg,\n box_example box,\n path_example path,\n polygon_example polygon,\n circle_example circle\n);", "FilePath": "/Users/priyanshigupta/Documents/voyager/yb-voyager/migtests/tests/pg/omnibus/export-dir/schema/tables/table.sql", "Suggestion": "", @@ -468,7 +468,7 @@ "IssueType": "migration_caveats", "ObjectType": "TABLE", "ObjectName": "ordinary_tables.geometric_examples", - "Reason": "Unsupported datatype for Live migration - lseg on column - lseg_example", + "Reason": "Datatype not yet supported by voyager in live migration. Affected column: lseg_example and type: lseg. These columns will be excluded when exporting and importing data in live migration workflows.", "SqlStatement": "CREATE TABLE ordinary_tables.geometric_examples (\n point_example point,\n line_example line,\n lseg_example lseg,\n box_example box,\n path_example path,\n polygon_example polygon,\n circle_example circle\n);", "FilePath": "/Users/priyanshigupta/Documents/voyager/yb-voyager/migtests/tests/pg/omnibus/export-dir/schema/tables/table.sql", "Suggestion": "", @@ -480,7 +480,7 @@ "IssueType": "migration_caveats", "ObjectType": "TABLE", "ObjectName": "ordinary_tables.geometric_examples", - "Reason": "Unsupported datatype for Live migration - box on column - box_example", + "Reason": "Datatype not yet supported by voyager in live migration. Affected column: box_example and type: box. These columns will be excluded when exporting and importing data in live migration workflows.", "SqlStatement": "CREATE TABLE ordinary_tables.geometric_examples (\n point_example point,\n line_example line,\n lseg_example lseg,\n box_example box,\n path_example path,\n polygon_example polygon,\n circle_example circle\n);", "FilePath": "/Users/priyanshigupta/Documents/voyager/yb-voyager/migtests/tests/pg/omnibus/export-dir/schema/tables/table.sql", "Suggestion": "", @@ -492,7 +492,7 @@ "IssueType": "migration_caveats", "ObjectType": "TABLE", "ObjectName": "ordinary_tables.geometric_examples", - "Reason": "Unsupported datatype for Live migration - path on column - path_example", + "Reason": "Datatype not yet supported by voyager in live migration. Affected column: point_example and type: point. These columns will be excluded when exporting and importing data in live migration workflows.", "SqlStatement": "CREATE TABLE ordinary_tables.geometric_examples (\n point_example point,\n line_example line,\n lseg_example lseg,\n box_example box,\n path_example path,\n polygon_example polygon,\n circle_example circle\n);", "FilePath": "/Users/priyanshigupta/Documents/voyager/yb-voyager/migtests/tests/pg/omnibus/export-dir/schema/tables/table.sql", "Suggestion": "", @@ -504,7 +504,7 @@ "IssueType": "migration_caveats", "ObjectType": "TABLE", "ObjectName": "ordinary_tables.geometric_examples", - "Reason": "Unsupported datatype for Live migration - polygon on column - polygon_example", + "Reason": "Datatype not yet supported by voyager in live migration. Affected column: path_example and type: path. These columns will be excluded when exporting and importing data in live migration workflows.", "SqlStatement": "CREATE TABLE ordinary_tables.geometric_examples (\n point_example point,\n line_example line,\n lseg_example lseg,\n box_example box,\n path_example path,\n polygon_example polygon,\n circle_example circle\n);", "FilePath": "/Users/priyanshigupta/Documents/voyager/yb-voyager/migtests/tests/pg/omnibus/export-dir/schema/tables/table.sql", "Suggestion": "", @@ -516,7 +516,7 @@ "IssueType": "migration_caveats", "ObjectType": "TABLE", "ObjectName": "ordinary_tables.geometric_examples", - "Reason": "Unsupported datatype for Live migration - circle on column - circle_example", + "Reason": "Datatype not yet supported by voyager in live migration. Affected column: circle_example and type: circle. These columns will be excluded when exporting and importing data in live migration workflows.", "SqlStatement": "CREATE TABLE ordinary_tables.geometric_examples (\n point_example point,\n line_example line,\n lseg_example lseg,\n box_example box,\n path_example path,\n polygon_example polygon,\n circle_example circle\n);", "FilePath": "/Users/priyanshigupta/Documents/voyager/yb-voyager/migtests/tests/pg/omnibus/export-dir/schema/tables/table.sql", "Suggestion": "", @@ -528,7 +528,7 @@ "IssueType": "migration_caveats", "ObjectType": "POLICY", "ObjectName": "p1 ON regress_rls_schema.z1", - "Reason": "Policy require roles to be created. Users - (regress_rls_group1)", + "Reason": "Policies require specific roles (regress_rls_group1) to be created in the target database, as roles are not migrated during schema migration. Manually create these roles before running the import schema.", "SqlStatement": "CREATE POLICY p1 ON regress_rls_schema.z1 TO regress_rls_group1 USING (((a % 2) = 0));", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/omnibus/export-dir/schema/policies/policy.sql", "Suggestion": "Users/Grants are not migrated during the schema migration. Create the Users manually to make the policies work", @@ -540,7 +540,7 @@ "IssueType": "migration_caveats", "ObjectType": "POLICY", "ObjectName": "p1_2 ON regress_rls_schema.dob_t1", - "Reason": "Policy require roles to be created. Users - (regress_rls_dob_role1,regress_rls_dob_role2)", + "Reason": "Policies require specific roles (regress_rls_dob_role1, regress_rls_dob_role2) to be created in the target database, as roles are not migrated during schema migration. Manually create these roles before running the import schema.", "SqlStatement": "CREATE POLICY p1_2 ON regress_rls_schema.dob_t1 TO regress_rls_dob_role1, regress_rls_dob_role2 USING (true);", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/omnibus/export-dir/schema/policies/policy.sql", "Suggestion": "Users/Grants are not migrated during the schema migration. Create the Users manually to make the policies work", @@ -552,7 +552,7 @@ "IssueType": "migration_caveats", "ObjectType": "POLICY", "ObjectName": "p1_3 ON regress_rls_schema.dob_t1", - "Reason": "Policy require roles to be created. Users - (regress_rls_dob_role1)", + "Reason": "Policies require specific roles (regress_rls_dob_role1) to be created in the target database, as roles are not migrated during schema migration. Manually create these roles before running the import schema.", "SqlStatement": "CREATE POLICY p1_3 ON regress_rls_schema.dob_t1 TO regress_rls_dob_role1 USING (true);", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/omnibus/export-dir/schema/policies/policy.sql", "Suggestion": "Users/Grants are not migrated during the schema migration. Create the Users manually to make the policies work", @@ -564,7 +564,7 @@ "IssueType": "migration_caveats", "ObjectType": "POLICY", "ObjectName": "p1_4 ON regress_rls_schema.dob_t1", - "Reason": "Policy require roles to be created. Users - (regress_rls_dob_role1,regress_rls_dob_role2)", + "Reason": "Policies require specific roles (regress_rls_dob_role1, regress_rls_dob_role2) to be created in the target database, as roles are not migrated during schema migration. Manually create these roles before running the import schema.", "SqlStatement": "CREATE POLICY p1_4 ON regress_rls_schema.dob_t1 TO regress_rls_dob_role1, regress_rls_dob_role2 USING (true);", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/omnibus/export-dir/schema/policies/policy.sql", "Suggestion": "Users/Grants are not migrated during the schema migration. Create the Users manually to make the policies work", @@ -576,7 +576,7 @@ "IssueType": "migration_caveats", "ObjectType": "POLICY", "ObjectName": "p1r ON regress_rls_schema.document", - "Reason": "Policy require roles to be created. Users - (regress_rls_dave)", + "Reason": "Policies require specific roles (regress_rls_dave) to be created in the target database, as roles are not migrated during schema migration. Manually create these roles before running the import schema.", "SqlStatement": "CREATE POLICY p1r ON regress_rls_schema.document AS RESTRICTIVE TO regress_rls_dave USING ((cid \u003c\u003e 44));", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/omnibus/export-dir/schema/policies/policy.sql", "Suggestion": "Users/Grants are not migrated during the schema migration. Create the Users manually to make the policies work", @@ -588,7 +588,7 @@ "IssueType": "migration_caveats", "ObjectType": "POLICY", "ObjectName": "p2 ON regress_rls_schema.t1_2", - "Reason": "Policy require roles to be created. Users - (regress_rls_carol)", + "Reason": "Policies require specific roles (regress_rls_carol) to be created in the target database, as roles are not migrated during schema migration. Manually create these roles before running the import schema.", "SqlStatement": "CREATE POLICY p2 ON regress_rls_schema.t1_2 TO regress_rls_carol USING (((a % 4) = 0));", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/omnibus/export-dir/schema/policies/policy.sql", "Suggestion": "Users/Grants are not migrated during the schema migration. Create the Users manually to make the policies work", @@ -600,7 +600,7 @@ "IssueType": "migration_caveats", "ObjectType": "POLICY", "ObjectName": "p2 ON regress_rls_schema.z1", - "Reason": "Policy require roles to be created. Users - (regress_rls_group2)", + "Reason": "Policies require specific roles (regress_rls_group2) to be created in the target database, as roles are not migrated during schema migration. Manually create these roles before running the import schema.", "SqlStatement": "CREATE POLICY p2 ON regress_rls_schema.z1 TO regress_rls_group2 USING (((a % 2) = 1));", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/omnibus/export-dir/schema/policies/policy.sql", "Suggestion": "Users/Grants are not migrated during the schema migration. Create the Users manually to make the policies work", @@ -612,7 +612,7 @@ "IssueType": "migration_caveats", "ObjectType": "POLICY", "ObjectName": "p2r ON regress_rls_schema.document", - "Reason": "Policy require roles to be created. Users - (regress_rls_dave)", + "Reason": "Policies require specific roles (regress_rls_dave) to be created in the target database, as roles are not migrated during schema migration. Manually create these roles before running the import schema.", "SqlStatement": "CREATE POLICY p2r ON regress_rls_schema.document AS RESTRICTIVE TO regress_rls_dave USING (((cid \u003c\u003e 44) AND (cid \u003c 50)));", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/omnibus/export-dir/schema/policies/policy.sql", "Suggestion": "Users/Grants are not migrated during the schema migration. Create the Users manually to make the policies work", @@ -624,7 +624,7 @@ "IssueType": "migration_caveats", "ObjectType": "POLICY", "ObjectName": "pp1r ON regress_rls_schema.part_document", - "Reason": "Policy require roles to be created. Users - (regress_rls_dave)", + "Reason": "Policies require specific roles (regress_rls_dave) to be created in the target database, as roles are not migrated during schema migration. Manually create these roles before running the import schema.", "SqlStatement": "CREATE POLICY pp1r ON regress_rls_schema.part_document AS RESTRICTIVE TO regress_rls_dave USING ((cid \u003c 55));", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/omnibus/export-dir/schema/policies/policy.sql", "Suggestion": "Users/Grants are not migrated during the schema migration. Create the Users manually to make the policies work", diff --git a/migtests/tests/pg/osm/expected_files/expected_schema_analysis_report.json b/migtests/tests/pg/osm/expected_files/expected_schema_analysis_report.json index dfbd45e73a..cae99d2e89 100755 --- a/migtests/tests/pg/osm/expected_files/expected_schema_analysis_report.json +++ b/migtests/tests/pg/osm/expected_files/expected_schema_analysis_report.json @@ -58,7 +58,7 @@ "IssueType": "unsupported_datatypes", "ObjectType": "TABLE", "ObjectName": "public.osm_changeset", - "Reason": "Unsupported datatype - geometry on column - geom", + "Reason": "PostGIS datatypes are not yet supported in YugabyteDB. Affected column: geom and type: geometry.", "SqlStatement": "CREATE TABLE public.osm_changeset (id bigint NOT NULL, user_id bigint, created_at timestamp, min_lat numeric(10, 7), max_lat numeric(10, 7), min_lon numeric(10, 7), max_lon numeric(10, 7), closed_at timestamp, open boolean, num_changes int, user_name varchar(255), tags public.hstore, geom public.geometry(polygon, 4326)) WITH (colocation=false);", "FilePath": "/Users/priyanshigupta/Documents/voyager/yb-voyager/migtests/tests/pg/osm/export-dir/schema/tables/table.sql", "Suggestion": "", @@ -70,7 +70,7 @@ "IssueType": "migration_caveats", "ObjectType": "TABLE", "ObjectName": "public.osm_changeset", - "Reason": "Unsupported datatype for Live migration with fall-forward/fallback - public.hstore on column - tags", + "Reason": "Datatype not yet supported by voyager in live migration with fall-forward/fallback. Affected column: tags and type: public.hstore. These columns will be excluded when exporting and importing data in live migration workflows.", "SqlStatement": "CREATE TABLE public.osm_changeset (id bigint NOT NULL, user_id bigint, created_at timestamp, min_lat numeric(10, 7), max_lat numeric(10, 7), min_lon numeric(10, 7), max_lon numeric(10, 7), closed_at timestamp, open boolean, num_changes int, user_name varchar(255), tags public.hstore, geom public.geometry(polygon, 4326)) WITH (colocation=false);", "FilePath": "/Users/priyanshigupta/Documents/voyager/yb-voyager/migtests/tests/pg/osm/export-dir/schema/tables/table.sql", "Suggestion": "", @@ -82,7 +82,7 @@ "IssueType": "unsupported_features", "ObjectType": "INDEX", "ObjectName": "changeset_geom_gist ON public.osm_changeset", - "Reason": "Schema contains GIST index which is not supported.", + "Reason": "The schema contains an index with an access method 'GIST' which is not supported in YugabyteDB.", "SqlStatement": "CREATE INDEX changeset_geom_gist ON public.osm_changeset USING gist (geom);", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/osm/export-dir/schema/tables/INDEXES_table.sql", "Suggestion": "", diff --git a/migtests/tests/pg/pgtbrus/expected_files/expected_schema_analysis_report.json b/migtests/tests/pg/pgtbrus/expected_files/expected_schema_analysis_report.json index f886d71f44..cce83cf7bc 100755 --- a/migtests/tests/pg/pgtbrus/expected_files/expected_schema_analysis_report.json +++ b/migtests/tests/pg/pgtbrus/expected_files/expected_schema_analysis_report.json @@ -63,7 +63,7 @@ "IssueType": "migration_caveats", "ObjectType": "FOREIGN TABLE", "ObjectName": "public.f_c", - "Reason": "Foreign tables require manual intervention.", + "Reason": "Foreign table creation fails as SERVER and USER MAPPING objects are not exported by voyager. These should be manually created to make the foreign tables work.", "SqlStatement": "CREATE FOREIGN TABLE public.f_c ( i integer NOT NULL, t integer, x text ) SERVER p10 OPTIONS ( table_name 'c' );", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/pgtbrus/export-dir/schema/tables/foreign_table.sql", "Suggestion": "SERVER 'p10', and USER MAPPING should be created manually on the target to create and use the foreign table", @@ -75,7 +75,7 @@ "IssueType": "migration_caveats", "ObjectType": "FOREIGN TABLE", "ObjectName": "public.f_t", - "Reason": "Foreign tables require manual intervention.", + "Reason": "Foreign table creation fails as SERVER and USER MAPPING objects are not exported by voyager. These should be manually created to make the foreign tables work.", "SqlStatement": "CREATE FOREIGN TABLE public.f_t ( i integer NOT NULL, ts timestamp(0) with time zone DEFAULT now(), j json, t text, e public.myenum, c public.mycomposit ) SERVER p10 OPTIONS ( table_name 't' );", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/pgtbrus/export-dir/schema/tables/foreign_table.sql", "Suggestion": "SERVER 'p10', and USER MAPPING should be created manually on the target to create and use the foreign table", @@ -87,7 +87,7 @@ "IssueType": "migration_caveats", "ObjectType": "TABLE", "ObjectName": "public.t", - "Reason": "Unsupported datatype for Live migration with fall-forward/fallback - public.mycomposit on column - c", + "Reason": "Datatype not yet supported by voyager in live migration with fall-forward/fallback. Affected column: c and type: public.mycomposit. These columns will be excluded when exporting and importing data in live migration workflows.", "SqlStatement": "CREATE TABLE public.t (\n i integer NOT NULL,\n ts timestamp(0) with time zone DEFAULT now(),\n j json,\n t text,\n e public.myenum,\n c public.mycomposit\n);", "FilePath": "/Users/priyanshigupta/Documents/voyager/yb-voyager/migtests/tests/pg/pgtbrus/export-dir/schema/tables/table.sql", "Suggestion": "", diff --git a/migtests/tests/pg/rna/expected_files/expected_schema_analysis_report.json b/migtests/tests/pg/rna/expected_files/expected_schema_analysis_report.json index 33fbca2cce..681d7f4ff5 100644 --- a/migtests/tests/pg/rna/expected_files/expected_schema_analysis_report.json +++ b/migtests/tests/pg/rna/expected_files/expected_schema_analysis_report.json @@ -70,7 +70,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "rnacen.xref_p10_deleted", - "Reason": "TABLE INHERITANCE not supported in YugabyteDB", + "Reason": "Table inheritance is not yet supported in YugabyteDB", "SqlStatement": "CREATE TABLE rnacen.xref_p10_deleted (CONSTRAINT \"ck_xref$deleted\" CHECK (deleted = ANY(ARRAY['Y'::bpchar, 'N'::bpchar])), CONSTRAINT xref_p10_deleted_check CHECK (dbid = 10 AND deleted = 'Y'::bpchar)) INHERITS (rnacen.xref) WITH (colocation=false);", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/rna/export-dir/schema/tables/table.sql", "Suggestion": "", @@ -82,7 +82,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "rnacen.xref_p10_not_deleted", - "Reason": "TABLE INHERITANCE not supported in YugabyteDB", + "Reason": "Table inheritance is not yet supported in YugabyteDB", "SqlStatement": "CREATE TABLE rnacen.xref_p10_not_deleted (CONSTRAINT \"ck_xref$deleted\" CHECK (deleted = ANY(ARRAY['Y'::bpchar, 'N'::bpchar])), CONSTRAINT xref_p10_not_deleted_check CHECK (dbid = 10 AND deleted = 'N'::bpchar)) INHERITS (rnacen.xref) WITH (colocation=false);", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/rna/export-dir/schema/tables/table.sql", "Suggestion": "", @@ -94,7 +94,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "rnacen.xref_p11_deleted", - "Reason": "TABLE INHERITANCE not supported in YugabyteDB", + "Reason": "Table inheritance is not yet supported in YugabyteDB", "SqlStatement": "CREATE TABLE rnacen.xref_p11_deleted (dbid smallint, created int, last int, upi varchar(26), version_i int, deleted char(1), \"timestamp\" timestamp DEFAULT ('now'::text::timestamp), userstamp varchar(20) DEFAULT ('USER'::varchar), ac varchar(300), version int, taxid bigint, id bigint DEFAULT nextval('rnacen.xref_pk_seq'::regclass), CONSTRAINT \"ck_xref$deleted\" CHECK (deleted = ANY(ARRAY['Y'::bpchar, 'N'::bpchar])), CONSTRAINT xref_p11_deleted_check CHECK (dbid = 11 AND deleted = 'Y'::bpchar)) INHERITS (rnacen.xref) WITH (colocation=false);", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/rna/export-dir/schema/tables/table.sql", "Suggestion": "", @@ -106,7 +106,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "rnacen.xref_p11_not_deleted", - "Reason": "TABLE INHERITANCE not supported in YugabyteDB", + "Reason": "Table inheritance is not yet supported in YugabyteDB", "SqlStatement": "CREATE TABLE rnacen.xref_p11_not_deleted (dbid smallint, created int, last int, upi varchar(26), version_i int, deleted char(1), \"timestamp\" timestamp DEFAULT ('now'::text::timestamp), userstamp varchar(20) DEFAULT ('USER'::varchar), ac varchar(300), version int, taxid bigint, id bigint DEFAULT nextval('rnacen.xref_pk_seq'::regclass), CONSTRAINT \"ck_xref$deleted\" CHECK (deleted = ANY(ARRAY['Y'::bpchar, 'N'::bpchar])), CONSTRAINT xref_p11_not_deleted_check CHECK (dbid = 11 AND deleted = 'N'::bpchar)) INHERITS (rnacen.xref) WITH (colocation=false);", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/rna/export-dir/schema/tables/table.sql", "Suggestion": "", @@ -118,7 +118,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "rnacen.xref_p12_deleted", - "Reason": "TABLE INHERITANCE not supported in YugabyteDB", + "Reason": "Table inheritance is not yet supported in YugabyteDB", "SqlStatement": "CREATE TABLE rnacen.xref_p12_deleted (dbid smallint, created int, last int, upi varchar(26), version_i int, deleted char(1), \"timestamp\" timestamp DEFAULT ('now'::text::timestamp), userstamp varchar(20) DEFAULT ('USER'::varchar), ac varchar(300), version int, taxid bigint, id bigint DEFAULT nextval('rnacen.xref_pk_seq'::regclass), CONSTRAINT \"ck_xref$deleted\" CHECK (deleted = ANY(ARRAY['Y'::bpchar, 'N'::bpchar])), CONSTRAINT xref_p12_deleted_check CHECK (dbid = 12 AND deleted = 'Y'::bpchar)) INHERITS (rnacen.xref) WITH (colocation=false);", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/rna/export-dir/schema/tables/table.sql", "Suggestion": "", @@ -130,7 +130,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "rnacen.xref_p12_not_deleted", - "Reason": "TABLE INHERITANCE not supported in YugabyteDB", + "Reason": "Table inheritance is not yet supported in YugabyteDB", "SqlStatement": "CREATE TABLE rnacen.xref_p12_not_deleted (dbid smallint, created int, last int, upi varchar(26), version_i int, deleted char(1), \"timestamp\" timestamp DEFAULT ('now'::text::timestamp), userstamp varchar(20) DEFAULT ('USER'::varchar), ac varchar(300), version int, taxid bigint, id bigint DEFAULT nextval('rnacen.xref_pk_seq'::regclass), CONSTRAINT \"ck_xref$deleted\" CHECK (deleted = ANY(ARRAY['Y'::bpchar, 'N'::bpchar])), CONSTRAINT xref_p12_not_deleted_check CHECK (dbid = 12 AND deleted = 'N'::bpchar)) INHERITS (rnacen.xref) WITH (colocation=false);", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/rna/export-dir/schema/tables/table.sql", "Suggestion": "", @@ -142,7 +142,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "rnacen.xref_p13_deleted", - "Reason": "TABLE INHERITANCE not supported in YugabyteDB", + "Reason": "Table inheritance is not yet supported in YugabyteDB", "SqlStatement": "CREATE TABLE rnacen.xref_p13_deleted (CONSTRAINT \"ck_xref$deleted\" CHECK (deleted = ANY(ARRAY['Y'::bpchar, 'N'::bpchar])), CONSTRAINT xref_p13_deleted_check CHECK (dbid = 13 AND deleted = 'Y'::bpchar)) INHERITS (rnacen.xref) WITH (colocation=false);", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/rna/export-dir/schema/tables/table.sql", "Suggestion": "", @@ -154,7 +154,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "rnacen.xref_p13_not_deleted", - "Reason": "TABLE INHERITANCE not supported in YugabyteDB", + "Reason": "Table inheritance is not yet supported in YugabyteDB", "SqlStatement": "CREATE TABLE rnacen.xref_p13_not_deleted (CONSTRAINT \"ck_xref$deleted\" CHECK (deleted = ANY(ARRAY['Y'::bpchar, 'N'::bpchar])), CONSTRAINT xref_p13_not_deleted_check CHECK (dbid = 13 AND deleted = 'N'::bpchar)) INHERITS (rnacen.xref) WITH (colocation=false);", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/rna/export-dir/schema/tables/table.sql", "Suggestion": "", @@ -166,7 +166,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "rnacen.xref_p14_deleted", - "Reason": "TABLE INHERITANCE not supported in YugabyteDB", + "Reason": "Table inheritance is not yet supported in YugabyteDB", "SqlStatement": "CREATE TABLE rnacen.xref_p14_deleted (dbid smallint, created int, last int, upi varchar(26), version_i int, deleted char(1), \"timestamp\" timestamp DEFAULT ('now'::text::timestamp), userstamp varchar(20) DEFAULT ('USER'::varchar), ac varchar(300), version int, taxid bigint, id bigint DEFAULT nextval('rnacen.xref_pk_seq'::regclass), CONSTRAINT \"ck_xref$deleted\" CHECK (deleted = ANY(ARRAY['Y'::bpchar, 'N'::bpchar])), CONSTRAINT xref_p14_deleted_check CHECK (dbid = 14 AND deleted = 'Y'::bpchar)) INHERITS (rnacen.xref) WITH (colocation=false);", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/rna/export-dir/schema/tables/table.sql", "Suggestion": "", @@ -178,7 +178,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "rnacen.xref_p14_not_deleted", - "Reason": "TABLE INHERITANCE not supported in YugabyteDB", + "Reason": "Table inheritance is not yet supported in YugabyteDB", "SqlStatement": "CREATE TABLE rnacen.xref_p14_not_deleted (dbid smallint, created int, last int, upi varchar(26), version_i int, deleted char(1), \"timestamp\" timestamp DEFAULT ('now'::text::timestamp), userstamp varchar(20) DEFAULT ('USER'::varchar), ac varchar(300), version int, taxid bigint, id bigint DEFAULT nextval('rnacen.xref_pk_seq'::regclass), CONSTRAINT \"ck_xref$deleted\" CHECK (deleted = ANY(ARRAY['Y'::bpchar, 'N'::bpchar])), CONSTRAINT xref_p14_not_deleted_check CHECK (dbid = 14 AND deleted = 'N'::bpchar)) INHERITS (rnacen.xref) WITH (colocation=false);", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/rna/export-dir/schema/tables/table.sql", "Suggestion": "", @@ -190,7 +190,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "rnacen.xref_p15_deleted", - "Reason": "TABLE INHERITANCE not supported in YugabyteDB", + "Reason": "Table inheritance is not yet supported in YugabyteDB", "SqlStatement": "CREATE TABLE rnacen.xref_p15_deleted (dbid smallint, created int, last int, upi varchar(26), version_i int, deleted char(1), \"timestamp\" timestamp DEFAULT ('now'::text::timestamp), userstamp varchar(20) DEFAULT ('USER'::varchar), ac varchar(300), version int, taxid bigint, id bigint DEFAULT nextval('rnacen.xref_pk_seq'::regclass), CONSTRAINT \"ck_xref$deleted\" CHECK (deleted = ANY(ARRAY['Y'::bpchar, 'N'::bpchar])), CONSTRAINT xref_p15_deleted_check CHECK (dbid = 15 AND deleted = 'Y'::bpchar)) INHERITS (rnacen.xref) WITH (colocation=false);", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/rna/export-dir/schema/tables/table.sql", "Suggestion": "", @@ -202,7 +202,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "rnacen.xref_p15_not_deleted", - "Reason": "TABLE INHERITANCE not supported in YugabyteDB", + "Reason": "Table inheritance is not yet supported in YugabyteDB", "SqlStatement": "CREATE TABLE rnacen.xref_p15_not_deleted (dbid smallint, created int, last int, upi varchar(26), version_i int, deleted char(1), \"timestamp\" timestamp DEFAULT ('now'::text::timestamp), userstamp varchar(20) DEFAULT ('USER'::varchar), ac varchar(300), version int, taxid bigint, id bigint DEFAULT nextval('rnacen.xref_pk_seq'::regclass), CONSTRAINT \"ck_xref$deleted\" CHECK (deleted = ANY(ARRAY['Y'::bpchar, 'N'::bpchar])), CONSTRAINT xref_p15_not_deleted_check CHECK (dbid = 15 AND deleted = 'N'::bpchar)) INHERITS (rnacen.xref) WITH (colocation=false);", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/rna/export-dir/schema/tables/table.sql", "Suggestion": "", @@ -214,7 +214,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "rnacen.xref_p16_deleted", - "Reason": "TABLE INHERITANCE not supported in YugabyteDB", + "Reason": "Table inheritance is not yet supported in YugabyteDB", "SqlStatement": "CREATE TABLE rnacen.xref_p16_deleted (dbid smallint, created int, last int, upi varchar(26), version_i int, deleted char(1), \"timestamp\" timestamp DEFAULT ('now'::text::timestamp), userstamp varchar(20) DEFAULT ('USER'::varchar), ac varchar(300), version int, taxid bigint, id bigint DEFAULT nextval('rnacen.xref_pk_seq'::regclass), CONSTRAINT \"ck_xref$deleted\" CHECK (deleted = ANY(ARRAY['Y'::bpchar, 'N'::bpchar])), CONSTRAINT xref_p16_deleted_check CHECK (dbid = 16 AND deleted = 'Y'::bpchar)) INHERITS (rnacen.xref) WITH (colocation=false);", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/rna/export-dir/schema/tables/table.sql", "Suggestion": "", @@ -226,7 +226,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "rnacen.xref_p16_not_deleted", - "Reason": "TABLE INHERITANCE not supported in YugabyteDB", + "Reason": "Table inheritance is not yet supported in YugabyteDB", "SqlStatement": "CREATE TABLE rnacen.xref_p16_not_deleted (dbid smallint, created int, last int, upi varchar(26), version_i int, deleted char(1), \"timestamp\" timestamp DEFAULT ('now'::text::timestamp), userstamp varchar(20) DEFAULT ('USER'::varchar), ac varchar(300), version int, taxid bigint, id bigint DEFAULT nextval('rnacen.xref_pk_seq'::regclass), CONSTRAINT \"ck_xref$deleted\" CHECK (deleted = ANY(ARRAY['Y'::bpchar, 'N'::bpchar])), CONSTRAINT xref_p16_not_deleted_check CHECK (dbid = 16 AND deleted = 'N'::bpchar)) INHERITS (rnacen.xref) WITH (colocation=false);", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/rna/export-dir/schema/tables/table.sql", "Suggestion": "", @@ -238,7 +238,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "rnacen.xref_p17_deleted", - "Reason": "TABLE INHERITANCE not supported in YugabyteDB", + "Reason": "Table inheritance is not yet supported in YugabyteDB", "SqlStatement": "CREATE TABLE rnacen.xref_p17_deleted (dbid smallint, created int, last int, upi varchar(26), version_i int, deleted char(1), \"timestamp\" timestamp DEFAULT ('now'::text::timestamp), userstamp varchar(20) DEFAULT ('USER'::varchar), ac varchar(300), version int, taxid bigint, id bigint DEFAULT nextval('rnacen.xref_pk_seq'::regclass), CONSTRAINT \"ck_xref$deleted\" CHECK (deleted = ANY(ARRAY['Y'::bpchar, 'N'::bpchar])), CONSTRAINT xref_p17_deleted_check CHECK (dbid = 17 AND deleted = 'Y'::bpchar)) INHERITS (rnacen.xref) WITH (colocation=false);", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/rna/export-dir/schema/tables/table.sql", "Suggestion": "", @@ -250,7 +250,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "rnacen.xref_p17_not_deleted", - "Reason": "TABLE INHERITANCE not supported in YugabyteDB", + "Reason": "Table inheritance is not yet supported in YugabyteDB", "SqlStatement": "CREATE TABLE rnacen.xref_p17_not_deleted (dbid smallint, created int, last int, upi varchar(26), version_i int, deleted char(1), \"timestamp\" timestamp DEFAULT ('now'::text::timestamp), userstamp varchar(20) DEFAULT ('USER'::varchar), ac varchar(300), version int, taxid bigint, id bigint DEFAULT nextval('rnacen.xref_pk_seq'::regclass), CONSTRAINT \"ck_xref$deleted\" CHECK (deleted = ANY(ARRAY['Y'::bpchar, 'N'::bpchar])), CONSTRAINT xref_p17_not_deleted_check CHECK (dbid = 17 AND deleted = 'N'::bpchar)) INHERITS (rnacen.xref) WITH (colocation=false);", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/rna/export-dir/schema/tables/table.sql", "Suggestion": "", @@ -262,7 +262,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "rnacen.xref_p18_deleted", - "Reason": "TABLE INHERITANCE not supported in YugabyteDB", + "Reason": "Table inheritance is not yet supported in YugabyteDB", "SqlStatement": "CREATE TABLE rnacen.xref_p18_deleted (dbid smallint, created int, last int, upi varchar(26), version_i int, deleted char(1), \"timestamp\" timestamp DEFAULT ('now'::text::timestamp), userstamp varchar(20) DEFAULT ('USER'::varchar), ac varchar(300), version int, taxid bigint, id bigint DEFAULT nextval('rnacen.xref_pk_seq'::regclass), CONSTRAINT \"ck_xref$deleted\" CHECK (deleted = ANY(ARRAY['Y'::bpchar, 'N'::bpchar])), CONSTRAINT xref_p18_deleted_check CHECK (dbid = 18 AND deleted = 'Y'::bpchar)) INHERITS (rnacen.xref) WITH (colocation=false);", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/rna/export-dir/schema/tables/table.sql", "Suggestion": "", @@ -274,7 +274,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "rnacen.xref_p18_not_deleted", - "Reason": "TABLE INHERITANCE not supported in YugabyteDB", + "Reason": "Table inheritance is not yet supported in YugabyteDB", "SqlStatement": "CREATE TABLE rnacen.xref_p18_not_deleted (dbid smallint, created int, last int, upi varchar(26), version_i int, deleted char(1), \"timestamp\" timestamp DEFAULT ('now'::text::timestamp), userstamp varchar(20) DEFAULT ('USER'::varchar), ac varchar(300), version int, taxid bigint, id bigint DEFAULT nextval('rnacen.xref_pk_seq'::regclass), CONSTRAINT \"ck_xref$deleted\" CHECK (deleted = ANY(ARRAY['Y'::bpchar, 'N'::bpchar])), CONSTRAINT xref_p18_not_deleted_check CHECK (dbid = 18 AND deleted = 'N'::bpchar)) INHERITS (rnacen.xref) WITH (colocation=false);", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/rna/export-dir/schema/tables/table.sql", "Suggestion": "", @@ -286,7 +286,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "rnacen.xref_p19_deleted", - "Reason": "TABLE INHERITANCE not supported in YugabyteDB", + "Reason": "Table inheritance is not yet supported in YugabyteDB", "SqlStatement": "CREATE TABLE rnacen.xref_p19_deleted (CONSTRAINT \"ck_xref$deleted\" CHECK (deleted = ANY(ARRAY['Y'::bpchar, 'N'::bpchar])), CONSTRAINT xref_p19_deleted_check CHECK (dbid = 19 AND deleted = 'Y'::bpchar)) INHERITS (rnacen.xref) WITH (colocation=false);", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/rna/export-dir/schema/tables/table.sql", "Suggestion": "", @@ -298,7 +298,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "rnacen.xref_p19_not_deleted", - "Reason": "TABLE INHERITANCE not supported in YugabyteDB", + "Reason": "Table inheritance is not yet supported in YugabyteDB", "SqlStatement": "CREATE TABLE rnacen.xref_p19_not_deleted (CONSTRAINT \"ck_xref$deleted\" CHECK (deleted = ANY(ARRAY['Y'::bpchar, 'N'::bpchar])), CONSTRAINT xref_p19_not_deleted_check CHECK (dbid = 19 AND deleted = 'N'::bpchar)) INHERITS (rnacen.xref) WITH (colocation=false);", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/rna/export-dir/schema/tables/table.sql", "Suggestion": "", @@ -310,7 +310,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "rnacen.xref_p1_deleted", - "Reason": "TABLE INHERITANCE not supported in YugabyteDB", + "Reason": "Table inheritance is not yet supported in YugabyteDB", "SqlStatement": "CREATE TABLE rnacen.xref_p1_deleted (dbid smallint, created int, last int, upi varchar(26), version_i int, deleted char(1), \"timestamp\" timestamp DEFAULT ('now'::text::timestamp), userstamp varchar(20) DEFAULT ('USER'::varchar), ac varchar(300), version int, taxid bigint, id bigint DEFAULT nextval('rnacen.xref_pk_seq'::regclass), CONSTRAINT \"ck_xref$deleted\" CHECK (deleted = ANY(ARRAY['Y'::bpchar, 'N'::bpchar])), CONSTRAINT xref_p1_deleted_check CHECK (dbid = 1 AND deleted = 'Y'::bpchar)) INHERITS (rnacen.xref) WITH (colocation=false);", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/rna/export-dir/schema/tables/table.sql", "Suggestion": "", @@ -322,7 +322,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "rnacen.xref_p1_not_deleted", - "Reason": "TABLE INHERITANCE not supported in YugabyteDB", + "Reason": "Table inheritance is not yet supported in YugabyteDB", "SqlStatement": "CREATE TABLE rnacen.xref_p1_not_deleted (dbid smallint, created int, last int, upi varchar(26), version_i int, deleted char(1), \"timestamp\" timestamp DEFAULT ('now'::text::timestamp), userstamp varchar(20) DEFAULT ('USER'::varchar), ac varchar(300), version int, taxid bigint, id bigint DEFAULT nextval('rnacen.xref_pk_seq'::regclass), CONSTRAINT \"ck_xref$deleted\" CHECK (deleted = ANY(ARRAY['Y'::bpchar, 'N'::bpchar])), CONSTRAINT xref_p1_not_deleted_check CHECK (dbid = 1 AND deleted = 'N'::bpchar)) INHERITS (rnacen.xref) WITH (colocation=false);", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/rna/export-dir/schema/tables/table.sql", "Suggestion": "", @@ -334,7 +334,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "rnacen.xref_p20_deleted", - "Reason": "TABLE INHERITANCE not supported in YugabyteDB", + "Reason": "Table inheritance is not yet supported in YugabyteDB", "SqlStatement": "CREATE TABLE rnacen.xref_p20_deleted (dbid smallint, created int, last int, upi varchar(26), version_i int, deleted char(1), \"timestamp\" timestamp DEFAULT ('now'::text::timestamp), userstamp varchar(20) DEFAULT ('USER'::varchar), ac varchar(300), version int, taxid bigint, id bigint DEFAULT nextval('rnacen.xref_pk_seq'::regclass), CONSTRAINT \"ck_xref$deleted\" CHECK (deleted = ANY(ARRAY['Y'::bpchar, 'N'::bpchar])), CONSTRAINT xref_p20_deleted_check CHECK (dbid = 20 AND deleted = 'Y'::bpchar)) INHERITS (rnacen.xref) WITH (colocation=false);", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/rna/export-dir/schema/tables/table.sql", "Suggestion": "", @@ -346,7 +346,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "rnacen.xref_p20_not_deleted", - "Reason": "TABLE INHERITANCE not supported in YugabyteDB", + "Reason": "Table inheritance is not yet supported in YugabyteDB", "SqlStatement": "CREATE TABLE rnacen.xref_p20_not_deleted (dbid smallint, created int, last int, upi varchar(26), version_i int, deleted char(1), \"timestamp\" timestamp DEFAULT ('now'::text::timestamp), userstamp varchar(20) DEFAULT ('USER'::varchar), ac varchar(300), version int, taxid bigint, id bigint DEFAULT nextval('rnacen.xref_pk_seq'::regclass), CONSTRAINT \"ck_xref$deleted\" CHECK (deleted = ANY(ARRAY['Y'::bpchar, 'N'::bpchar])), CONSTRAINT xref_p20_not_deleted_check CHECK (dbid = 20 AND deleted = 'N'::bpchar)) INHERITS (rnacen.xref) WITH (colocation=false);", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/rna/export-dir/schema/tables/table.sql", "Suggestion": "", @@ -358,7 +358,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "rnacen.xref_p21_deleted", - "Reason": "TABLE INHERITANCE not supported in YugabyteDB", + "Reason": "Table inheritance is not yet supported in YugabyteDB", "SqlStatement": "CREATE TABLE rnacen.xref_p21_deleted (CONSTRAINT \"ck_xref$deleted\" CHECK (deleted = ANY(ARRAY['Y'::bpchar, 'N'::bpchar])), CONSTRAINT xref_p21_deleted_check CHECK (dbid = 21 AND deleted = 'Y'::bpchar)) INHERITS (rnacen.xref) WITH (colocation=false);", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/rna/export-dir/schema/tables/table.sql", "Suggestion": "", @@ -370,7 +370,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "rnacen.xref_p21_not_deleted", - "Reason": "TABLE INHERITANCE not supported in YugabyteDB", + "Reason": "Table inheritance is not yet supported in YugabyteDB", "SqlStatement": "CREATE TABLE rnacen.xref_p21_not_deleted (CONSTRAINT \"ck_xref$deleted\" CHECK (deleted = ANY(ARRAY['Y'::bpchar, 'N'::bpchar])), CONSTRAINT xref_p21_not_deleted_check CHECK (dbid = 21 AND deleted = 'N'::bpchar)) INHERITS (rnacen.xref) WITH (colocation=false);", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/rna/export-dir/schema/tables/table.sql", "Suggestion": "", @@ -382,7 +382,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "rnacen.xref_p22_deleted", - "Reason": "TABLE INHERITANCE not supported in YugabyteDB", + "Reason": "Table inheritance is not yet supported in YugabyteDB", "SqlStatement": "CREATE TABLE rnacen.xref_p22_deleted (CONSTRAINT \"ck_xref$deleted\" CHECK (deleted = ANY(ARRAY['Y'::bpchar, 'N'::bpchar])), CONSTRAINT xref_p22_deleted_check CHECK (dbid = 22 AND deleted = 'Y'::bpchar)) INHERITS (rnacen.xref) WITH (colocation=false);", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/rna/export-dir/schema/tables/table.sql", "Suggestion": "", @@ -394,7 +394,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "rnacen.xref_p22_not_deleted", - "Reason": "TABLE INHERITANCE not supported in YugabyteDB", + "Reason": "Table inheritance is not yet supported in YugabyteDB", "SqlStatement": "CREATE TABLE rnacen.xref_p22_not_deleted (CONSTRAINT \"ck_xref$deleted\" CHECK (deleted = ANY(ARRAY['Y'::bpchar, 'N'::bpchar])), CONSTRAINT xref_p22_not_deleted_check CHECK (dbid = 22 AND deleted = 'N'::bpchar)) INHERITS (rnacen.xref) WITH (colocation=false);", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/rna/export-dir/schema/tables/table.sql", "Suggestion": "", @@ -406,7 +406,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "rnacen.xref_p23_deleted", - "Reason": "TABLE INHERITANCE not supported in YugabyteDB", + "Reason": "Table inheritance is not yet supported in YugabyteDB", "SqlStatement": "CREATE TABLE rnacen.xref_p23_deleted (dbid smallint, created int, last int, upi varchar(26), version_i int, deleted char(1), \"timestamp\" timestamp DEFAULT ('now'::text::timestamp), userstamp varchar(20) DEFAULT ('USER'::varchar), ac varchar(300), version int, taxid bigint, id bigint DEFAULT nextval('rnacen.xref_pk_seq'::regclass), CONSTRAINT \"ck_xref$deleted\" CHECK (deleted = ANY(ARRAY['Y'::bpchar, 'N'::bpchar])), CONSTRAINT xref_p23_deleted_check CHECK (dbid = 23 AND deleted = 'Y'::bpchar)) INHERITS (rnacen.xref) WITH (colocation=false);", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/rna/export-dir/schema/tables/table.sql", "Suggestion": "", @@ -418,7 +418,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "rnacen.xref_p23_not_deleted", - "Reason": "TABLE INHERITANCE not supported in YugabyteDB", + "Reason": "Table inheritance is not yet supported in YugabyteDB", "SqlStatement": "CREATE TABLE rnacen.xref_p23_not_deleted (dbid smallint, created int, last int, upi varchar(26), version_i int, deleted char(1), \"timestamp\" timestamp DEFAULT ('now'::text::timestamp), userstamp varchar(20) DEFAULT ('USER'::varchar), ac varchar(300), version int, taxid bigint, id bigint DEFAULT nextval('rnacen.xref_pk_seq'::regclass), CONSTRAINT \"ck_xref$deleted\" CHECK (deleted = ANY(ARRAY['Y'::bpchar, 'N'::bpchar])), CONSTRAINT xref_p23_not_deleted_check CHECK (dbid = 23 AND deleted = 'N'::bpchar)) INHERITS (rnacen.xref) WITH (colocation=false);", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/rna/export-dir/schema/tables/table.sql", "Suggestion": "", @@ -430,7 +430,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "rnacen.xref_p24_deleted", - "Reason": "TABLE INHERITANCE not supported in YugabyteDB", + "Reason": "Table inheritance is not yet supported in YugabyteDB", "SqlStatement": "CREATE TABLE rnacen.xref_p24_deleted (dbid smallint, created int, last int, upi varchar(26), version_i int, deleted char(1), \"timestamp\" timestamp DEFAULT ('now'::text::timestamp), userstamp varchar(20) DEFAULT ('USER'::varchar), ac varchar(300), version int, taxid bigint, id bigint DEFAULT nextval('rnacen.xref_pk_seq'::regclass), CONSTRAINT \"ck_xref$deleted\" CHECK (deleted = ANY(ARRAY['Y'::bpchar, 'N'::bpchar])), CONSTRAINT xref_p24_deleted_check CHECK (dbid = 24 AND deleted = 'Y'::bpchar)) INHERITS (rnacen.xref) WITH (colocation=false);", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/rna/export-dir/schema/tables/table.sql", "Suggestion": "", @@ -442,7 +442,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "rnacen.xref_p24_not_deleted", - "Reason": "TABLE INHERITANCE not supported in YugabyteDB", + "Reason": "Table inheritance is not yet supported in YugabyteDB", "SqlStatement": "CREATE TABLE rnacen.xref_p24_not_deleted (dbid smallint, created int, last int, upi varchar(26), version_i int, deleted char(1), \"timestamp\" timestamp DEFAULT ('now'::text::timestamp), userstamp varchar(20) DEFAULT ('USER'::varchar), ac varchar(300), version int, taxid bigint, id bigint DEFAULT nextval('rnacen.xref_pk_seq'::regclass), CONSTRAINT \"ck_xref$deleted\" CHECK (deleted = ANY(ARRAY['Y'::bpchar, 'N'::bpchar])), CONSTRAINT xref_p24_not_deleted_check CHECK (dbid = 24 AND deleted = 'N'::bpchar)) INHERITS (rnacen.xref) WITH (colocation=false);", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/rna/export-dir/schema/tables/table.sql", "Suggestion": "", @@ -454,7 +454,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "rnacen.xref_p25_deleted", - "Reason": "TABLE INHERITANCE not supported in YugabyteDB", + "Reason": "Table inheritance is not yet supported in YugabyteDB", "SqlStatement": "CREATE TABLE rnacen.xref_p25_deleted (dbid smallint, created int, last int, upi varchar(26), version_i int, deleted char(1), \"timestamp\" timestamp DEFAULT ('now'::text::timestamp), userstamp varchar(20) DEFAULT ('USER'::varchar), ac varchar(300), version int, taxid bigint, id bigint DEFAULT nextval('rnacen.xref_pk_seq'::regclass), CONSTRAINT \"ck_xref$deleted\" CHECK (deleted = ANY(ARRAY['Y'::bpchar, 'N'::bpchar])), CONSTRAINT xref_p25_deleted_check CHECK (dbid = 25 AND deleted = 'Y'::bpchar)) INHERITS (rnacen.xref) WITH (colocation=false);", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/rna/export-dir/schema/tables/table.sql", "Suggestion": "", @@ -466,7 +466,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "rnacen.xref_p25_not_deleted", - "Reason": "TABLE INHERITANCE not supported in YugabyteDB", + "Reason": "Table inheritance is not yet supported in YugabyteDB", "SqlStatement": "CREATE TABLE rnacen.xref_p25_not_deleted (dbid smallint, created int, last int, upi varchar(26), version_i int, deleted char(1), \"timestamp\" timestamp DEFAULT ('now'::text::timestamp), userstamp varchar(20) DEFAULT ('USER'::varchar), ac varchar(300), version int, taxid bigint, id bigint DEFAULT nextval('rnacen.xref_pk_seq'::regclass), CONSTRAINT \"ck_xref$deleted\" CHECK (deleted = ANY(ARRAY['Y'::bpchar, 'N'::bpchar])), CONSTRAINT xref_p25_not_deleted_check CHECK (dbid = 25 AND deleted = 'N'::bpchar)) INHERITS (rnacen.xref) WITH (colocation=false);", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/rna/export-dir/schema/tables/table.sql", "Suggestion": "", @@ -478,7 +478,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "rnacen.xref_p26_deleted", - "Reason": "TABLE INHERITANCE not supported in YugabyteDB", + "Reason": "Table inheritance is not yet supported in YugabyteDB", "SqlStatement": "CREATE TABLE rnacen.xref_p26_deleted (dbid smallint, created int, last int, upi varchar(26), version_i int, deleted char(1), \"timestamp\" timestamp DEFAULT ('now'::text::timestamp), userstamp varchar(20) DEFAULT ('USER'::varchar), ac varchar(300), version int, taxid bigint, id bigint DEFAULT nextval('rnacen.xref_pk_seq'::regclass), CONSTRAINT \"ck_xref$deleted\" CHECK (deleted = ANY(ARRAY['Y'::bpchar, 'N'::bpchar])), CONSTRAINT xref_p26_deleted_check CHECK (dbid = 26 AND deleted = 'Y'::bpchar)) INHERITS (rnacen.xref) WITH (colocation=false);", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/rna/export-dir/schema/tables/table.sql", "Suggestion": "", @@ -490,7 +490,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "rnacen.xref_p26_not_deleted", - "Reason": "TABLE INHERITANCE not supported in YugabyteDB", + "Reason": "Table inheritance is not yet supported in YugabyteDB", "SqlStatement": "CREATE TABLE rnacen.xref_p26_not_deleted (dbid smallint, created int, last int, upi varchar(26), version_i int, deleted char(1), \"timestamp\" timestamp DEFAULT ('now'::text::timestamp), userstamp varchar(20) DEFAULT ('USER'::varchar), ac varchar(300), version int, taxid bigint, id bigint DEFAULT nextval('rnacen.xref_pk_seq'::regclass), CONSTRAINT \"ck_xref$deleted\" CHECK (deleted = ANY(ARRAY['Y'::bpchar, 'N'::bpchar])), CONSTRAINT xref_p26_not_deleted_check CHECK (dbid = 26 AND deleted = 'N'::bpchar)) INHERITS (rnacen.xref) WITH (colocation=false);", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/rna/export-dir/schema/tables/table.sql", "Suggestion": "", @@ -502,7 +502,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "rnacen.xref_p27_deleted", - "Reason": "TABLE INHERITANCE not supported in YugabyteDB", + "Reason": "Table inheritance is not yet supported in YugabyteDB", "SqlStatement": "CREATE TABLE rnacen.xref_p27_deleted (dbid smallint, created int, last int, upi varchar(26), version_i int, deleted char(1), \"timestamp\" timestamp DEFAULT ('now'::text::timestamp), userstamp varchar(20) DEFAULT ('USER'::varchar), ac varchar(300), version int, taxid bigint, id bigint DEFAULT nextval('rnacen.xref_pk_seq'::regclass), CONSTRAINT \"ck_xref$deleted\" CHECK (deleted = ANY(ARRAY['Y'::bpchar, 'N'::bpchar])), CONSTRAINT xref_p27_deleted_check CHECK (dbid = 27 AND deleted = 'Y'::bpchar)) INHERITS (rnacen.xref) WITH (colocation=false);", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/rna/export-dir/schema/tables/table.sql", "Suggestion": "", @@ -514,7 +514,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "rnacen.xref_p27_not_deleted", - "Reason": "TABLE INHERITANCE not supported in YugabyteDB", + "Reason": "Table inheritance is not yet supported in YugabyteDB", "SqlStatement": "CREATE TABLE rnacen.xref_p27_not_deleted (dbid smallint, created int, last int, upi varchar(26), version_i int, deleted char(1), \"timestamp\" timestamp DEFAULT ('now'::text::timestamp), userstamp varchar(20) DEFAULT ('USER'::varchar), ac varchar(300), version int, taxid bigint, id bigint DEFAULT nextval('rnacen.xref_pk_seq'::regclass), CONSTRAINT \"ck_xref$deleted\" CHECK (deleted = ANY(ARRAY['Y'::bpchar, 'N'::bpchar])), CONSTRAINT xref_p27_not_deleted_check CHECK (dbid = 27 AND deleted = 'N'::bpchar)) INHERITS (rnacen.xref) WITH (colocation=false);", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/rna/export-dir/schema/tables/table.sql", "Suggestion": "", @@ -526,7 +526,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "rnacen.xref_p28_deleted", - "Reason": "TABLE INHERITANCE not supported in YugabyteDB", + "Reason": "Table inheritance is not yet supported in YugabyteDB", "SqlStatement": "CREATE TABLE rnacen.xref_p28_deleted (dbid smallint, created int, last int, upi varchar(26), version_i int, deleted char(1), \"timestamp\" timestamp DEFAULT ('now'::text::timestamp), userstamp varchar(20) DEFAULT ('USER'::varchar), ac varchar(300), version int, taxid bigint, id bigint DEFAULT nextval('rnacen.xref_pk_seq'::regclass), CONSTRAINT \"ck_xref$deleted\" CHECK (deleted = ANY(ARRAY['Y'::bpchar, 'N'::bpchar])), CONSTRAINT xref_p28_deleted_check CHECK (dbid = 28 AND deleted = 'Y'::bpchar)) INHERITS (rnacen.xref) WITH (colocation=false);", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/rna/export-dir/schema/tables/table.sql", "Suggestion": "", @@ -538,7 +538,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "rnacen.xref_p28_not_deleted", - "Reason": "TABLE INHERITANCE not supported in YugabyteDB", + "Reason": "Table inheritance is not yet supported in YugabyteDB", "SqlStatement": "CREATE TABLE rnacen.xref_p28_not_deleted (dbid smallint, created int, last int, upi varchar(26), version_i int, deleted char(1), \"timestamp\" timestamp DEFAULT ('now'::text::timestamp), userstamp varchar(20) DEFAULT ('USER'::varchar), ac varchar(300), version int, taxid bigint, id bigint DEFAULT nextval('rnacen.xref_pk_seq'::regclass), CONSTRAINT \"ck_xref$deleted\" CHECK (deleted = ANY(ARRAY['Y'::bpchar, 'N'::bpchar])), CONSTRAINT xref_p28_not_deleted_check CHECK (dbid = 28 AND deleted = 'N'::bpchar)) INHERITS (rnacen.xref) WITH (colocation=false);", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/rna/export-dir/schema/tables/table.sql", "Suggestion": "", @@ -550,7 +550,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "rnacen.xref_p29_deleted", - "Reason": "TABLE INHERITANCE not supported in YugabyteDB", + "Reason": "Table inheritance is not yet supported in YugabyteDB", "SqlStatement": "CREATE TABLE rnacen.xref_p29_deleted (dbid smallint, created int, last int, upi varchar(26), version_i int, deleted char(1), \"timestamp\" timestamp DEFAULT ('now'::text::timestamp), userstamp varchar(20) DEFAULT ('USER'::varchar), ac varchar(300), version int, taxid bigint, id bigint DEFAULT nextval('rnacen.xref_pk_seq'::regclass), CONSTRAINT \"ck_xref$deleted\" CHECK (deleted = ANY(ARRAY['Y'::bpchar, 'N'::bpchar])), CONSTRAINT xref_p29_deleted_check CHECK (dbid = 29 AND deleted = 'Y'::bpchar)) INHERITS (rnacen.xref) WITH (colocation=false);", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/rna/export-dir/schema/tables/table.sql", "Suggestion": "", @@ -562,7 +562,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "rnacen.xref_p29_not_deleted", - "Reason": "TABLE INHERITANCE not supported in YugabyteDB", + "Reason": "Table inheritance is not yet supported in YugabyteDB", "SqlStatement": "CREATE TABLE rnacen.xref_p29_not_deleted (dbid smallint, created int, last int, upi varchar(26), version_i int, deleted char(1), \"timestamp\" timestamp DEFAULT ('now'::text::timestamp), userstamp varchar(20) DEFAULT ('USER'::varchar), ac varchar(300), version int, taxid bigint, id bigint DEFAULT nextval('rnacen.xref_pk_seq'::regclass), CONSTRAINT \"ck_xref$deleted\" CHECK (deleted = ANY(ARRAY['Y'::bpchar, 'N'::bpchar])), CONSTRAINT xref_p29_not_deleted_check CHECK (dbid = 29 AND deleted = 'N'::bpchar)) INHERITS (rnacen.xref) WITH (colocation=false);", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/rna/export-dir/schema/tables/table.sql", "Suggestion": "", @@ -574,7 +574,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "rnacen.xref_p2_deleted", - "Reason": "TABLE INHERITANCE not supported in YugabyteDB", + "Reason": "Table inheritance is not yet supported in YugabyteDB", "SqlStatement": "CREATE TABLE rnacen.xref_p2_deleted (dbid smallint, created int, last int, upi varchar(26), version_i int, deleted char(1), \"timestamp\" timestamp DEFAULT ('now'::text::timestamp), userstamp varchar(20) DEFAULT ('USER'::varchar), ac varchar(300), version int, taxid bigint, id bigint DEFAULT nextval('rnacen.xref_pk_seq'::regclass), CONSTRAINT \"ck_xref$deleted\" CHECK (deleted = ANY(ARRAY['Y'::bpchar, 'N'::bpchar])), CONSTRAINT xref_p2_deleted_check CHECK (dbid = 2 AND deleted = 'Y'::bpchar)) INHERITS (rnacen.xref) WITH (colocation=false);", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/rna/export-dir/schema/tables/table.sql", "Suggestion": "", @@ -586,7 +586,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "rnacen.xref_p2_not_deleted", - "Reason": "TABLE INHERITANCE not supported in YugabyteDB", + "Reason": "Table inheritance is not yet supported in YugabyteDB", "SqlStatement": "CREATE TABLE rnacen.xref_p2_not_deleted (dbid smallint, created int, last int, upi varchar(26), version_i int, deleted char(1), \"timestamp\" timestamp DEFAULT ('now'::text::timestamp), userstamp varchar(20) DEFAULT ('USER'::varchar), ac varchar(300), version int, taxid bigint, id bigint DEFAULT nextval('rnacen.xref_pk_seq'::regclass), CONSTRAINT \"ck_xref$deleted\" CHECK (deleted = ANY(ARRAY['Y'::bpchar, 'N'::bpchar])), CONSTRAINT xref_p2_not_deleted_check CHECK (dbid = 2 AND deleted = 'N'::bpchar)) INHERITS (rnacen.xref) WITH (colocation=false);", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/rna/export-dir/schema/tables/table.sql", "Suggestion": "", @@ -598,7 +598,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "rnacen.xref_p30_deleted", - "Reason": "TABLE INHERITANCE not supported in YugabyteDB", + "Reason": "Table inheritance is not yet supported in YugabyteDB", "SqlStatement": "CREATE TABLE rnacen.xref_p30_deleted (dbid smallint, created int, last int, upi varchar(26), version_i int, deleted char(1), \"timestamp\" timestamp DEFAULT ('now'::text::timestamp), userstamp varchar(20) DEFAULT ('USER'::varchar), ac varchar(300), version int, taxid bigint, id bigint DEFAULT nextval('rnacen.xref_pk_seq'::regclass), CONSTRAINT \"ck_xref$deleted\" CHECK (deleted = ANY(ARRAY['Y'::bpchar, 'N'::bpchar])), CONSTRAINT xref_p30_deleted_check CHECK (dbid = 30 AND deleted = 'Y'::bpchar)) INHERITS (rnacen.xref) WITH (colocation=false);", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/rna/export-dir/schema/tables/table.sql", "Suggestion": "", @@ -610,7 +610,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "rnacen.xref_p30_not_deleted", - "Reason": "TABLE INHERITANCE not supported in YugabyteDB", + "Reason": "Table inheritance is not yet supported in YugabyteDB", "SqlStatement": "CREATE TABLE rnacen.xref_p30_not_deleted (dbid smallint, created int, last int, upi varchar(26), version_i int, deleted char(1), \"timestamp\" timestamp DEFAULT ('now'::text::timestamp), userstamp varchar(20) DEFAULT ('USER'::varchar), ac varchar(300), version int, taxid bigint, id bigint DEFAULT nextval('rnacen.xref_pk_seq'::regclass), CONSTRAINT \"ck_xref$deleted\" CHECK (deleted = ANY(ARRAY['Y'::bpchar, 'N'::bpchar])), CONSTRAINT xref_p30_not_deleted_check CHECK (dbid = 30 AND deleted = 'N'::bpchar)) INHERITS (rnacen.xref) WITH (colocation=false);", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/rna/export-dir/schema/tables/table.sql", "Suggestion": "", @@ -622,7 +622,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "rnacen.xref_p31_deleted", - "Reason": "TABLE INHERITANCE not supported in YugabyteDB", + "Reason": "Table inheritance is not yet supported in YugabyteDB", "SqlStatement": "CREATE TABLE rnacen.xref_p31_deleted (dbid smallint, created int, last int, upi varchar(26), version_i int, deleted char(1), \"timestamp\" timestamp DEFAULT ('now'::text::timestamp), userstamp varchar(20) DEFAULT ('USER'::varchar), ac varchar(300), version int, taxid bigint, id bigint DEFAULT nextval('rnacen.xref_pk_seq'::regclass), CONSTRAINT \"ck_xref$deleted\" CHECK (deleted = ANY(ARRAY['Y'::bpchar, 'N'::bpchar])), CONSTRAINT xref_p31_deleted_check CHECK (dbid = 31 AND deleted = 'Y'::bpchar)) INHERITS (rnacen.xref) WITH (colocation=false);", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/rna/export-dir/schema/tables/table.sql", "Suggestion": "", @@ -634,7 +634,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "rnacen.xref_p31_not_deleted", - "Reason": "TABLE INHERITANCE not supported in YugabyteDB", + "Reason": "Table inheritance is not yet supported in YugabyteDB", "SqlStatement": "CREATE TABLE rnacen.xref_p31_not_deleted (dbid smallint, created int, last int, upi varchar(26), version_i int, deleted char(1), \"timestamp\" timestamp DEFAULT ('now'::text::timestamp), userstamp varchar(20) DEFAULT ('USER'::varchar), ac varchar(300), version int, taxid bigint, id bigint DEFAULT nextval('rnacen.xref_pk_seq'::regclass), CONSTRAINT \"ck_xref$deleted\" CHECK (deleted = ANY(ARRAY['Y'::bpchar, 'N'::bpchar])), CONSTRAINT xref_p31_not_deleted_check CHECK (dbid = 31 AND deleted = 'N'::bpchar)) INHERITS (rnacen.xref) WITH (colocation=false);", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/rna/export-dir/schema/tables/table.sql", "Suggestion": "", @@ -646,7 +646,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "rnacen.xref_p32_deleted", - "Reason": "TABLE INHERITANCE not supported in YugabyteDB", + "Reason": "Table inheritance is not yet supported in YugabyteDB", "SqlStatement": "CREATE TABLE rnacen.xref_p32_deleted (dbid smallint, created int, last int, upi varchar(26), version_i int, deleted char(1), \"timestamp\" timestamp DEFAULT ('now'::text::timestamp), userstamp varchar(20) DEFAULT ('USER'::varchar), ac varchar(300), version int, taxid bigint, id bigint DEFAULT nextval('rnacen.xref_pk_seq'::regclass), CONSTRAINT \"ck_xref$deleted\" CHECK (deleted = ANY(ARRAY['Y'::bpchar, 'N'::bpchar])), CONSTRAINT xref_p32_deleted_check CHECK (dbid = 32 AND deleted = 'Y'::bpchar)) INHERITS (rnacen.xref) WITH (colocation=false);", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/rna/export-dir/schema/tables/table.sql", "Suggestion": "", @@ -658,7 +658,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "rnacen.xref_p32_not_deleted", - "Reason": "TABLE INHERITANCE not supported in YugabyteDB", + "Reason": "Table inheritance is not yet supported in YugabyteDB", "SqlStatement": "CREATE TABLE rnacen.xref_p32_not_deleted (dbid smallint, created int, last int, upi varchar(26), version_i int, deleted char(1), \"timestamp\" timestamp DEFAULT ('now'::text::timestamp), userstamp varchar(20) DEFAULT ('USER'::varchar), ac varchar(300), version int, taxid bigint, id bigint DEFAULT nextval('rnacen.xref_pk_seq'::regclass), CONSTRAINT \"ck_xref$deleted\" CHECK (deleted = ANY(ARRAY['Y'::bpchar, 'N'::bpchar])), CONSTRAINT xref_p32_not_deleted_check CHECK (dbid = 32 AND deleted = 'N'::bpchar)) INHERITS (rnacen.xref) WITH (colocation=false);", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/rna/export-dir/schema/tables/table.sql", "Suggestion": "", @@ -670,7 +670,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "rnacen.xref_p33_deleted", - "Reason": "TABLE INHERITANCE not supported in YugabyteDB", + "Reason": "Table inheritance is not yet supported in YugabyteDB", "SqlStatement": "CREATE TABLE rnacen.xref_p33_deleted (dbid smallint, created int, last int, upi varchar(26), version_i int, deleted char(1), \"timestamp\" timestamp DEFAULT ('now'::text::timestamp), userstamp varchar(20) DEFAULT ('USER'::varchar), ac varchar(300), version int, taxid bigint, id bigint DEFAULT nextval('rnacen.xref_pk_seq'::regclass), CONSTRAINT \"ck_xref$deleted\" CHECK (deleted = ANY(ARRAY['Y'::bpchar, 'N'::bpchar])), CONSTRAINT xref_p33_deleted_check CHECK (dbid = 33 AND deleted = 'Y'::bpchar)) INHERITS (rnacen.xref) WITH (colocation=false);", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/rna/export-dir/schema/tables/table.sql", "Suggestion": "", @@ -682,7 +682,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "rnacen.xref_p33_not_deleted", - "Reason": "TABLE INHERITANCE not supported in YugabyteDB", + "Reason": "Table inheritance is not yet supported in YugabyteDB", "SqlStatement": "CREATE TABLE rnacen.xref_p33_not_deleted (dbid smallint, created int, last int, upi varchar(26), version_i int, deleted char(1), \"timestamp\" timestamp DEFAULT ('now'::text::timestamp), userstamp varchar(20) DEFAULT ('USER'::varchar), ac varchar(300), version int, taxid bigint, id bigint DEFAULT nextval('rnacen.xref_pk_seq'::regclass), CONSTRAINT \"ck_xref$deleted\" CHECK (deleted = ANY(ARRAY['Y'::bpchar, 'N'::bpchar])), CONSTRAINT xref_p33_not_deleted_check CHECK (dbid = 33 AND deleted = 'N'::bpchar)) INHERITS (rnacen.xref) WITH (colocation=false);", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/rna/export-dir/schema/tables/table.sql", "Suggestion": "", @@ -694,7 +694,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "rnacen.xref_p34_deleted", - "Reason": "TABLE INHERITANCE not supported in YugabyteDB", + "Reason": "Table inheritance is not yet supported in YugabyteDB", "SqlStatement": "CREATE TABLE rnacen.xref_p34_deleted (dbid smallint, created int, last int, upi varchar(26), version_i int, deleted char(1), \"timestamp\" timestamp DEFAULT ('now'::text::timestamp), userstamp varchar(20) DEFAULT ('USER'::varchar), ac varchar(300), version int, taxid bigint, id bigint DEFAULT nextval('rnacen.xref_pk_seq'::regclass), CONSTRAINT \"ck_xref$deleted\" CHECK (deleted = ANY(ARRAY['Y'::bpchar, 'N'::bpchar])), CONSTRAINT xref_p34_deleted_check CHECK (dbid = 34 AND deleted = 'Y'::bpchar)) INHERITS (rnacen.xref) WITH (colocation=false);", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/rna/export-dir/schema/tables/table.sql", "Suggestion": "", @@ -706,7 +706,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "rnacen.xref_p34_not_deleted", - "Reason": "TABLE INHERITANCE not supported in YugabyteDB", + "Reason": "Table inheritance is not yet supported in YugabyteDB", "SqlStatement": "CREATE TABLE rnacen.xref_p34_not_deleted (dbid smallint, created int, last int, upi varchar(26), version_i int, deleted char(1), \"timestamp\" timestamp DEFAULT ('now'::text::timestamp), userstamp varchar(20) DEFAULT ('USER'::varchar), ac varchar(300), version int, taxid bigint, id bigint DEFAULT nextval('rnacen.xref_pk_seq'::regclass), CONSTRAINT \"ck_xref$deleted\" CHECK (deleted = ANY(ARRAY['Y'::bpchar, 'N'::bpchar])), CONSTRAINT xref_p34_not_deleted_check CHECK (dbid = 34 AND deleted = 'N'::bpchar)) INHERITS (rnacen.xref) WITH (colocation=false);", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/rna/export-dir/schema/tables/table.sql", "Suggestion": "", @@ -718,7 +718,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "rnacen.xref_p35_deleted", - "Reason": "TABLE INHERITANCE not supported in YugabyteDB", + "Reason": "Table inheritance is not yet supported in YugabyteDB", "SqlStatement": "CREATE TABLE rnacen.xref_p35_deleted (dbid smallint, created int, last int, upi varchar(26), version_i int, deleted char(1), \"timestamp\" timestamp DEFAULT ('now'::text::timestamp), userstamp varchar(20) DEFAULT ('USER'::varchar), ac varchar(300), version int, taxid bigint, id bigint DEFAULT nextval('rnacen.xref_pk_seq'::regclass), CONSTRAINT \"ck_xref$deleted\" CHECK (deleted = ANY(ARRAY['Y'::bpchar, 'N'::bpchar])), CONSTRAINT xref_p35_deleted_check CHECK (dbid = 35 AND deleted = 'Y'::bpchar)) INHERITS (rnacen.xref) WITH (colocation=false);", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/rna/export-dir/schema/tables/table.sql", "Suggestion": "", @@ -730,7 +730,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "rnacen.xref_p35_not_deleted", - "Reason": "TABLE INHERITANCE not supported in YugabyteDB", + "Reason": "Table inheritance is not yet supported in YugabyteDB", "SqlStatement": "CREATE TABLE rnacen.xref_p35_not_deleted (dbid smallint, created int, last int, upi varchar(26), version_i int, deleted char(1), \"timestamp\" timestamp DEFAULT ('now'::text::timestamp), userstamp varchar(20) DEFAULT ('USER'::varchar), ac varchar(300), version int, taxid bigint, id bigint DEFAULT nextval('rnacen.xref_pk_seq'::regclass), CONSTRAINT \"ck_xref$deleted\" CHECK (deleted = ANY(ARRAY['Y'::bpchar, 'N'::bpchar])), CONSTRAINT xref_p35_not_deleted_check CHECK (dbid = 35 AND deleted = 'N'::bpchar)) INHERITS (rnacen.xref) WITH (colocation=false);", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/rna/export-dir/schema/tables/table.sql", "Suggestion": "", @@ -742,7 +742,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "rnacen.xref_p36_deleted", - "Reason": "TABLE INHERITANCE not supported in YugabyteDB", + "Reason": "Table inheritance is not yet supported in YugabyteDB", "SqlStatement": "CREATE TABLE rnacen.xref_p36_deleted (dbid smallint, created int, last int, upi varchar(26), version_i int, deleted char(1), \"timestamp\" timestamp DEFAULT ('now'::text::timestamp), userstamp varchar(20) DEFAULT ('USER'::varchar), ac varchar(300), version int, taxid bigint, id bigint DEFAULT nextval('rnacen.xref_pk_seq'::regclass), CONSTRAINT \"ck_xref$deleted\" CHECK (deleted = ANY(ARRAY['Y'::bpchar, 'N'::bpchar])), CONSTRAINT xref_p36_deleted_check CHECK (dbid = 36 AND deleted = 'Y'::bpchar)) INHERITS (rnacen.xref) WITH (colocation=false);", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/rna/export-dir/schema/tables/table.sql", "Suggestion": "", @@ -754,7 +754,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "rnacen.xref_p36_not_deleted", - "Reason": "TABLE INHERITANCE not supported in YugabyteDB", + "Reason": "Table inheritance is not yet supported in YugabyteDB", "SqlStatement": "CREATE TABLE rnacen.xref_p36_not_deleted (dbid smallint, created int, last int, upi varchar(26), version_i int, deleted char(1), \"timestamp\" timestamp DEFAULT ('now'::text::timestamp), userstamp varchar(20) DEFAULT ('USER'::varchar), ac varchar(300), version int, taxid bigint, id bigint DEFAULT nextval('rnacen.xref_pk_seq'::regclass), CONSTRAINT \"ck_xref$deleted\" CHECK (deleted = ANY(ARRAY['Y'::bpchar, 'N'::bpchar])), CONSTRAINT xref_p36_not_deleted_check CHECK (dbid = 36 AND deleted = 'N'::bpchar)) INHERITS (rnacen.xref) WITH (colocation=false);", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/rna/export-dir/schema/tables/table.sql", "Suggestion": "", @@ -766,7 +766,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "rnacen.xref_p37_deleted", - "Reason": "TABLE INHERITANCE not supported in YugabyteDB", + "Reason": "Table inheritance is not yet supported in YugabyteDB", "SqlStatement": "CREATE TABLE rnacen.xref_p37_deleted (dbid smallint, created int, last int, upi varchar(26), version_i int, deleted char(1), \"timestamp\" timestamp DEFAULT ('now'::text::timestamp), userstamp varchar(20) DEFAULT ('USER'::varchar), ac varchar(300), version int, taxid bigint, id bigint DEFAULT nextval('rnacen.xref_pk_seq'::regclass), CONSTRAINT \"ck_xref$deleted\" CHECK (deleted = ANY(ARRAY['Y'::bpchar, 'N'::bpchar])), CONSTRAINT xref_p37_deleted_check CHECK (dbid = 37 AND deleted = 'Y'::bpchar)) INHERITS (rnacen.xref) WITH (colocation=false);", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/rna/export-dir/schema/tables/table.sql", "Suggestion": "", @@ -778,7 +778,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "rnacen.xref_p37_not_deleted", - "Reason": "TABLE INHERITANCE not supported in YugabyteDB", + "Reason": "Table inheritance is not yet supported in YugabyteDB", "SqlStatement": "CREATE TABLE rnacen.xref_p37_not_deleted (dbid smallint, created int, last int, upi varchar(26), version_i int, deleted char(1), \"timestamp\" timestamp DEFAULT ('now'::text::timestamp), userstamp varchar(20) DEFAULT ('USER'::varchar), ac varchar(300), version int, taxid bigint, id bigint DEFAULT nextval('rnacen.xref_pk_seq'::regclass), CONSTRAINT \"ck_xref$deleted\" CHECK (deleted = ANY(ARRAY['Y'::bpchar, 'N'::bpchar])), CONSTRAINT xref_p37_not_deleted_check CHECK (dbid = 37 AND deleted = 'N'::bpchar)) INHERITS (rnacen.xref) WITH (colocation=false);", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/rna/export-dir/schema/tables/table.sql", "Suggestion": "", @@ -790,7 +790,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "rnacen.xref_p38_deleted", - "Reason": "TABLE INHERITANCE not supported in YugabyteDB", + "Reason": "Table inheritance is not yet supported in YugabyteDB", "SqlStatement": "CREATE TABLE rnacen.xref_p38_deleted (dbid smallint, created int, last int, upi varchar(26), version_i int, deleted char(1), \"timestamp\" timestamp DEFAULT ('now'::text::timestamp), userstamp varchar(20) DEFAULT ('USER'::varchar), ac varchar(300), version int, taxid bigint, id bigint DEFAULT nextval('rnacen.xref_pk_seq'::regclass), CONSTRAINT \"ck_xref$deleted\" CHECK (deleted = ANY(ARRAY['Y'::bpchar, 'N'::bpchar])), CONSTRAINT xref_p38_deleted_check CHECK (dbid = 38 AND deleted = 'Y'::bpchar)) INHERITS (rnacen.xref) WITH (colocation=false);", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/rna/export-dir/schema/tables/table.sql", "Suggestion": "", @@ -802,7 +802,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "rnacen.xref_p38_not_deleted", - "Reason": "TABLE INHERITANCE not supported in YugabyteDB", + "Reason": "Table inheritance is not yet supported in YugabyteDB", "SqlStatement": "CREATE TABLE rnacen.xref_p38_not_deleted (dbid smallint, created int, last int, upi varchar(26), version_i int, deleted char(1), \"timestamp\" timestamp DEFAULT ('now'::text::timestamp), userstamp varchar(20) DEFAULT ('USER'::varchar), ac varchar(300), version int, taxid bigint, id bigint DEFAULT nextval('rnacen.xref_pk_seq'::regclass), CONSTRAINT \"ck_xref$deleted\" CHECK (deleted = ANY(ARRAY['Y'::bpchar, 'N'::bpchar])), CONSTRAINT xref_p38_not_deleted_check CHECK (dbid = 38 AND deleted = 'N'::bpchar)) INHERITS (rnacen.xref) WITH (colocation=false);", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/rna/export-dir/schema/tables/table.sql", "Suggestion": "", @@ -814,7 +814,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "rnacen.xref_p39_deleted", - "Reason": "TABLE INHERITANCE not supported in YugabyteDB", + "Reason": "Table inheritance is not yet supported in YugabyteDB", "SqlStatement": "CREATE TABLE rnacen.xref_p39_deleted (dbid smallint, created int, last int, upi varchar(26), version_i int, deleted char(1), \"timestamp\" timestamp DEFAULT ('now'::text::timestamp), userstamp varchar(20) DEFAULT ('USER'::varchar), ac varchar(300), version int, taxid bigint, id bigint DEFAULT nextval('rnacen.xref_pk_seq'::regclass), CONSTRAINT \"ck_xref$deleted\" CHECK (deleted = ANY(ARRAY['Y'::bpchar, 'N'::bpchar])), CONSTRAINT xref_p39_deleted_check CHECK (dbid = 39 AND deleted = 'Y'::bpchar)) INHERITS (rnacen.xref) WITH (colocation=false);", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/rna/export-dir/schema/tables/table.sql", "Suggestion": "", @@ -826,7 +826,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "rnacen.xref_p39_not_deleted", - "Reason": "TABLE INHERITANCE not supported in YugabyteDB", + "Reason": "Table inheritance is not yet supported in YugabyteDB", "SqlStatement": "CREATE TABLE rnacen.xref_p39_not_deleted (dbid smallint, created int, last int, upi varchar(26), version_i int, deleted char(1), \"timestamp\" timestamp DEFAULT ('now'::text::timestamp), userstamp varchar(20) DEFAULT ('USER'::varchar), ac varchar(300), version int, taxid bigint, id bigint DEFAULT nextval('rnacen.xref_pk_seq'::regclass), CONSTRAINT \"ck_xref$deleted\" CHECK (deleted = ANY(ARRAY['Y'::bpchar, 'N'::bpchar])), CONSTRAINT xref_p39_not_deleted_check CHECK (dbid = 39 AND deleted = 'N'::bpchar)) INHERITS (rnacen.xref) WITH (colocation=false);", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/rna/export-dir/schema/tables/table.sql", "Suggestion": "", @@ -838,7 +838,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "rnacen.xref_p3_deleted", - "Reason": "TABLE INHERITANCE not supported in YugabyteDB", + "Reason": "Table inheritance is not yet supported in YugabyteDB", "SqlStatement": "CREATE TABLE rnacen.xref_p3_deleted (dbid smallint, created int, last int, upi varchar(26), version_i int, deleted char(1), \"timestamp\" timestamp DEFAULT ('now'::text::timestamp), userstamp varchar(20) DEFAULT ('USER'::varchar), ac varchar(300), version int, taxid bigint, id bigint DEFAULT nextval('rnacen.xref_pk_seq'::regclass), CONSTRAINT \"ck_xref$deleted\" CHECK (deleted = ANY(ARRAY['Y'::bpchar, 'N'::bpchar])), CONSTRAINT xref_p3_deleted_check CHECK (dbid = 3 AND deleted = 'Y'::bpchar)) INHERITS (rnacen.xref) WITH (colocation=false);", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/rna/export-dir/schema/tables/table.sql", "Suggestion": "", @@ -850,7 +850,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "rnacen.xref_p3_not_deleted", - "Reason": "TABLE INHERITANCE not supported in YugabyteDB", + "Reason": "Table inheritance is not yet supported in YugabyteDB", "SqlStatement": "CREATE TABLE rnacen.xref_p3_not_deleted (dbid smallint, created int, last int, upi varchar(26), version_i int, deleted char(1), \"timestamp\" timestamp DEFAULT ('now'::text::timestamp), userstamp varchar(20) DEFAULT ('USER'::varchar), ac varchar(300), version int, taxid bigint, id bigint DEFAULT nextval('rnacen.xref_pk_seq'::regclass), CONSTRAINT \"ck_xref$deleted\" CHECK (deleted = ANY(ARRAY['Y'::bpchar, 'N'::bpchar])), CONSTRAINT xref_p3_not_deleted_check CHECK (dbid = 3 AND deleted = 'N'::bpchar)) INHERITS (rnacen.xref) WITH (colocation=false);", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/rna/export-dir/schema/tables/table.sql", "Suggestion": "", @@ -862,7 +862,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "rnacen.xref_p40_deleted", - "Reason": "TABLE INHERITANCE not supported in YugabyteDB", + "Reason": "Table inheritance is not yet supported in YugabyteDB", "SqlStatement": "CREATE TABLE rnacen.xref_p40_deleted (dbid smallint, created int, last int, upi varchar(26), version_i int, deleted char(1), \"timestamp\" timestamp DEFAULT ('now'::text::timestamp), userstamp varchar(20) DEFAULT ('USER'::varchar), ac varchar(300), version int, taxid bigint, id bigint DEFAULT nextval('rnacen.xref_pk_seq'::regclass), CONSTRAINT \"ck_xref$deleted\" CHECK (deleted = ANY(ARRAY['Y'::bpchar, 'N'::bpchar])), CONSTRAINT xref_p40_deleted_check CHECK (dbid = 40 AND deleted = 'Y'::bpchar)) INHERITS (rnacen.xref) WITH (colocation=false);", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/rna/export-dir/schema/tables/table.sql", "Suggestion": "", @@ -874,7 +874,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "rnacen.xref_p40_not_deleted", - "Reason": "TABLE INHERITANCE not supported in YugabyteDB", + "Reason": "Table inheritance is not yet supported in YugabyteDB", "SqlStatement": "CREATE TABLE rnacen.xref_p40_not_deleted (dbid smallint, created int, last int, upi varchar(26), version_i int, deleted char(1), \"timestamp\" timestamp DEFAULT ('now'::text::timestamp), userstamp varchar(20) DEFAULT ('USER'::varchar), ac varchar(300), version int, taxid bigint, id bigint DEFAULT nextval('rnacen.xref_pk_seq'::regclass), CONSTRAINT \"ck_xref$deleted\" CHECK (deleted = ANY(ARRAY['Y'::bpchar, 'N'::bpchar])), CONSTRAINT xref_p40_not_deleted_check CHECK (dbid = 40 AND deleted = 'N'::bpchar)) INHERITS (rnacen.xref) WITH (colocation=false);", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/rna/export-dir/schema/tables/table.sql", "Suggestion": "", @@ -886,7 +886,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "rnacen.xref_p41_deleted", - "Reason": "TABLE INHERITANCE not supported in YugabyteDB", + "Reason": "Table inheritance is not yet supported in YugabyteDB", "SqlStatement": "CREATE TABLE rnacen.xref_p41_deleted (dbid smallint, created int, last int, upi varchar(26), version_i int, deleted char(1), \"timestamp\" timestamp DEFAULT ('now'::text::timestamp), userstamp varchar(20) DEFAULT ('USER'::varchar), ac varchar(300), version int, taxid bigint, id bigint DEFAULT nextval('rnacen.xref_pk_seq'::regclass), CONSTRAINT \"ck_xref$deleted\" CHECK (deleted = ANY(ARRAY['Y'::bpchar, 'N'::bpchar])), CONSTRAINT xref_p41_deleted_check CHECK (dbid = 41 AND deleted = 'Y'::bpchar)) INHERITS (rnacen.xref) WITH (colocation=false);", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/rna/export-dir/schema/tables/table.sql", "Suggestion": "", @@ -898,7 +898,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "rnacen.xref_p41_not_deleted", - "Reason": "TABLE INHERITANCE not supported in YugabyteDB", + "Reason": "Table inheritance is not yet supported in YugabyteDB", "SqlStatement": "CREATE TABLE rnacen.xref_p41_not_deleted (dbid smallint, created int, last int, upi varchar(26), version_i int, deleted char(1), \"timestamp\" timestamp DEFAULT ('now'::text::timestamp), userstamp varchar(20) DEFAULT ('USER'::varchar), ac varchar(300), version int, taxid bigint, id bigint DEFAULT nextval('rnacen.xref_pk_seq'::regclass), CONSTRAINT \"ck_xref$deleted\" CHECK (deleted = ANY(ARRAY['Y'::bpchar, 'N'::bpchar])), CONSTRAINT xref_p41_not_deleted_check CHECK (dbid = 41 AND deleted = 'N'::bpchar)) INHERITS (rnacen.xref) WITH (colocation=false);", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/rna/export-dir/schema/tables/table.sql", "Suggestion": "", @@ -910,7 +910,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "rnacen.xref_p42_deleted", - "Reason": "TABLE INHERITANCE not supported in YugabyteDB", + "Reason": "Table inheritance is not yet supported in YugabyteDB", "SqlStatement": "CREATE TABLE rnacen.xref_p42_deleted (dbid smallint, created int, last int, upi varchar(26), version_i int, deleted char(1), \"timestamp\" timestamp DEFAULT ('now'::text::timestamp), userstamp varchar(20) DEFAULT ('USER'::varchar), ac varchar(300), version int, taxid bigint, id bigint DEFAULT nextval('rnacen.xref_pk_seq'::regclass), CONSTRAINT \"ck_xref$deleted\" CHECK (deleted = ANY(ARRAY['Y'::bpchar, 'N'::bpchar])), CONSTRAINT xref_p42_deleted_check CHECK (dbid = 42 AND deleted = 'Y'::bpchar)) INHERITS (rnacen.xref) WITH (colocation=false);", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/rna/export-dir/schema/tables/table.sql", "Suggestion": "", @@ -922,7 +922,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "rnacen.xref_p42_not_deleted", - "Reason": "TABLE INHERITANCE not supported in YugabyteDB", + "Reason": "Table inheritance is not yet supported in YugabyteDB", "SqlStatement": "CREATE TABLE rnacen.xref_p42_not_deleted (dbid smallint, created int, last int, upi varchar(26), version_i int, deleted char(1), \"timestamp\" timestamp DEFAULT ('now'::text::timestamp), userstamp varchar(20) DEFAULT ('USER'::varchar), ac varchar(300), version int, taxid bigint, id bigint DEFAULT nextval('rnacen.xref_pk_seq'::regclass), CONSTRAINT \"ck_xref$deleted\" CHECK (deleted = ANY(ARRAY['Y'::bpchar, 'N'::bpchar])), CONSTRAINT xref_p42_not_deleted_check CHECK (dbid = 42 AND deleted = 'N'::bpchar)) INHERITS (rnacen.xref) WITH (colocation=false);", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/rna/export-dir/schema/tables/table.sql", "Suggestion": "", @@ -934,7 +934,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "rnacen.xref_p43_deleted", - "Reason": "TABLE INHERITANCE not supported in YugabyteDB", + "Reason": "Table inheritance is not yet supported in YugabyteDB", "SqlStatement": "CREATE TABLE rnacen.xref_p43_deleted (dbid smallint, created int, last int, upi varchar(26), version_i int, deleted char(1), \"timestamp\" timestamp DEFAULT ('now'::text::timestamp), userstamp varchar(20) DEFAULT ('USER'::varchar), ac varchar(300), version int, taxid bigint, id bigint DEFAULT nextval('rnacen.xref_pk_seq'::regclass), CONSTRAINT \"ck_xref$deleted\" CHECK (deleted = ANY(ARRAY['Y'::bpchar, 'N'::bpchar])), CONSTRAINT xref_p43_deleted_check CHECK (dbid = 43 AND deleted = 'Y'::bpchar)) INHERITS (rnacen.xref) WITH (colocation=false);", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/rna/export-dir/schema/tables/table.sql", "Suggestion": "", @@ -946,7 +946,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "rnacen.xref_p43_not_deleted", - "Reason": "TABLE INHERITANCE not supported in YugabyteDB", + "Reason": "Table inheritance is not yet supported in YugabyteDB", "SqlStatement": "CREATE TABLE rnacen.xref_p43_not_deleted (dbid smallint, created int, last int, upi varchar(26), version_i int, deleted char(1), \"timestamp\" timestamp DEFAULT ('now'::text::timestamp), userstamp varchar(20) DEFAULT ('USER'::varchar), ac varchar(300), version int, taxid bigint, id bigint DEFAULT nextval('rnacen.xref_pk_seq'::regclass), CONSTRAINT \"ck_xref$deleted\" CHECK (deleted = ANY(ARRAY['Y'::bpchar, 'N'::bpchar])), CONSTRAINT xref_p43_not_deleted_check CHECK (dbid = 43 AND deleted = 'N'::bpchar)) INHERITS (rnacen.xref) WITH (colocation=false);", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/rna/export-dir/schema/tables/table.sql", "Suggestion": "", @@ -958,7 +958,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "rnacen.xref_p44_deleted", - "Reason": "TABLE INHERITANCE not supported in YugabyteDB", + "Reason": "Table inheritance is not yet supported in YugabyteDB", "SqlStatement": "CREATE TABLE rnacen.xref_p44_deleted (dbid smallint, created int, last int, upi varchar(26), version_i int, deleted char(1), \"timestamp\" timestamp DEFAULT ('now'::text::timestamp), userstamp varchar(20) DEFAULT ('USER'::varchar), ac varchar(300), version int, taxid bigint, id bigint DEFAULT nextval('rnacen.xref_pk_seq'::regclass), CONSTRAINT \"ck_xref$deleted\" CHECK (deleted = ANY(ARRAY['Y'::bpchar, 'N'::bpchar])), CONSTRAINT xref_p44_deleted_check CHECK (dbid = 44 AND deleted = 'Y'::bpchar)) INHERITS (rnacen.xref) WITH (colocation=false);", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/rna/export-dir/schema/tables/table.sql", "Suggestion": "", @@ -970,7 +970,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "rnacen.xref_p44_not_deleted", - "Reason": "TABLE INHERITANCE not supported in YugabyteDB", + "Reason": "Table inheritance is not yet supported in YugabyteDB", "SqlStatement": "CREATE TABLE rnacen.xref_p44_not_deleted (dbid smallint, created int, last int, upi varchar(26), version_i int, deleted char(1), \"timestamp\" timestamp DEFAULT ('now'::text::timestamp), userstamp varchar(20) DEFAULT ('USER'::varchar), ac varchar(300), version int, taxid bigint, id bigint DEFAULT nextval('rnacen.xref_pk_seq'::regclass), CONSTRAINT \"ck_xref$deleted\" CHECK (deleted = ANY(ARRAY['Y'::bpchar, 'N'::bpchar])), CONSTRAINT xref_p44_not_deleted_check CHECK (dbid = 44 AND deleted = 'N'::bpchar)) INHERITS (rnacen.xref) WITH (colocation=false);", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/rna/export-dir/schema/tables/table.sql", "Suggestion": "", @@ -982,7 +982,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "rnacen.xref_p45_deleted", - "Reason": "TABLE INHERITANCE not supported in YugabyteDB", + "Reason": "Table inheritance is not yet supported in YugabyteDB", "SqlStatement": "CREATE TABLE rnacen.xref_p45_deleted (dbid smallint, created int, last int, upi varchar(26), version_i int, deleted char(1), \"timestamp\" timestamp DEFAULT ('now'::text::timestamp), userstamp varchar(20) DEFAULT ('USER'::varchar), ac varchar(300), version int, taxid bigint, id bigint DEFAULT nextval('rnacen.xref_pk_seq'::regclass), CONSTRAINT \"ck_xref$deleted\" CHECK (deleted = ANY(ARRAY['Y'::bpchar, 'N'::bpchar])), CONSTRAINT xref_p45_deleted_check CHECK (dbid = 45 AND deleted = 'Y'::bpchar)) INHERITS (rnacen.xref) WITH (colocation=false);", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/rna/export-dir/schema/tables/table.sql", "Suggestion": "", @@ -994,7 +994,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "rnacen.xref_p45_not_deleted", - "Reason": "TABLE INHERITANCE not supported in YugabyteDB", + "Reason": "Table inheritance is not yet supported in YugabyteDB", "SqlStatement": "CREATE TABLE rnacen.xref_p45_not_deleted (dbid smallint, created int, last int, upi varchar(26), version_i int, deleted char(1), \"timestamp\" timestamp DEFAULT ('now'::text::timestamp), userstamp varchar(20) DEFAULT ('USER'::varchar), ac varchar(300), version int, taxid bigint, id bigint DEFAULT nextval('rnacen.xref_pk_seq'::regclass), CONSTRAINT \"ck_xref$deleted\" CHECK (deleted = ANY(ARRAY['Y'::bpchar, 'N'::bpchar])), CONSTRAINT xref_p45_not_deleted_check CHECK (dbid = 45 AND deleted = 'N'::bpchar)) INHERITS (rnacen.xref) WITH (colocation=false);", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/rna/export-dir/schema/tables/table.sql", "Suggestion": "", @@ -1006,7 +1006,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "rnacen.xref_p46_deleted", - "Reason": "TABLE INHERITANCE not supported in YugabyteDB", + "Reason": "Table inheritance is not yet supported in YugabyteDB", "SqlStatement": "CREATE TABLE rnacen.xref_p46_deleted (dbid smallint, created int, last int, upi varchar(26), version_i int, deleted char(1), \"timestamp\" timestamp DEFAULT ('now'::text::timestamp), userstamp varchar(20) DEFAULT ('USER'::varchar), ac varchar(300), version int, taxid bigint, id bigint DEFAULT nextval('rnacen.xref_pk_seq'::regclass), CONSTRAINT \"ck_xref$deleted\" CHECK (deleted = ANY(ARRAY['Y'::bpchar, 'N'::bpchar])), CONSTRAINT xref_p46_deleted_check CHECK (dbid = 46 AND deleted = 'Y'::bpchar)) INHERITS (rnacen.xref) WITH (colocation=false);", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/rna/export-dir/schema/tables/table.sql", "Suggestion": "", @@ -1018,7 +1018,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "rnacen.xref_p46_not_deleted", - "Reason": "TABLE INHERITANCE not supported in YugabyteDB", + "Reason": "Table inheritance is not yet supported in YugabyteDB", "SqlStatement": "CREATE TABLE rnacen.xref_p46_not_deleted (dbid smallint, created int, last int, upi varchar(26), version_i int, deleted char(1), \"timestamp\" timestamp DEFAULT ('now'::text::timestamp), userstamp varchar(20) DEFAULT ('USER'::varchar), ac varchar(300), version int, taxid bigint, id bigint DEFAULT nextval('rnacen.xref_pk_seq'::regclass), CONSTRAINT \"ck_xref$deleted\" CHECK (deleted = ANY(ARRAY['Y'::bpchar, 'N'::bpchar])), CONSTRAINT xref_p46_not_deleted_check CHECK (dbid = 46 AND deleted = 'N'::bpchar)) INHERITS (rnacen.xref) WITH (colocation=false);", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/rna/export-dir/schema/tables/table.sql", "Suggestion": "", @@ -1030,7 +1030,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "rnacen.xref_p47_deleted", - "Reason": "TABLE INHERITANCE not supported in YugabyteDB", + "Reason": "Table inheritance is not yet supported in YugabyteDB", "SqlStatement": "CREATE TABLE rnacen.xref_p47_deleted (dbid smallint, created int, last int, upi varchar(26), version_i int, deleted char(1), \"timestamp\" timestamp DEFAULT ('now'::text::timestamp), userstamp varchar(20) DEFAULT ('USER'::varchar), ac varchar(300), version int, taxid bigint, id bigint DEFAULT nextval('rnacen.xref_pk_seq'::regclass), CONSTRAINT \"ck_xref$deleted\" CHECK (deleted = ANY(ARRAY['Y'::bpchar, 'N'::bpchar])), CONSTRAINT xref_p47_deleted_check CHECK (dbid = 47 AND deleted = 'Y'::bpchar)) INHERITS (rnacen.xref) WITH (colocation=false);", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/rna/export-dir/schema/tables/table.sql", "Suggestion": "", @@ -1042,7 +1042,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "rnacen.xref_p47_not_deleted", - "Reason": "TABLE INHERITANCE not supported in YugabyteDB", + "Reason": "Table inheritance is not yet supported in YugabyteDB", "SqlStatement": "CREATE TABLE rnacen.xref_p47_not_deleted (dbid smallint, created int, last int, upi varchar(26), version_i int, deleted char(1), \"timestamp\" timestamp DEFAULT ('now'::text::timestamp), userstamp varchar(20) DEFAULT ('USER'::varchar), ac varchar(300), version int, taxid bigint, id bigint DEFAULT nextval('rnacen.xref_pk_seq'::regclass), CONSTRAINT \"ck_xref$deleted\" CHECK (deleted = ANY(ARRAY['Y'::bpchar, 'N'::bpchar])), CONSTRAINT xref_p47_not_deleted_check CHECK (dbid = 47 AND deleted = 'N'::bpchar)) INHERITS (rnacen.xref) WITH (colocation=false);", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/rna/export-dir/schema/tables/table.sql", "Suggestion": "", @@ -1054,7 +1054,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "rnacen.xref_p48_deleted", - "Reason": "TABLE INHERITANCE not supported in YugabyteDB", + "Reason": "Table inheritance is not yet supported in YugabyteDB", "SqlStatement": "CREATE TABLE rnacen.xref_p48_deleted (dbid smallint, created int, last int, upi varchar(26), version_i int, deleted char(1), \"timestamp\" timestamp DEFAULT ('now'::text::timestamp), userstamp varchar(20) DEFAULT ('USER'::varchar), ac varchar(300), version int, taxid bigint, id bigint DEFAULT nextval('rnacen.xref_pk_seq'::regclass), CONSTRAINT \"ck_xref$deleted\" CHECK (deleted = ANY(ARRAY['Y'::bpchar, 'N'::bpchar])), CONSTRAINT xref_p48_deleted_check CHECK (dbid = 48 AND deleted = 'Y'::bpchar)) INHERITS (rnacen.xref) WITH (colocation=false);", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/rna/export-dir/schema/tables/table.sql", "Suggestion": "", @@ -1066,7 +1066,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "rnacen.xref_p48_not_deleted", - "Reason": "TABLE INHERITANCE not supported in YugabyteDB", + "Reason": "Table inheritance is not yet supported in YugabyteDB", "SqlStatement": "CREATE TABLE rnacen.xref_p48_not_deleted (dbid smallint, created int, last int, upi varchar(26), version_i int, deleted char(1), \"timestamp\" timestamp DEFAULT ('now'::text::timestamp), userstamp varchar(20) DEFAULT ('USER'::varchar), ac varchar(300), version int, taxid bigint, id bigint DEFAULT nextval('rnacen.xref_pk_seq'::regclass), CONSTRAINT \"ck_xref$deleted\" CHECK (deleted = ANY(ARRAY['Y'::bpchar, 'N'::bpchar])), CONSTRAINT xref_p48_not_deleted_check CHECK (dbid = 48 AND deleted = 'N'::bpchar)) INHERITS (rnacen.xref) WITH (colocation=false);", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/rna/export-dir/schema/tables/table.sql", "Suggestion": "", @@ -1078,7 +1078,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "rnacen.xref_p49_deleted", - "Reason": "TABLE INHERITANCE not supported in YugabyteDB", + "Reason": "Table inheritance is not yet supported in YugabyteDB", "SqlStatement": "CREATE TABLE rnacen.xref_p49_deleted (dbid smallint, created int, last int, upi varchar(26), version_i int, deleted char(1), \"timestamp\" timestamp DEFAULT ('now'::text::timestamp), userstamp varchar(20) DEFAULT ('USER'::varchar), ac varchar(300), version int, taxid bigint, id bigint DEFAULT nextval('rnacen.xref_pk_seq'::regclass), CONSTRAINT \"ck_xref$deleted\" CHECK (deleted = ANY(ARRAY['Y'::bpchar, 'N'::bpchar])), CONSTRAINT xref_p49_deleted_check CHECK (dbid = 49 AND deleted = 'Y'::bpchar)) INHERITS (rnacen.xref) WITH (colocation=false);", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/rna/export-dir/schema/tables/table.sql", "Suggestion": "", @@ -1090,7 +1090,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "rnacen.xref_p49_not_deleted", - "Reason": "TABLE INHERITANCE not supported in YugabyteDB", + "Reason": "Table inheritance is not yet supported in YugabyteDB", "SqlStatement": "CREATE TABLE rnacen.xref_p49_not_deleted (dbid smallint, created int, last int, upi varchar(26), version_i int, deleted char(1), \"timestamp\" timestamp DEFAULT ('now'::text::timestamp), userstamp varchar(20) DEFAULT ('USER'::varchar), ac varchar(300), version int, taxid bigint, id bigint DEFAULT nextval('rnacen.xref_pk_seq'::regclass), CONSTRAINT \"ck_xref$deleted\" CHECK (deleted = ANY(ARRAY['Y'::bpchar, 'N'::bpchar])), CONSTRAINT xref_p49_not_deleted_check CHECK (dbid = 49 AND deleted = 'N'::bpchar)) INHERITS (rnacen.xref) WITH (colocation=false);", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/rna/export-dir/schema/tables/table.sql", "Suggestion": "", @@ -1102,7 +1102,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "rnacen.xref_p4_deleted", - "Reason": "TABLE INHERITANCE not supported in YugabyteDB", + "Reason": "Table inheritance is not yet supported in YugabyteDB", "SqlStatement": "CREATE TABLE rnacen.xref_p4_deleted (dbid smallint, created int, last int, upi varchar(26), version_i int, deleted char(1), \"timestamp\" timestamp DEFAULT ('now'::text::timestamp), userstamp varchar(20) DEFAULT ('USER'::varchar), ac varchar(300), version int, taxid bigint, id bigint DEFAULT nextval('rnacen.xref_pk_seq'::regclass), CONSTRAINT \"ck_xref$deleted\" CHECK (deleted = ANY(ARRAY['Y'::bpchar, 'N'::bpchar])), CONSTRAINT xref_p4_deleted_check CHECK (dbid = 4 AND deleted = 'Y'::bpchar)) INHERITS (rnacen.xref) WITH (colocation=false);", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/rna/export-dir/schema/tables/table.sql", "Suggestion": "", @@ -1114,7 +1114,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "rnacen.xref_p4_not_deleted", - "Reason": "TABLE INHERITANCE not supported in YugabyteDB", + "Reason": "Table inheritance is not yet supported in YugabyteDB", "SqlStatement": "CREATE TABLE rnacen.xref_p4_not_deleted (dbid smallint, created int, last int, upi varchar(26), version_i int, deleted char(1), \"timestamp\" timestamp DEFAULT ('now'::text::timestamp), userstamp varchar(20) DEFAULT ('USER'::varchar), ac varchar(300), version int, taxid bigint, id bigint DEFAULT nextval('rnacen.xref_pk_seq'::regclass), CONSTRAINT \"ck_xref$deleted\" CHECK (deleted = ANY(ARRAY['Y'::bpchar, 'N'::bpchar])), CONSTRAINT xref_p4_not_deleted_check CHECK (dbid = 4 AND deleted = 'N'::bpchar)) INHERITS (rnacen.xref) WITH (colocation=false);", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/rna/export-dir/schema/tables/table.sql", "Suggestion": "", @@ -1126,7 +1126,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "rnacen.xref_p50_deleted", - "Reason": "TABLE INHERITANCE not supported in YugabyteDB", + "Reason": "Table inheritance is not yet supported in YugabyteDB", "SqlStatement": "CREATE TABLE rnacen.xref_p50_deleted (dbid smallint, created int, last int, upi varchar(26), version_i int, deleted char(1), \"timestamp\" timestamp DEFAULT ('now'::text::timestamp), userstamp varchar(20) DEFAULT ('USER'::varchar), ac varchar(300), version int, taxid bigint, id bigint DEFAULT nextval('rnacen.xref_pk_seq'::regclass), CONSTRAINT \"ck_xref$deleted\" CHECK (deleted = ANY(ARRAY['Y'::bpchar, 'N'::bpchar])), CONSTRAINT xref_p50_deleted_check CHECK (dbid = 50 AND deleted = 'Y'::bpchar)) INHERITS (rnacen.xref) WITH (colocation=false);", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/rna/export-dir/schema/tables/table.sql", "Suggestion": "", @@ -1138,7 +1138,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "rnacen.xref_p50_not_deleted", - "Reason": "TABLE INHERITANCE not supported in YugabyteDB", + "Reason": "Table inheritance is not yet supported in YugabyteDB", "SqlStatement": "CREATE TABLE rnacen.xref_p50_not_deleted (dbid smallint, created int, last int, upi varchar(26), version_i int, deleted char(1), \"timestamp\" timestamp DEFAULT ('now'::text::timestamp), userstamp varchar(20) DEFAULT ('USER'::varchar), ac varchar(300), version int, taxid bigint, id bigint DEFAULT nextval('rnacen.xref_pk_seq'::regclass), CONSTRAINT \"ck_xref$deleted\" CHECK (deleted = ANY(ARRAY['Y'::bpchar, 'N'::bpchar])), CONSTRAINT xref_p50_not_deleted_check CHECK (dbid = 50 AND deleted = 'N'::bpchar)) INHERITS (rnacen.xref) WITH (colocation=false);", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/rna/export-dir/schema/tables/table.sql", "Suggestion": "", @@ -1150,7 +1150,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "rnacen.xref_p51_deleted", - "Reason": "TABLE INHERITANCE not supported in YugabyteDB", + "Reason": "Table inheritance is not yet supported in YugabyteDB", "SqlStatement": "CREATE TABLE rnacen.xref_p51_deleted (dbid smallint, created int, last int, upi varchar(26), version_i int, deleted char(1), \"timestamp\" timestamp DEFAULT ('now'::text::timestamp), userstamp varchar(20) DEFAULT ('USER'::varchar), ac varchar(300), version int, taxid bigint, id bigint DEFAULT nextval('rnacen.xref_pk_seq'::regclass), CONSTRAINT \"ck_xref$deleted\" CHECK (deleted = ANY(ARRAY['Y'::bpchar, 'N'::bpchar])), CONSTRAINT xref_p51_deleted_check CHECK (dbid = 51 AND deleted = 'Y'::bpchar)) INHERITS (rnacen.xref) WITH (colocation=false);", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/rna/export-dir/schema/tables/table.sql", "Suggestion": "", @@ -1162,7 +1162,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "rnacen.xref_p51_not_deleted", - "Reason": "TABLE INHERITANCE not supported in YugabyteDB", + "Reason": "Table inheritance is not yet supported in YugabyteDB", "SqlStatement": "CREATE TABLE rnacen.xref_p51_not_deleted (dbid smallint, created int, last int, upi varchar(26), version_i int, deleted char(1), \"timestamp\" timestamp DEFAULT ('now'::text::timestamp), userstamp varchar(20) DEFAULT ('USER'::varchar), ac varchar(300), version int, taxid bigint, id bigint DEFAULT nextval('rnacen.xref_pk_seq'::regclass), CONSTRAINT \"ck_xref$deleted\" CHECK (deleted = ANY(ARRAY['Y'::bpchar, 'N'::bpchar])), CONSTRAINT xref_p51_not_deleted_check CHECK (dbid = 51 AND deleted = 'N'::bpchar)) INHERITS (rnacen.xref) WITH (colocation=false);", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/rna/export-dir/schema/tables/table.sql", "Suggestion": "", @@ -1174,7 +1174,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "rnacen.xref_p52_deleted", - "Reason": "TABLE INHERITANCE not supported in YugabyteDB", + "Reason": "Table inheritance is not yet supported in YugabyteDB", "SqlStatement": "CREATE TABLE rnacen.xref_p52_deleted (dbid smallint, created int, last int, upi varchar(26), version_i int, deleted char(1), \"timestamp\" timestamp DEFAULT ('now'::text::timestamp), userstamp varchar(20) DEFAULT ('USER'::varchar), ac varchar(300), version int, taxid bigint, id bigint DEFAULT nextval('rnacen.xref_pk_seq'::regclass), CONSTRAINT \"ck_xref$deleted\" CHECK (deleted = ANY(ARRAY['Y'::bpchar, 'N'::bpchar])), CONSTRAINT xref_p52_deleted_check CHECK (dbid = 52 AND deleted = 'Y'::bpchar)) INHERITS (rnacen.xref) WITH (colocation=false);", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/rna/export-dir/schema/tables/table.sql", "Suggestion": "", @@ -1186,7 +1186,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "rnacen.xref_p52_not_deleted", - "Reason": "TABLE INHERITANCE not supported in YugabyteDB", + "Reason": "Table inheritance is not yet supported in YugabyteDB", "SqlStatement": "CREATE TABLE rnacen.xref_p52_not_deleted (dbid smallint, created int, last int, upi varchar(26), version_i int, deleted char(1), \"timestamp\" timestamp DEFAULT ('now'::text::timestamp), userstamp varchar(20) DEFAULT ('USER'::varchar), ac varchar(300), version int, taxid bigint, id bigint DEFAULT nextval('rnacen.xref_pk_seq'::regclass), CONSTRAINT \"ck_xref$deleted\" CHECK (deleted = ANY(ARRAY['Y'::bpchar, 'N'::bpchar])), CONSTRAINT xref_p52_not_deleted_check CHECK (dbid = 52 AND deleted = 'N'::bpchar)) INHERITS (rnacen.xref) WITH (colocation=false);", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/rna/export-dir/schema/tables/table.sql", "Suggestion": "", @@ -1198,7 +1198,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "rnacen.xref_p53_deleted", - "Reason": "TABLE INHERITANCE not supported in YugabyteDB", + "Reason": "Table inheritance is not yet supported in YugabyteDB", "SqlStatement": "CREATE TABLE rnacen.xref_p53_deleted (dbid smallint, created int, last int, upi varchar(26), version_i int, deleted char(1), \"timestamp\" timestamp DEFAULT ('now'::text::timestamp), userstamp varchar(20) DEFAULT ('USER'::varchar), ac varchar(300), version int, taxid bigint, id bigint DEFAULT nextval('rnacen.xref_pk_seq'::regclass), CONSTRAINT \"ck_xref$deleted\" CHECK (deleted = ANY(ARRAY['Y'::bpchar, 'N'::bpchar])), CONSTRAINT xref_p53_deleted_check CHECK (dbid = 53 AND deleted = 'Y'::bpchar)) INHERITS (rnacen.xref) WITH (colocation=false);", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/rna/export-dir/schema/tables/table.sql", "Suggestion": "", @@ -1210,7 +1210,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "rnacen.xref_p53_not_deleted", - "Reason": "TABLE INHERITANCE not supported in YugabyteDB", + "Reason": "Table inheritance is not yet supported in YugabyteDB", "SqlStatement": "CREATE TABLE rnacen.xref_p53_not_deleted (dbid smallint, created int, last int, upi varchar(26), version_i int, deleted char(1), \"timestamp\" timestamp DEFAULT ('now'::text::timestamp), userstamp varchar(20) DEFAULT ('USER'::varchar), ac varchar(300), version int, taxid bigint, id bigint DEFAULT nextval('rnacen.xref_pk_seq'::regclass), CONSTRAINT \"ck_xref$deleted\" CHECK (deleted = ANY(ARRAY['Y'::bpchar, 'N'::bpchar])), CONSTRAINT xref_p53_not_deleted_check CHECK (dbid = 53 AND deleted = 'N'::bpchar)) INHERITS (rnacen.xref) WITH (colocation=false);", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/rna/export-dir/schema/tables/table.sql", "Suggestion": "", @@ -1222,7 +1222,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "rnacen.xref_p54_deleted", - "Reason": "TABLE INHERITANCE not supported in YugabyteDB", + "Reason": "Table inheritance is not yet supported in YugabyteDB", "SqlStatement": "CREATE TABLE rnacen.xref_p54_deleted (dbid smallint, created int, last int, upi varchar(26), version_i int, deleted char(1), \"timestamp\" timestamp DEFAULT ('now'::text::timestamp), userstamp varchar(20) DEFAULT ('USER'::varchar), ac varchar(300), version int, taxid bigint, id bigint NOT NULL, CONSTRAINT \"ck_xref$deleted\" CHECK (deleted = ANY(ARRAY['Y'::bpchar, 'N'::bpchar])), CONSTRAINT xref_p54_deleted_check CHECK (dbid = 54 AND deleted = 'Y'::bpchar)) INHERITS (rnacen.xref) WITH (colocation=false);", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/rna/export-dir/schema/tables/table.sql", "Suggestion": "", @@ -1234,7 +1234,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "rnacen.xref_p54_not_deleted", - "Reason": "TABLE INHERITANCE not supported in YugabyteDB", + "Reason": "Table inheritance is not yet supported in YugabyteDB", "SqlStatement": "CREATE TABLE rnacen.xref_p54_not_deleted (dbid smallint, created int, last int, upi varchar(26), version_i int, deleted char(1), \"timestamp\" timestamp DEFAULT ('now'::text::timestamp), userstamp varchar(20) DEFAULT ('USER'::varchar), ac varchar(300), version int, taxid bigint, id bigint NOT NULL, CONSTRAINT \"ck_xref$deleted\" CHECK (deleted = ANY(ARRAY['Y'::bpchar, 'N'::bpchar])), CONSTRAINT xref_p54_not_deleted_check CHECK (dbid = 54 AND deleted = 'N'::bpchar)) INHERITS (rnacen.xref) WITH (colocation=false);", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/rna/export-dir/schema/tables/table.sql", "Suggestion": "", @@ -1246,7 +1246,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "rnacen.xref_p55_deleted", - "Reason": "TABLE INHERITANCE not supported in YugabyteDB", + "Reason": "Table inheritance is not yet supported in YugabyteDB", "SqlStatement": "CREATE TABLE rnacen.xref_p55_deleted (dbid smallint, created int, last int, upi varchar(26), version_i int, deleted char(1), \"timestamp\" timestamp DEFAULT ('now'::text::timestamp), userstamp varchar(20) DEFAULT ('USER'::varchar), ac varchar(300), version int, taxid bigint, id bigint DEFAULT nextval('rnacen.xref_pk_seq'::regclass), CONSTRAINT \"ck_xref$deleted\" CHECK (deleted = ANY(ARRAY['Y'::bpchar, 'N'::bpchar])), CONSTRAINT xref_p55_deleted_check CHECK (dbid = 55 AND deleted = 'Y'::bpchar)) INHERITS (rnacen.xref) WITH (colocation=false);", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/rna/export-dir/schema/tables/table.sql", "Suggestion": "", @@ -1258,7 +1258,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "rnacen.xref_p55_not_deleted", - "Reason": "TABLE INHERITANCE not supported in YugabyteDB", + "Reason": "Table inheritance is not yet supported in YugabyteDB", "SqlStatement": "CREATE TABLE rnacen.xref_p55_not_deleted (dbid smallint, created int, last int, upi varchar(26), version_i int, deleted char(1), \"timestamp\" timestamp DEFAULT ('now'::text::timestamp), userstamp varchar(20) DEFAULT ('USER'::varchar), ac varchar(300), version int, taxid bigint, id bigint DEFAULT nextval('rnacen.xref_pk_seq'::regclass), CONSTRAINT \"ck_xref$deleted\" CHECK (deleted = ANY(ARRAY['Y'::bpchar, 'N'::bpchar])), CONSTRAINT xref_p55_not_deleted_check CHECK (dbid = 55 AND deleted = 'N'::bpchar)) INHERITS (rnacen.xref) WITH (colocation=false);", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/rna/export-dir/schema/tables/table.sql", "Suggestion": "", @@ -1270,7 +1270,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "rnacen.xref_p5_deleted", - "Reason": "TABLE INHERITANCE not supported in YugabyteDB", + "Reason": "Table inheritance is not yet supported in YugabyteDB", "SqlStatement": "CREATE TABLE rnacen.xref_p5_deleted (CONSTRAINT \"ck_xref$deleted\" CHECK (deleted = ANY(ARRAY['Y'::bpchar, 'N'::bpchar])), CONSTRAINT xref_p5_deleted_check CHECK (dbid = 5 AND deleted = 'Y'::bpchar)) INHERITS (rnacen.xref) WITH (colocation=false);", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/rna/export-dir/schema/tables/table.sql", "Suggestion": "", @@ -1282,7 +1282,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "rnacen.xref_p5_not_deleted", - "Reason": "TABLE INHERITANCE not supported in YugabyteDB", + "Reason": "Table inheritance is not yet supported in YugabyteDB", "SqlStatement": "CREATE TABLE rnacen.xref_p5_not_deleted (CONSTRAINT \"ck_xref$deleted\" CHECK (deleted = ANY(ARRAY['Y'::bpchar, 'N'::bpchar])), CONSTRAINT xref_p5_not_deleted_check CHECK (dbid = 5 AND deleted = 'N'::bpchar)) INHERITS (rnacen.xref) WITH (colocation=false);", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/rna/export-dir/schema/tables/table.sql", "Suggestion": "", @@ -1294,7 +1294,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "rnacen.xref_p6_deleted", - "Reason": "TABLE INHERITANCE not supported in YugabyteDB", + "Reason": "Table inheritance is not yet supported in YugabyteDB", "SqlStatement": "CREATE TABLE rnacen.xref_p6_deleted (dbid smallint, created int, last int, upi varchar(26), version_i int, deleted char(1), \"timestamp\" timestamp DEFAULT ('now'::text::timestamp), userstamp varchar(20) DEFAULT ('USER'::varchar), ac varchar(300), version int, taxid bigint, id bigint DEFAULT nextval('rnacen.xref_pk_seq'::regclass), CONSTRAINT \"ck_xref$deleted\" CHECK (deleted = ANY(ARRAY['Y'::bpchar, 'N'::bpchar])), CONSTRAINT xref_p6_deleted_check CHECK (dbid = 6 AND deleted = 'Y'::bpchar)) INHERITS (rnacen.xref) WITH (colocation=false);", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/rna/export-dir/schema/tables/table.sql", "Suggestion": "", @@ -1306,7 +1306,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "rnacen.xref_p6_not_deleted", - "Reason": "TABLE INHERITANCE not supported in YugabyteDB", + "Reason": "Table inheritance is not yet supported in YugabyteDB", "SqlStatement": "CREATE TABLE rnacen.xref_p6_not_deleted (dbid smallint, created int, last int, upi varchar(26), version_i int, deleted char(1), \"timestamp\" timestamp DEFAULT ('now'::text::timestamp), userstamp varchar(20) DEFAULT ('USER'::varchar), ac varchar(300), version int, taxid bigint, id bigint DEFAULT nextval('rnacen.xref_pk_seq'::regclass), CONSTRAINT \"ck_xref$deleted\" CHECK (deleted = ANY(ARRAY['Y'::bpchar, 'N'::bpchar])), CONSTRAINT xref_p6_not_deleted_check CHECK (dbid = 6 AND deleted = 'N'::bpchar)) INHERITS (rnacen.xref) WITH (colocation=false);", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/rna/export-dir/schema/tables/table.sql", "Suggestion": "", @@ -1318,7 +1318,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "rnacen.xref_p7_deleted", - "Reason": "TABLE INHERITANCE not supported in YugabyteDB", + "Reason": "Table inheritance is not yet supported in YugabyteDB", "SqlStatement": "CREATE TABLE rnacen.xref_p7_deleted (dbid smallint, created int, last int, upi varchar(26), version_i int, deleted char(1), \"timestamp\" timestamp DEFAULT ('now'::text::timestamp), userstamp varchar(20) DEFAULT ('USER'::varchar), ac varchar(300), version int, taxid bigint, id bigint DEFAULT nextval('rnacen.xref_pk_seq'::regclass), CONSTRAINT \"ck_xref$deleted\" CHECK (deleted = ANY(ARRAY['Y'::bpchar, 'N'::bpchar])), CONSTRAINT xref_p7_deleted_check CHECK (dbid = 7 AND deleted = 'Y'::bpchar)) INHERITS (rnacen.xref) WITH (colocation=false);", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/rna/export-dir/schema/tables/table.sql", "Suggestion": "", @@ -1330,7 +1330,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "rnacen.xref_p7_not_deleted", - "Reason": "TABLE INHERITANCE not supported in YugabyteDB", + "Reason": "Table inheritance is not yet supported in YugabyteDB", "SqlStatement": "CREATE TABLE rnacen.xref_p7_not_deleted (dbid smallint, created int, last int, upi varchar(26), version_i int, deleted char(1), \"timestamp\" timestamp DEFAULT ('now'::text::timestamp), userstamp varchar(20) DEFAULT ('USER'::varchar), ac varchar(300), version int, taxid bigint, id bigint DEFAULT nextval('rnacen.xref_pk_seq'::regclass), CONSTRAINT \"ck_xref$deleted\" CHECK (deleted = ANY(ARRAY['Y'::bpchar, 'N'::bpchar])), CONSTRAINT xref_p7_not_deleted_check CHECK (dbid = 7 AND deleted = 'N'::bpchar)) INHERITS (rnacen.xref) WITH (colocation=false);", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/rna/export-dir/schema/tables/table.sql", "Suggestion": "", @@ -1342,7 +1342,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "rnacen.xref_p8_deleted", - "Reason": "TABLE INHERITANCE not supported in YugabyteDB", + "Reason": "Table inheritance is not yet supported in YugabyteDB", "SqlStatement": "CREATE TABLE rnacen.xref_p8_deleted (dbid smallint, created int, last int, upi varchar(26), version_i int, deleted char(1), \"timestamp\" timestamp DEFAULT ('now'::text::timestamp), userstamp varchar(20) DEFAULT ('USER'::varchar), ac varchar(300), version int, taxid bigint, id bigint DEFAULT nextval('rnacen.xref_pk_seq'::regclass), CONSTRAINT \"ck_xref$deleted\" CHECK (deleted = ANY(ARRAY['Y'::bpchar, 'N'::bpchar])), CONSTRAINT xref_p8_deleted_check CHECK (dbid = 8 AND deleted = 'Y'::bpchar)) INHERITS (rnacen.xref) WITH (colocation=false);", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/rna/export-dir/schema/tables/table.sql", "Suggestion": "", @@ -1354,7 +1354,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "rnacen.xref_p8_not_deleted", - "Reason": "TABLE INHERITANCE not supported in YugabyteDB", + "Reason": "Table inheritance is not yet supported in YugabyteDB", "SqlStatement": "CREATE TABLE rnacen.xref_p8_not_deleted (dbid smallint, created int, last int, upi varchar(26), version_i int, deleted char(1), \"timestamp\" timestamp DEFAULT ('now'::text::timestamp), userstamp varchar(20) DEFAULT ('USER'::varchar), ac varchar(300), version int, taxid bigint, id bigint DEFAULT nextval('rnacen.xref_pk_seq'::regclass), CONSTRAINT \"ck_xref$deleted\" CHECK (deleted = ANY(ARRAY['Y'::bpchar, 'N'::bpchar])), CONSTRAINT xref_p8_not_deleted_check CHECK (dbid = 8 AND deleted = 'N'::bpchar)) INHERITS (rnacen.xref) WITH (colocation=false);", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/rna/export-dir/schema/tables/table.sql", "Suggestion": "", @@ -1366,7 +1366,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "rnacen.xref_p9_deleted", - "Reason": "TABLE INHERITANCE not supported in YugabyteDB", + "Reason": "Table inheritance is not yet supported in YugabyteDB", "SqlStatement": "CREATE TABLE rnacen.xref_p9_deleted (dbid smallint, created int, last int, upi varchar(26), version_i int, deleted char(1), \"timestamp\" timestamp DEFAULT ('now'::text::timestamp), userstamp varchar(20) DEFAULT ('USER'::varchar), ac varchar(300), version int, taxid bigint, id bigint DEFAULT nextval('rnacen.xref_pk_seq'::regclass), CONSTRAINT \"ck_xref$deleted\" CHECK (deleted = ANY(ARRAY['Y'::bpchar, 'N'::bpchar])), CONSTRAINT xref_p9_deleted_check CHECK (dbid = 9 AND deleted = 'Y'::bpchar)) INHERITS (rnacen.xref) WITH (colocation=false);", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/rna/export-dir/schema/tables/table.sql", "Suggestion": "", @@ -1378,7 +1378,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "rnacen.xref_p9_not_deleted", - "Reason": "TABLE INHERITANCE not supported in YugabyteDB", + "Reason": "Table inheritance is not yet supported in YugabyteDB", "SqlStatement": "CREATE TABLE rnacen.xref_p9_not_deleted (dbid smallint, created int, last int, upi varchar(26), version_i int, deleted char(1), \"timestamp\" timestamp DEFAULT ('now'::text::timestamp), userstamp varchar(20) DEFAULT ('USER'::varchar), ac varchar(300), version int, taxid bigint, id bigint DEFAULT nextval('rnacen.xref_pk_seq'::regclass), CONSTRAINT \"ck_xref$deleted\" CHECK (deleted = ANY(ARRAY['Y'::bpchar, 'N'::bpchar])), CONSTRAINT xref_p9_not_deleted_check CHECK (dbid = 9 AND deleted = 'N'::bpchar)) INHERITS (rnacen.xref) WITH (colocation=false);", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/rna/export-dir/schema/tables/table.sql", "Suggestion": "", diff --git a/migtests/tests/pg/sakila/expected_files/expected_schema_analysis_report.json b/migtests/tests/pg/sakila/expected_files/expected_schema_analysis_report.json index b2f01e9109..1b7719e13b 100755 --- a/migtests/tests/pg/sakila/expected_files/expected_schema_analysis_report.json +++ b/migtests/tests/pg/sakila/expected_files/expected_schema_analysis_report.json @@ -81,7 +81,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "public.payment_p2007_01", - "Reason": "TABLE INHERITANCE not supported in YugabyteDB", + "Reason": "Table inheritance is not yet supported in YugabyteDB", "SqlStatement": "CREATE TABLE public.payment_p2007_01 (\n CONSTRAINT payment_p2007_01_payment_date_check CHECK (((payment_date \u003e= '2007-01-01 00:00:00'::timestamp without time zone) AND (payment_date \u003c '2007-02-01 00:00:00'::timestamp without time zone)))\n)\nINHERITS (public.payment);", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/sakila/export-dir/schema/tables/table.sql", "Suggestion": "", @@ -93,7 +93,7 @@ "IssueType": "migration_caveats", "ObjectType": "TABLE", "ObjectName": "public.film", - "Reason": "Unsupported datatype for Live migration with fall-forward/fallback - tsvector on column - fulltext", + "Reason": "Datatype not yet supported by voyager in live migration with fall-forward/fallback. Affected column: fulltext and type: tsvector. These columns will be excluded when exporting and importing data in live migration workflows.", "SqlStatement": "CREATE TABLE public.film (film_id int DEFAULT nextval('public.film_film_id_seq'::regclass) NOT NULL, title varchar(255) NOT NULL, description text, release_year public.year, language_id int NOT NULL, original_language_id int, rental_duration smallint DEFAULT 3 NOT NULL, rental_rate numeric(4, 2) DEFAULT 4.99 NOT NULL, length smallint, replacement_cost numeric(5, 2) DEFAULT 19.99 NOT NULL, rating public.mpaa_rating DEFAULT ('G'::public.mpaa_rating), last_update timestamp DEFAULT now() NOT NULL, special_features text[], fulltext tsvector NOT NULL) WITH (colocation=false);", "FilePath": "/Users/priyanshigupta/Documents/voyager/yb-voyager/migtests/tests/pg/sakila/export-dir/schema/tables/table.sql", "Suggestion": "", @@ -105,7 +105,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "public.payment_p2007_02", - "Reason": "TABLE INHERITANCE not supported in YugabyteDB", + "Reason": "Table inheritance is not yet supported in YugabyteDB", "SqlStatement": "CREATE TABLE public.payment_p2007_02 (\n CONSTRAINT payment_p2007_02_payment_date_check CHECK (((payment_date \u003e= '2007-02-01 00:00:00'::timestamp without time zone) AND (payment_date \u003c '2007-03-01 00:00:00'::timestamp without time zone)))\n)\nINHERITS (public.payment);", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/sakila/export-dir/schema/tables/table.sql", "Suggestion": "", @@ -117,7 +117,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "public.payment_p2007_03", - "Reason": "TABLE INHERITANCE not supported in YugabyteDB", + "Reason": "Table inheritance is not yet supported in YugabyteDB", "SqlStatement": "CREATE TABLE public.payment_p2007_03 (\n CONSTRAINT payment_p2007_03_payment_date_check CHECK (((payment_date \u003e= '2007-03-01 00:00:00'::timestamp without time zone) AND (payment_date \u003c '2007-04-01 00:00:00'::timestamp without time zone)))\n)\nINHERITS (public.payment);", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/sakila/export-dir/schema/tables/table.sql", "Suggestion": "", @@ -129,7 +129,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "public.payment_p2007_04", - "Reason": "TABLE INHERITANCE not supported in YugabyteDB", + "Reason": "Table inheritance is not yet supported in YugabyteDB", "SqlStatement": "CREATE TABLE public.payment_p2007_04 (\n CONSTRAINT payment_p2007_04_payment_date_check CHECK (((payment_date \u003e= '2007-04-01 00:00:00'::timestamp without time zone) AND (payment_date \u003c '2007-05-01 00:00:00'::timestamp without time zone)))\n)\nINHERITS (public.payment);", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/sakila/export-dir/schema/tables/table.sql", "Suggestion": "", @@ -141,7 +141,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "public.payment_p2007_05", - "Reason": "TABLE INHERITANCE not supported in YugabyteDB", + "Reason": "Table inheritance is not yet supported in YugabyteDB", "SqlStatement": "CREATE TABLE public.payment_p2007_05 (\n CONSTRAINT payment_p2007_05_payment_date_check CHECK (((payment_date \u003e= '2007-05-01 00:00:00'::timestamp without time zone) AND (payment_date \u003c '2007-06-01 00:00:00'::timestamp without time zone)))\n)\nINHERITS (public.payment);", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/sakila/export-dir/schema/tables/table.sql", "Suggestion": "", @@ -153,7 +153,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "public.payment_p2007_06", - "Reason": "TABLE INHERITANCE not supported in YugabyteDB", + "Reason": "Table inheritance is not yet supported in YugabyteDB", "SqlStatement": "CREATE TABLE public.payment_p2007_06 (\n CONSTRAINT payment_p2007_06_payment_date_check CHECK (((payment_date \u003e= '2007-06-01 00:00:00'::timestamp without time zone) AND (payment_date \u003c '2007-07-01 00:00:00'::timestamp without time zone)))\n)\nINHERITS (public.payment);", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/sakila/export-dir/schema/tables/table.sql", "Suggestion": "", @@ -165,7 +165,7 @@ "IssueType": "unsupported_features", "ObjectType": "INDEX", "ObjectName": "film_fulltext_idx ON public.film", - "Reason": "Schema contains GIST index which is not supported.", + "Reason": "The schema contains an index with an access method 'GIST' which is not supported in YugabyteDB.", "SqlStatement": "CREATE INDEX film_fulltext_idx ON public.film USING gist (fulltext);", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/sakila/export-dir/schema/tables/INDEXES_table.sql", "Suggestion": "", diff --git a/migtests/tests/pg/sample-is/expected_files/expected_schema_analysis_report.json b/migtests/tests/pg/sample-is/expected_files/expected_schema_analysis_report.json index a179067f9b..a0926619fd 100755 --- a/migtests/tests/pg/sample-is/expected_files/expected_schema_analysis_report.json +++ b/migtests/tests/pg/sample-is/expected_files/expected_schema_analysis_report.json @@ -52,7 +52,7 @@ "IssueType": "migration_caveats", "ObjectType": "TABLE", "ObjectName": "public.reports", - "Reason": "Unsupported datatype for Live migration with fall-forward/fallback - public.hstore on column - attrs", + "Reason": "Datatype not yet supported by voyager in live migration with fall-forward/fallback. Affected column: attrs and type: public.hstore. These columns will be excluded when exporting and importing data in live migration workflows.", "SqlStatement": "CREATE TABLE public.reports (\n agent_uuid uuid,\n \"time\" timestamp with time zone,\n attrs public.hstore DEFAULT ''::public.hstore,\n report text,\n report_tsv tsvector\n);", "FilePath": "/Users/priyanshigupta/Documents/voyager/yb-voyager/migtests/tests/pg/sample-is/export-dir/schema/tables/table.sql", "Suggestion": "", @@ -64,7 +64,7 @@ "IssueType": "unsupported_features", "ObjectType": "TABLE", "ObjectName": "public.secret_missions, constraint: (cnt_solo_agent)", - "Reason": "Exclusion constraint is not supported yet", + "Reason": "Exclusion constraints are not yet supported in YugabyteDB", "SqlStatement": "ALTER TABLE ONLY public.secret_missions\n ADD CONSTRAINT cnt_solo_agent EXCLUDE USING gist (location WITH =, mission_timeline WITH \u0026\u0026);", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/sample-is/export-dir/schema/tables/table.sql", "Suggestion": "Refer docs link for details on possible workaround", @@ -76,7 +76,7 @@ "IssueType": "migration_caveats", "ObjectType": "TABLE", "ObjectName": "public.reports", - "Reason": "Unsupported datatype for Live migration with fall-forward/fallback - tsvector on column - report_tsv", + "Reason": "Datatype not yet supported by voyager in live migration with fall-forward/fallback. Affected column: report_tsv and type: tsvector. These columns will be excluded when exporting and importing data in live migration workflows.", "SqlStatement": "CREATE TABLE public.reports (\n agent_uuid uuid,\n \"time\" timestamp with time zone,\n attrs public.hstore DEFAULT ''::public.hstore,\n report text,\n report_tsv tsvector\n);", "FilePath": "/Users/priyanshigupta/Documents/voyager/yb-voyager/migtests/tests/pg/sample-is/export-dir/schema/tables/table.sql", "Suggestion": "", diff --git a/migtests/tests/pg/stackexchange/expected_files/expected_schema_analysis_report.json b/migtests/tests/pg/stackexchange/expected_files/expected_schema_analysis_report.json index ca3d4ac3ce..bec560ed59 100644 --- a/migtests/tests/pg/stackexchange/expected_files/expected_schema_analysis_report.json +++ b/migtests/tests/pg/stackexchange/expected_files/expected_schema_analysis_report.json @@ -45,7 +45,7 @@ "IssueType": "unsupported_features", "ObjectType": "INDEX", "ObjectName": "badges_date_idx ON public.badges", - "Reason": "Storage parameters are not supported yet.", + "Reason": "Storage parameters in tables, indexes, and constraints are not yet supported in YugabyteDB", "SqlStatement": "CREATE INDEX badges_date_idx ON public.badges USING btree (date) WITH (fillfactor='100');", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/stackexchange/export-dir/schema/tables/INDEXES_table.sql", "Suggestion": "Remove the storage parameters from the DDL", @@ -57,7 +57,7 @@ "IssueType": "unsupported_features", "ObjectType": "INDEX", "ObjectName": "badges_name_idx ON public.badges", - "Reason": "Storage parameters are not supported yet.", + "Reason": "Storage parameters in tables, indexes, and constraints are not yet supported in YugabyteDB", "SqlStatement": "CREATE INDEX badges_name_idx ON public.badges USING btree (name) WITH (fillfactor='100');", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/stackexchange/export-dir/schema/tables/INDEXES_table.sql", "Suggestion": "Remove the storage parameters from the DDL", @@ -69,7 +69,7 @@ "IssueType": "unsupported_features", "ObjectType": "INDEX", "ObjectName": "badges_user_id_idx ON public.badges", - "Reason": "Storage parameters are not supported yet.", + "Reason": "Storage parameters in tables, indexes, and constraints are not yet supported in YugabyteDB", "SqlStatement": "CREATE INDEX badges_user_id_idx ON public.badges USING btree (userid) WITH (fillfactor='100');", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/stackexchange/export-dir/schema/tables/INDEXES_table.sql", "Suggestion": "Remove the storage parameters from the DDL", @@ -81,7 +81,7 @@ "IssueType": "unsupported_features", "ObjectType": "INDEX", "ObjectName": "cmnts_creation_date_idx ON public.comments", - "Reason": "Storage parameters are not supported yet.", + "Reason": "Storage parameters in tables, indexes, and constraints are not yet supported in YugabyteDB", "SqlStatement": "CREATE INDEX cmnts_creation_date_idx ON public.comments USING btree (creationdate) WITH (fillfactor='100');", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/stackexchange/export-dir/schema/tables/INDEXES_table.sql", "Suggestion": "Remove the storage parameters from the DDL", @@ -93,7 +93,7 @@ "IssueType": "unsupported_features", "ObjectType": "INDEX", "ObjectName": "cmnts_postid_idx ON public.comments", - "Reason": "Storage parameters are not supported yet.", + "Reason": "Storage parameters in tables, indexes, and constraints are not yet supported in YugabyteDB", "SqlStatement": "CREATE INDEX cmnts_postid_idx ON public.comments USING hash (postid) WITH (fillfactor='100');", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/stackexchange/export-dir/schema/tables/INDEXES_table.sql", "Suggestion": "Remove the storage parameters from the DDL", @@ -105,7 +105,7 @@ "IssueType": "unsupported_features", "ObjectType": "INDEX", "ObjectName": "cmnts_score_idx ON public.comments", - "Reason": "Storage parameters are not supported yet.", + "Reason": "Storage parameters in tables, indexes, and constraints are not yet supported in YugabyteDB", "SqlStatement": "CREATE INDEX cmnts_score_idx ON public.comments USING btree (score) WITH (fillfactor='100');", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/stackexchange/export-dir/schema/tables/INDEXES_table.sql", "Suggestion": "Remove the storage parameters from the DDL", @@ -117,7 +117,7 @@ "IssueType": "unsupported_features", "ObjectType": "INDEX", "ObjectName": "cmnts_userid_idx ON public.comments", - "Reason": "Storage parameters are not supported yet.", + "Reason": "Storage parameters in tables, indexes, and constraints are not yet supported in YugabyteDB", "SqlStatement": "CREATE INDEX cmnts_userid_idx ON public.comments USING btree (userid) WITH (fillfactor='100');", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/stackexchange/export-dir/schema/tables/INDEXES_table.sql", "Suggestion": "Remove the storage parameters from the DDL", @@ -129,7 +129,7 @@ "IssueType": "unsupported_features", "ObjectType": "INDEX", "ObjectName": "ph_creation_date_idx ON public.posthistory", - "Reason": "Storage parameters are not supported yet.", + "Reason": "Storage parameters in tables, indexes, and constraints are not yet supported in YugabyteDB", "SqlStatement": "CREATE INDEX ph_creation_date_idx ON public.posthistory USING btree (creationdate) WITH (fillfactor='100');", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/stackexchange/export-dir/schema/tables/INDEXES_table.sql", "Suggestion": "Remove the storage parameters from the DDL", @@ -141,7 +141,7 @@ "IssueType": "unsupported_features", "ObjectType": "INDEX", "ObjectName": "ph_post_type_id_idx ON public.posthistory", - "Reason": "Storage parameters are not supported yet.", + "Reason": "Storage parameters in tables, indexes, and constraints are not yet supported in YugabyteDB", "SqlStatement": "CREATE INDEX ph_post_type_id_idx ON public.posthistory USING btree (posthistorytypeid) WITH (fillfactor='100');", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/stackexchange/export-dir/schema/tables/INDEXES_table.sql", "Suggestion": "Remove the storage parameters from the DDL", @@ -153,7 +153,7 @@ "IssueType": "unsupported_features", "ObjectType": "INDEX", "ObjectName": "ph_postid_idx ON public.posthistory", - "Reason": "Storage parameters are not supported yet.", + "Reason": "Storage parameters in tables, indexes, and constraints are not yet supported in YugabyteDB", "SqlStatement": "CREATE INDEX ph_postid_idx ON public.posthistory USING hash (postid) WITH (fillfactor='100');", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/stackexchange/export-dir/schema/tables/INDEXES_table.sql", "Suggestion": "Remove the storage parameters from the DDL", @@ -165,7 +165,7 @@ "IssueType": "unsupported_features", "ObjectType": "INDEX", "ObjectName": "ph_revguid_idx ON public.posthistory", - "Reason": "Storage parameters are not supported yet.", + "Reason": "Storage parameters in tables, indexes, and constraints are not yet supported in YugabyteDB", "SqlStatement": "CREATE INDEX ph_revguid_idx ON public.posthistory USING btree (revisionguid) WITH (fillfactor='100');", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/stackexchange/export-dir/schema/tables/INDEXES_table.sql", "Suggestion": "Remove the storage parameters from the DDL", @@ -177,7 +177,7 @@ "IssueType": "unsupported_features", "ObjectType": "INDEX", "ObjectName": "ph_userid_idx ON public.posthistory", - "Reason": "Storage parameters are not supported yet.", + "Reason": "Storage parameters in tables, indexes, and constraints are not yet supported in YugabyteDB", "SqlStatement": "CREATE INDEX ph_userid_idx ON public.posthistory USING btree (userid) WITH (fillfactor='100');", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/stackexchange/export-dir/schema/tables/INDEXES_table.sql", "Suggestion": "Remove the storage parameters from the DDL", @@ -189,7 +189,7 @@ "IssueType": "unsupported_features", "ObjectType": "INDEX", "ObjectName": "postlinks_post_id_idx ON public.postlinks", - "Reason": "Storage parameters are not supported yet.", + "Reason": "Storage parameters in tables, indexes, and constraints are not yet supported in YugabyteDB", "SqlStatement": "CREATE INDEX postlinks_post_id_idx ON public.postlinks USING btree (postid) WITH (fillfactor='100');", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/stackexchange/export-dir/schema/tables/INDEXES_table.sql", "Suggestion": "Remove the storage parameters from the DDL", @@ -201,7 +201,7 @@ "IssueType": "unsupported_features", "ObjectType": "INDEX", "ObjectName": "postlinks_related_post_id_idx ON public.postlinks", - "Reason": "Storage parameters are not supported yet.", + "Reason": "Storage parameters in tables, indexes, and constraints are not yet supported in YugabyteDB", "SqlStatement": "CREATE INDEX postlinks_related_post_id_idx ON public.postlinks USING btree (relatedpostid) WITH (fillfactor='100');", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/stackexchange/export-dir/schema/tables/INDEXES_table.sql", "Suggestion": "Remove the storage parameters from the DDL", @@ -213,7 +213,7 @@ "IssueType": "unsupported_features", "ObjectType": "INDEX", "ObjectName": "posts_accepted_answer_id_idx ON public.posts", - "Reason": "Storage parameters are not supported yet.", + "Reason": "Storage parameters in tables, indexes, and constraints are not yet supported in YugabyteDB", "SqlStatement": "CREATE INDEX posts_accepted_answer_id_idx ON public.posts USING btree (acceptedanswerid) WITH (fillfactor='100');", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/stackexchange/export-dir/schema/tables/INDEXES_table.sql", "Suggestion": "Remove the storage parameters from the DDL", @@ -225,7 +225,7 @@ "IssueType": "unsupported_features", "ObjectType": "INDEX", "ObjectName": "posts_answer_count_idx ON public.posts", - "Reason": "Storage parameters are not supported yet.", + "Reason": "Storage parameters in tables, indexes, and constraints are not yet supported in YugabyteDB", "SqlStatement": "CREATE INDEX posts_answer_count_idx ON public.posts USING btree (answercount) WITH (fillfactor='100');", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/stackexchange/export-dir/schema/tables/INDEXES_table.sql", "Suggestion": "Remove the storage parameters from the DDL", @@ -237,7 +237,7 @@ "IssueType": "unsupported_features", "ObjectType": "INDEX", "ObjectName": "posts_comment_count_idx ON public.posts", - "Reason": "Storage parameters are not supported yet.", + "Reason": "Storage parameters in tables, indexes, and constraints are not yet supported in YugabyteDB", "SqlStatement": "CREATE INDEX posts_comment_count_idx ON public.posts USING btree (commentcount) WITH (fillfactor='100');", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/stackexchange/export-dir/schema/tables/INDEXES_table.sql", "Suggestion": "Remove the storage parameters from the DDL", @@ -249,7 +249,7 @@ "IssueType": "unsupported_features", "ObjectType": "INDEX", "ObjectName": "posts_creation_date_idx ON public.posts", - "Reason": "Storage parameters are not supported yet.", + "Reason": "Storage parameters in tables, indexes, and constraints are not yet supported in YugabyteDB", "SqlStatement": "CREATE INDEX posts_creation_date_idx ON public.posts USING btree (creationdate) WITH (fillfactor='100');", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/stackexchange/export-dir/schema/tables/INDEXES_table.sql", "Suggestion": "Remove the storage parameters from the DDL", @@ -261,7 +261,7 @@ "IssueType": "unsupported_features", "ObjectType": "INDEX", "ObjectName": "posts_favorite_count_idx ON public.posts", - "Reason": "Storage parameters are not supported yet.", + "Reason": "Storage parameters in tables, indexes, and constraints are not yet supported in YugabyteDB", "SqlStatement": "CREATE INDEX posts_favorite_count_idx ON public.posts USING btree (favoritecount) WITH (fillfactor='100');", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/stackexchange/export-dir/schema/tables/INDEXES_table.sql", "Suggestion": "Remove the storage parameters from the DDL", @@ -273,7 +273,7 @@ "IssueType": "unsupported_features", "ObjectType": "INDEX", "ObjectName": "posts_id_accepted_answers_id_idx ON public.posts", - "Reason": "Storage parameters are not supported yet.", + "Reason": "Storage parameters in tables, indexes, and constraints are not yet supported in YugabyteDB", "SqlStatement": "CREATE INDEX posts_id_accepted_answers_id_idx ON public.posts USING btree (id, acceptedanswerid) WITH (fillfactor='100');", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/stackexchange/export-dir/schema/tables/INDEXES_table.sql", "Suggestion": "Remove the storage parameters from the DDL", @@ -285,7 +285,7 @@ "IssueType": "unsupported_features", "ObjectType": "INDEX", "ObjectName": "posts_id_parent_id_idx ON public.posts", - "Reason": "Storage parameters are not supported yet.", + "Reason": "Storage parameters in tables, indexes, and constraints are not yet supported in YugabyteDB", "SqlStatement": "CREATE INDEX posts_id_parent_id_idx ON public.posts USING btree (id, parentid) WITH (fillfactor='100');", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/stackexchange/export-dir/schema/tables/INDEXES_table.sql", "Suggestion": "Remove the storage parameters from the DDL", @@ -297,7 +297,7 @@ "IssueType": "unsupported_features", "ObjectType": "INDEX", "ObjectName": "posts_id_post_type_id_idx ON public.posts", - "Reason": "Storage parameters are not supported yet.", + "Reason": "Storage parameters in tables, indexes, and constraints are not yet supported in YugabyteDB", "SqlStatement": "CREATE INDEX posts_id_post_type_id_idx ON public.posts USING btree (id, posttypeid) WITH (fillfactor='100');", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/stackexchange/export-dir/schema/tables/INDEXES_table.sql", "Suggestion": "Remove the storage parameters from the DDL", @@ -309,7 +309,7 @@ "IssueType": "unsupported_features", "ObjectType": "INDEX", "ObjectName": "posts_owner_user_id_creation_date_idx ON public.posts", - "Reason": "Storage parameters are not supported yet.", + "Reason": "Storage parameters in tables, indexes, and constraints are not yet supported in YugabyteDB", "SqlStatement": "CREATE INDEX posts_owner_user_id_creation_date_idx ON public.posts USING btree (owneruserid, creationdate) WITH (fillfactor='100');", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/stackexchange/export-dir/schema/tables/INDEXES_table.sql", "Suggestion": "Remove the storage parameters from the DDL", @@ -321,7 +321,7 @@ "IssueType": "unsupported_features", "ObjectType": "INDEX", "ObjectName": "posts_owner_user_id_idx ON public.posts", - "Reason": "Storage parameters are not supported yet.", + "Reason": "Storage parameters in tables, indexes, and constraints are not yet supported in YugabyteDB", "SqlStatement": "CREATE INDEX posts_owner_user_id_idx ON public.posts USING hash (owneruserid) WITH (fillfactor='100');", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/stackexchange/export-dir/schema/tables/INDEXES_table.sql", "Suggestion": "Remove the storage parameters from the DDL", @@ -333,7 +333,7 @@ "IssueType": "unsupported_features", "ObjectType": "INDEX", "ObjectName": "posts_parent_id_idx ON public.posts", - "Reason": "Storage parameters are not supported yet.", + "Reason": "Storage parameters in tables, indexes, and constraints are not yet supported in YugabyteDB", "SqlStatement": "CREATE INDEX posts_parent_id_idx ON public.posts USING btree (parentid) WITH (fillfactor='100');", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/stackexchange/export-dir/schema/tables/INDEXES_table.sql", "Suggestion": "Remove the storage parameters from the DDL", @@ -345,7 +345,7 @@ "IssueType": "unsupported_features", "ObjectType": "INDEX", "ObjectName": "posts_post_type_id_idx ON public.posts", - "Reason": "Storage parameters are not supported yet.", + "Reason": "Storage parameters in tables, indexes, and constraints are not yet supported in YugabyteDB", "SqlStatement": "CREATE INDEX posts_post_type_id_idx ON public.posts USING btree (posttypeid) WITH (fillfactor='100');", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/stackexchange/export-dir/schema/tables/INDEXES_table.sql", "Suggestion": "Remove the storage parameters from the DDL", @@ -357,7 +357,7 @@ "IssueType": "unsupported_features", "ObjectType": "INDEX", "ObjectName": "posts_score_idx ON public.posts", - "Reason": "Storage parameters are not supported yet.", + "Reason": "Storage parameters in tables, indexes, and constraints are not yet supported in YugabyteDB", "SqlStatement": "CREATE INDEX posts_score_idx ON public.posts USING btree (score) WITH (fillfactor='100');", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/stackexchange/export-dir/schema/tables/INDEXES_table.sql", "Suggestion": "Remove the storage parameters from the DDL", @@ -369,7 +369,7 @@ "IssueType": "unsupported_features", "ObjectType": "INDEX", "ObjectName": "posts_viewcount_idx ON public.posts", - "Reason": "Storage parameters are not supported yet.", + "Reason": "Storage parameters in tables, indexes, and constraints are not yet supported in YugabyteDB", "SqlStatement": "CREATE INDEX posts_viewcount_idx ON public.posts USING btree (viewcount) WITH (fillfactor='100');", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/stackexchange/export-dir/schema/tables/INDEXES_table.sql", "Suggestion": "Remove the storage parameters from the DDL", @@ -381,7 +381,7 @@ "IssueType": "unsupported_features", "ObjectType": "INDEX", "ObjectName": "posttags_postid_idx ON public.posttags", - "Reason": "Storage parameters are not supported yet.", + "Reason": "Storage parameters in tables, indexes, and constraints are not yet supported in YugabyteDB", "SqlStatement": "CREATE INDEX posttags_postid_idx ON public.posttags USING hash (postid) WITH (fillfactor='100');", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/stackexchange/export-dir/schema/tables/INDEXES_table.sql", "Suggestion": "Remove the storage parameters from the DDL", @@ -393,7 +393,7 @@ "IssueType": "unsupported_features", "ObjectType": "INDEX", "ObjectName": "posttags_tagid_idx ON public.posttags", - "Reason": "Storage parameters are not supported yet.", + "Reason": "Storage parameters in tables, indexes, and constraints are not yet supported in YugabyteDB", "SqlStatement": "CREATE INDEX posttags_tagid_idx ON public.posttags USING btree (tagid) WITH (fillfactor='100');", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/stackexchange/export-dir/schema/tables/INDEXES_table.sql", "Suggestion": "Remove the storage parameters from the DDL", @@ -405,7 +405,7 @@ "IssueType": "unsupported_features", "ObjectType": "INDEX", "ObjectName": "tags_count_idx ON public.tags", - "Reason": "Storage parameters are not supported yet.", + "Reason": "Storage parameters in tables, indexes, and constraints are not yet supported in YugabyteDB", "SqlStatement": "CREATE INDEX tags_count_idx ON public.tags USING btree (count) WITH (fillfactor='100');", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/stackexchange/export-dir/schema/tables/INDEXES_table.sql", "Suggestion": "Remove the storage parameters from the DDL", @@ -417,7 +417,7 @@ "IssueType": "unsupported_features", "ObjectType": "INDEX", "ObjectName": "tags_name_idx ON public.tags", - "Reason": "Storage parameters are not supported yet.", + "Reason": "Storage parameters in tables, indexes, and constraints are not yet supported in YugabyteDB", "SqlStatement": "CREATE INDEX tags_name_idx ON public.tags USING hash (tagname) WITH (fillfactor='100');", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/stackexchange/export-dir/schema/tables/INDEXES_table.sql", "Suggestion": "Remove the storage parameters from the DDL", @@ -429,7 +429,7 @@ "IssueType": "unsupported_features", "ObjectType": "INDEX", "ObjectName": "user_acc_id_idx ON public.users", - "Reason": "Storage parameters are not supported yet.", + "Reason": "Storage parameters in tables, indexes, and constraints are not yet supported in YugabyteDB", "SqlStatement": "CREATE INDEX user_acc_id_idx ON public.users USING hash (accountid) WITH (fillfactor='100');", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/stackexchange/export-dir/schema/tables/INDEXES_table.sql", "Suggestion": "Remove the storage parameters from the DDL", @@ -441,7 +441,7 @@ "IssueType": "unsupported_features", "ObjectType": "INDEX", "ObjectName": "user_created_at_idx ON public.users", - "Reason": "Storage parameters are not supported yet.", + "Reason": "Storage parameters in tables, indexes, and constraints are not yet supported in YugabyteDB", "SqlStatement": "CREATE INDEX user_created_at_idx ON public.users USING btree (creationdate) WITH (fillfactor='100');", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/stackexchange/export-dir/schema/tables/INDEXES_table.sql", "Suggestion": "Remove the storage parameters from the DDL", @@ -453,7 +453,7 @@ "IssueType": "unsupported_features", "ObjectType": "INDEX", "ObjectName": "user_display_idx ON public.users", - "Reason": "Storage parameters are not supported yet.", + "Reason": "Storage parameters in tables, indexes, and constraints are not yet supported in YugabyteDB", "SqlStatement": "CREATE INDEX user_display_idx ON public.users USING hash (displayname) WITH (fillfactor='100');", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/stackexchange/export-dir/schema/tables/INDEXES_table.sql", "Suggestion": "Remove the storage parameters from the DDL", @@ -465,7 +465,7 @@ "IssueType": "unsupported_features", "ObjectType": "INDEX", "ObjectName": "user_down_votes_idx ON public.users", - "Reason": "Storage parameters are not supported yet.", + "Reason": "Storage parameters in tables, indexes, and constraints are not yet supported in YugabyteDB", "SqlStatement": "CREATE INDEX user_down_votes_idx ON public.users USING btree (downvotes) WITH (fillfactor='100');", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/stackexchange/export-dir/schema/tables/INDEXES_table.sql", "Suggestion": "Remove the storage parameters from the DDL", @@ -477,7 +477,7 @@ "IssueType": "unsupported_features", "ObjectType": "INDEX", "ObjectName": "user_up_votes_idx ON public.users", - "Reason": "Storage parameters are not supported yet.", + "Reason": "Storage parameters in tables, indexes, and constraints are not yet supported in YugabyteDB", "SqlStatement": "CREATE INDEX user_up_votes_idx ON public.users USING btree (upvotes) WITH (fillfactor='100');", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/stackexchange/export-dir/schema/tables/INDEXES_table.sql", "Suggestion": "Remove the storage parameters from the DDL", @@ -489,7 +489,7 @@ "IssueType": "unsupported_features", "ObjectType": "INDEX", "ObjectName": "usertagqa_all_qa_posts_idx ON public.usertagqa", - "Reason": "Storage parameters are not supported yet.", + "Reason": "Storage parameters in tables, indexes, and constraints are not yet supported in YugabyteDB", "SqlStatement": "CREATE INDEX usertagqa_all_qa_posts_idx ON public.usertagqa USING btree (((questions + answers))) WITH (fillfactor='100');", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/stackexchange/export-dir/schema/tables/INDEXES_table.sql", "Suggestion": "Remove the storage parameters from the DDL", @@ -501,7 +501,7 @@ "IssueType": "unsupported_features", "ObjectType": "INDEX", "ObjectName": "usertagqa_answers_idx ON public.usertagqa", - "Reason": "Storage parameters are not supported yet.", + "Reason": "Storage parameters in tables, indexes, and constraints are not yet supported in YugabyteDB", "SqlStatement": "CREATE INDEX usertagqa_answers_idx ON public.usertagqa USING btree (answers) WITH (fillfactor='100');", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/stackexchange/export-dir/schema/tables/INDEXES_table.sql", "Suggestion": "Remove the storage parameters from the DDL", @@ -513,7 +513,7 @@ "IssueType": "unsupported_features", "ObjectType": "INDEX", "ObjectName": "usertagqa_questions_answers_idx ON public.usertagqa", - "Reason": "Storage parameters are not supported yet.", + "Reason": "Storage parameters in tables, indexes, and constraints are not yet supported in YugabyteDB", "SqlStatement": "CREATE INDEX usertagqa_questions_answers_idx ON public.usertagqa USING btree (questions, answers) WITH (fillfactor='100');", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/stackexchange/export-dir/schema/tables/INDEXES_table.sql", "Suggestion": "Remove the storage parameters from the DDL", @@ -525,7 +525,7 @@ "IssueType": "unsupported_features", "ObjectType": "INDEX", "ObjectName": "usertagqa_questions_idx ON public.usertagqa", - "Reason": "Storage parameters are not supported yet.", + "Reason": "Storage parameters in tables, indexes, and constraints are not yet supported in YugabyteDB", "SqlStatement": "CREATE INDEX usertagqa_questions_idx ON public.usertagqa USING btree (questions) WITH (fillfactor='100');", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/stackexchange/export-dir/schema/tables/INDEXES_table.sql", "Suggestion": "Remove the storage parameters from the DDL", @@ -537,7 +537,7 @@ "IssueType": "unsupported_features", "ObjectType": "INDEX", "ObjectName": "votes_creation_date_idx ON public.votes", - "Reason": "Storage parameters are not supported yet.", + "Reason": "Storage parameters in tables, indexes, and constraints are not yet supported in YugabyteDB", "SqlStatement": "CREATE INDEX votes_creation_date_idx ON public.votes USING btree (creationdate) WITH (fillfactor='100');", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/stackexchange/export-dir/schema/tables/INDEXES_table.sql", "Suggestion": "Remove the storage parameters from the DDL", @@ -549,7 +549,7 @@ "IssueType": "unsupported_features", "ObjectType": "INDEX", "ObjectName": "votes_post_id_idx ON public.votes", - "Reason": "Storage parameters are not supported yet.", + "Reason": "Storage parameters in tables, indexes, and constraints are not yet supported in YugabyteDB", "SqlStatement": "CREATE INDEX votes_post_id_idx ON public.votes USING hash (postid) WITH (fillfactor='100');", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/stackexchange/export-dir/schema/tables/INDEXES_table.sql", "Suggestion": "Remove the storage parameters from the DDL", @@ -561,7 +561,7 @@ "IssueType": "unsupported_features", "ObjectType": "INDEX", "ObjectName": "votes_type_idx ON public.votes", - "Reason": "Storage parameters are not supported yet.", + "Reason": "Storage parameters in tables, indexes, and constraints are not yet supported in YugabyteDB", "SqlStatement": "CREATE INDEX votes_type_idx ON public.votes USING btree (votetypeid) WITH (fillfactor='100');", "FilePath": "/home/ubuntu/yb-voyager/migtests/tests/pg/stackexchange/export-dir/schema/tables/INDEXES_table.sql", "Suggestion": "Remove the storage parameters from the DDL", diff --git a/yb-voyager/cmd/analyzeSchema.go b/yb-voyager/cmd/analyzeSchema.go index d102184e2c..1b52a9611b 100644 --- a/yb-voyager/cmd/analyzeSchema.go +++ b/yb-voyager/cmd/analyzeSchema.go @@ -195,21 +195,22 @@ var ( ) const ( - // Issues detected using regexp, reported in assessment and analyze both - CONVERSION_ISSUE_REASON = "CREATE CONVERSION is not supported yet" - UNSUPPORTED_EXTENSION_ISSUE = "This extension is not supported in YugabyteDB by default." - VIEW_CHECK_OPTION_ISSUE = "Schema containing VIEW WITH CHECK OPTION is not supported yet." + // Type and Reason for Issues detected using regexp, reported in assessment and analyze both + CREATE_CONVERSION_ISSUE_TYPE = "CREATE_CONVERSION" + UNSUPPORTED_EXTENSION_ISSUE_TYPE = "UNSUPPORTED_EXTENSION" + VIEW_WITH_CHECK_OPTION_ISSUE_TYPE = "VIEW_WITH_CHECK_OPTION" + COMPOUND_TRIGGER_ISSUE_TYPE = "COMPOUND_TRIGGER" + UNSUPPORTED_PG_SYNTAX_ISSUE_TYPE = "UNSUPPORTED_PG_SYNTAX" + + CREATE_CONVERSION_ISSUE_REASON = "CREATE CONVERSION is not supported yet" + UNSUPPORTED_EXTENSION_ISSUE_REASON = "This extension is not supported in YugabyteDB by default." + VIEW_CHECK_OPTION_ISSUE_REASON = "Schema containing VIEW WITH CHECK OPTION is not supported yet." + COMPOUND_TRIGGER_ISSUE_REASON = "COMPOUND TRIGGER not supported in YugabyteDB." + UNSUPPORTED_PG_SYNTAX_ISSUE_REASON = "SQL statement(s) might be unsupported please review and edit to match PostgreSQL syntax if required" // Refactor: constants below used in some comparisions (use Issue Type there and remove these) - INHERITANCE_ISSUE_REASON = "TABLE INHERITANCE not supported in YugabyteDB" - ADDING_PK_TO_PARTITIONED_TABLE_ISSUE_REASON = "Adding primary key to a partitioned table is not supported yet." - COMPOUND_TRIGGER_ISSUE_REASON = "COMPOUND TRIGGER not supported in YugabyteDB." - STORED_GENERATED_COLUMN_ISSUE_REASON = "Stored generated columns are not supported." - FOREIGN_TABLE_ISSUE_REASON = "Foreign tables require manual intervention." - DEFERRABLE_CONSTRAINT_ISSUE = "DEFERRABLE constraints not supported yet" - POLICY_ROLE_ISSUE = "Policy require roles to be created." - ISSUE_INDEX_WITH_COMPLEX_DATATYPES = `INDEX on column '%s' not yet supported` - INDEX_METHOD_ISSUE_REASON = "Schema contains %s index which is not supported." + STORED_GENERATED_COLUMN_ISSUE_REASON = "Stored generated columns are not supported." + POLICY_ROLE_ISSUE = "Policy require roles to be created." UNSUPPORTED_DATATYPE = "Unsupported datatype" UNSUPPORTED_DATATYPE_LIVE_MIGRATION = "Unsupported datatype for Live migration" @@ -221,9 +222,10 @@ const ( ) // Reports one case in JSON -func reportCase(filePath string, reason string, ghIssue string, suggestion string, objType string, objName string, sqlStmt string, category string, docsLink string, impact string) { +func reportCase(filePath string, issueType string, reason string, ghIssue string, suggestion string, objType string, objName string, sqlStmt string, category string, docsLink string, impact string) { issue := utils.AnalyzeSchemaIssue{ - IssueType: category, // TODO: to be replaced with Category as a field + IssueType: category, // TODO: to be replaced with Category as a field + Type: lo.Ternary(issueType != "", issueType, reason), // for regexp cases where issueType is not defined, default to reason as type Reason: reason, Impact: lo.Ternary(impact != "", impact, constants.IMPACT_LEVEL_1), ObjectType: objType, @@ -240,13 +242,13 @@ func reportCase(filePath string, reason string, ghIssue string, suggestion strin func reportBasedOnComment(comment int, fpath string, issue string, suggestion string, objName string, objType string, line string) { if comment == 1 { - reportCase(fpath, "Unsupported, please edit to match PostgreSQL syntax", "https://github.com/yugabyte/yb-voyager/issues/1625", suggestion, objType, objName, line, UNSUPPORTED_FEATURES_CATEGORY, "", "") + reportCase(fpath, UNSUPPORTED_PG_SYNTAX_ISSUE_TYPE, UNSUPPORTED_PG_SYNTAX_ISSUE_REASON, "https://github.com/yugabyte/yb-voyager/issues/1625", suggestion, objType, objName, line, UNSUPPORTED_FEATURES_CATEGORY, "", "") summaryMap[objType].invalidCount[objName] = true } else if comment == 2 { // reportCase(fpath, "PACKAGE in oracle are exported as Schema, please review and edit to match PostgreSQL syntax if required, Package is "+objName, issue, suggestion, objType, "") summaryMap["PACKAGE"].objSet = append(summaryMap["PACKAGE"].objSet, objName) } else if comment == 3 { - reportCase(fpath, "SQLs in file might be unsupported please review and edit to match PostgreSQL syntax if required. ", "https://github.com/yugabyte/yb-voyager/issues/1625", suggestion, objType, objName, line, UNSUPPORTED_FEATURES_CATEGORY, "", "") + reportCase(fpath, UNSUPPORTED_PG_SYNTAX_ISSUE_TYPE, UNSUPPORTED_PG_SYNTAX_ISSUE_REASON, "https://github.com/yugabyte/yb-voyager/issues/1625", suggestion, objType, objName, line, UNSUPPORTED_FEATURES_CATEGORY, "", "") } else if comment == 4 { summaryMap[objType].details["Inherited Types are present which are not supported in PostgreSQL syntax, so exported as Inherited Tables"] = true } @@ -320,8 +322,8 @@ func checkStmtsUsingParser(sqlInfoArr []sqlInfo, fpath string, objType string) { _, err := queryparser.Parse(sqlStmtInfo.stmt) if err != nil { //if the Stmt is not already report by any of the regexes if !summaryMap[objType].invalidCount[sqlStmtInfo.objName] { - reason := fmt.Sprintf("%s - '%s'", UNSUPPORTED_PG_SYNTAX, err.Error()) - reportCase(fpath, reason, "https://github.com/yugabyte/yb-voyager/issues/1625", + reason := fmt.Sprintf("%s - '%s'", UNSUPPORTED_PG_SYNTAX_ISSUE_REASON, err.Error()) + reportCase(fpath, UNSUPPORTED_PG_SYNTAX_ISSUE_TYPE, reason, "https://github.com/yugabyte/yb-voyager/issues/1625", "Fix the schema as per PG syntax", objType, sqlStmtInfo.objName, sqlStmtInfo.formattedStmt, UNSUPPORTED_FEATURES_CATEGORY, "", "") } continue @@ -348,7 +350,7 @@ func checkViews(sqlInfoArr []sqlInfo, fpath string) { for _, sqlInfo := range sqlInfoArr { if view := viewWithCheckRegex.FindStringSubmatch(sqlInfo.stmt); view != nil { summaryMap["VIEW"].invalidCount[sqlInfo.objName] = true - reportCase(fpath, VIEW_CHECK_OPTION_ISSUE, "https://github.com/yugabyte/yugabyte-db/issues/22716", + reportCase(fpath, VIEW_WITH_CHECK_OPTION_ISSUE_TYPE, VIEW_CHECK_OPTION_ISSUE_REASON, "https://github.com/yugabyte/yugabyte-db/issues/22716", "Use Trigger with INSTEAD OF clause on INSERT/UPDATE on view to get this functionality", "VIEW", view[1], sqlInfo.formattedStmt, UNSUPPORTED_FEATURES_CATEGORY, VIEW_CHECK_OPTION_DOC_LINK, "") } } @@ -371,7 +373,7 @@ func separateMultiObj(objType string, line string) string { func checkSql(sqlInfoArr []sqlInfo, fpath string) { for _, sqlInfo := range sqlInfoArr { if rangeRegex.MatchString(sqlInfo.stmt) { - reportCase(fpath, + reportCase(fpath, "", "RANGE with offset PRECEDING/FOLLOWING is not supported for column type numeric and offset type double precision", "https://github.com/yugabyte/yugabyte-db/issues/10692", "", "TABLE", "", sqlInfo.formattedStmt, UNSUPPORTED_FEATURES_CATEGORY, "", "") summaryMap["TABLE"].invalidCount[sqlInfo.objName] = true @@ -379,41 +381,41 @@ func checkSql(sqlInfoArr []sqlInfo, fpath string) { location := strings.ToUpper(stmt[1]) if slices.Contains(notSupportedFetchLocation, location) { summaryMap["PROCEDURE"].invalidCount[sqlInfo.objName] = true - reportCase(fpath, "This FETCH clause might not be supported yet", "https://github.com/YugaByte/yugabyte-db/issues/6514", + reportCase(fpath, "", "This FETCH clause might not be supported yet", "https://github.com/YugaByte/yugabyte-db/issues/6514", "Please verify the DDL on your YugabyteDB version before proceeding", "CURSOR", sqlInfo.objName, sqlInfo.formattedStmt, UNSUPPORTED_FEATURES_CATEGORY, "", "") } } else if stmt := alterAggRegex.FindStringSubmatch(sqlInfo.stmt); stmt != nil { summaryMap["AGGREGATE"].invalidCount[sqlInfo.objName] = true - reportCase(fpath, "ALTER AGGREGATE not supported yet.", + reportCase(fpath, "", "ALTER AGGREGATE not supported yet.", "https://github.com/YugaByte/yugabyte-db/issues/2717", "", "AGGREGATE", stmt[1], sqlInfo.formattedStmt, UNSUPPORTED_FEATURES_CATEGORY, "", "") } else if dropCollRegex.MatchString(sqlInfo.stmt) { summaryMap["COLLATION"].invalidCount[sqlInfo.objName] = true - reportCase(fpath, "DROP multiple objects not supported yet.", + reportCase(fpath, "", "DROP multiple objects not supported yet.", "https://github.com/YugaByte/yugabyte-db/issues/880", separateMultiObj("DROP COLLATION", sqlInfo.formattedStmt), "COLLATION", "", sqlInfo.formattedStmt, UNSUPPORTED_FEATURES_CATEGORY, "", "") } else if dropIdxRegex.MatchString(sqlInfo.stmt) { summaryMap["INDEX"].invalidCount[sqlInfo.objName] = true - reportCase(fpath, "DROP multiple objects not supported yet.", + reportCase(fpath, "", "DROP multiple objects not supported yet.", "https://github.com/YugaByte/yugabyte-db/issues/880", separateMultiObj("DROP INDEX", sqlInfo.formattedStmt), "INDEX", "", sqlInfo.formattedStmt, UNSUPPORTED_FEATURES_CATEGORY, "", "") } else if dropViewRegex.MatchString(sqlInfo.stmt) { summaryMap["VIEW"].invalidCount[sqlInfo.objName] = true - reportCase(fpath, "DROP multiple objects not supported yet.", + reportCase(fpath, "", "DROP multiple objects not supported yet.", "https://github.com/YugaByte/yugabyte-db/issues/880", separateMultiObj("DROP VIEW", sqlInfo.formattedStmt), "VIEW", "", sqlInfo.formattedStmt, UNSUPPORTED_FEATURES_CATEGORY, "", "") } else if dropSeqRegex.MatchString(sqlInfo.stmt) { summaryMap["SEQUENCE"].invalidCount[sqlInfo.objName] = true - reportCase(fpath, "DROP multiple objects not supported yet.", + reportCase(fpath, "", "DROP multiple objects not supported yet.", "https://github.com/YugaByte/yugabyte-db/issues/880", separateMultiObj("DROP SEQUENCE", sqlInfo.formattedStmt), "SEQUENCE", "", sqlInfo.formattedStmt, UNSUPPORTED_FEATURES_CATEGORY, "", "") } else if dropForeignRegex.MatchString(sqlInfo.stmt) { summaryMap["FOREIGN TABLE"].invalidCount[sqlInfo.objName] = true - reportCase(fpath, "DROP multiple objects not supported yet.", + reportCase(fpath, "", "DROP multiple objects not supported yet.", "https://github.com/YugaByte/yugabyte-db/issues/880", separateMultiObj("DROP FOREIGN TABLE", sqlInfo.formattedStmt), "FOREIGN TABLE", "", sqlInfo.formattedStmt, UNSUPPORTED_FEATURES_CATEGORY, "", "") } else if idx := dropIdxConcurRegex.FindStringSubmatch(sqlInfo.stmt); idx != nil { summaryMap["INDEX"].invalidCount[sqlInfo.objName] = true - reportCase(fpath, "DROP INDEX CONCURRENTLY not supported yet", + reportCase(fpath, "", "DROP INDEX CONCURRENTLY not supported yet", "https://github.com/yugabyte/yugabyte-db/issues/22717", "", "INDEX", idx[2], sqlInfo.formattedStmt, UNSUPPORTED_FEATURES_CATEGORY, "", "") } else if currentOfRegex.MatchString(sqlInfo.stmt) { - reportCase(fpath, "WHERE CURRENT OF not supported yet", "https://github.com/YugaByte/yugabyte-db/issues/737", "", "CURSOR", "", sqlInfo.formattedStmt, UNSUPPORTED_FEATURES_CATEGORY, "", "") + reportCase(fpath, "", "WHERE CURRENT OF not supported yet", "https://github.com/YugaByte/yugabyte-db/issues/737", "", "CURSOR", "", sqlInfo.formattedStmt, UNSUPPORTED_FEATURES_CATEGORY, "", "") } else if bulkCollectRegex.MatchString(sqlInfo.stmt) { - reportCase(fpath, "BULK COLLECT keyword of oracle is not converted into PostgreSQL compatible syntax", "https://github.com/yugabyte/yb-voyager/issues/1539", "", "", "", sqlInfo.formattedStmt, UNSUPPORTED_FEATURES_CATEGORY, "", "") + reportCase(fpath, "", "BULK COLLECT keyword of oracle is not converted into PostgreSQL compatible syntax", "https://github.com/yugabyte/yb-voyager/issues/1539", "", "", "", sqlInfo.formattedStmt, UNSUPPORTED_FEATURES_CATEGORY, "", "") } } } @@ -424,106 +426,106 @@ func checkDDL(sqlInfoArr []sqlInfo, fpath string, objType string) { for _, sqlInfo := range sqlInfoArr { if am := amRegex.FindStringSubmatch(sqlInfo.stmt); am != nil { summaryMap["TABLE"].invalidCount[sqlInfo.objName] = true - reportCase(fpath, "CREATE ACCESS METHOD is not supported.", + reportCase(fpath, "", "CREATE ACCESS METHOD is not supported.", "https://github.com/yugabyte/yugabyte-db/issues/10693", "", "ACCESS METHOD", am[1], sqlInfo.formattedStmt, UNSUPPORTED_FEATURES_CATEGORY, "", "") } else if tbl := idxConcRegex.FindStringSubmatch(sqlInfo.stmt); tbl != nil { summaryMap["TABLE"].invalidCount[sqlInfo.objName] = true - reportCase(fpath, "REINDEX is not supported.", + reportCase(fpath, "", "REINDEX is not supported.", "https://github.com/yugabyte/yugabyte-db/issues/10267", "", "TABLE", tbl[1], sqlInfo.formattedStmt, UNSUPPORTED_FEATURES_CATEGORY, "", "") } else if tbl := likeAllRegex.FindStringSubmatch(sqlInfo.stmt); tbl != nil { summaryMap["TABLE"].invalidCount[sqlInfo.objName] = true - reportCase(fpath, "LIKE ALL is not supported yet.", + reportCase(fpath, "", "LIKE ALL is not supported yet.", "https://github.com/yugabyte/yugabyte-db/issues/10697", "", "TABLE", tbl[2], sqlInfo.formattedStmt, UNSUPPORTED_FEATURES_CATEGORY, "", "") } else if tbl := likeRegex.FindStringSubmatch(sqlInfo.stmt); tbl != nil { summaryMap["TABLE"].invalidCount[sqlInfo.objName] = true - reportCase(fpath, "LIKE clause not supported yet.", + reportCase(fpath, "", "LIKE clause not supported yet.", "https://github.com/YugaByte/yugabyte-db/issues/1129", "", "TABLE", tbl[2], sqlInfo.formattedStmt, UNSUPPORTED_FEATURES_CATEGORY, "", "") } else if tbl := withOidsRegex.FindStringSubmatch(sqlInfo.stmt); tbl != nil { summaryMap["TABLE"].invalidCount[sqlInfo.objName] = true - reportCase(fpath, "OIDs are not supported for user tables.", + reportCase(fpath, "", "OIDs are not supported for user tables.", "https://github.com/yugabyte/yugabyte-db/issues/10273", "", "TABLE", tbl[2], sqlInfo.formattedStmt, UNSUPPORTED_FEATURES_CATEGORY, "", "") } else if tbl := alterOfRegex.FindStringSubmatch(sqlInfo.stmt); tbl != nil { summaryMap["TABLE"].invalidCount[sqlInfo.objName] = true - reportCase(fpath, "ALTER TABLE OF not supported yet.", + reportCase(fpath, "", "ALTER TABLE OF not supported yet.", "https://github.com/YugaByte/yugabyte-db/issues/1124", "", "TABLE", tbl[3], sqlInfo.formattedStmt, UNSUPPORTED_FEATURES_CATEGORY, "", "") } else if tbl := alterSchemaRegex.FindStringSubmatch(sqlInfo.stmt); tbl != nil { summaryMap["TABLE"].invalidCount[sqlInfo.objName] = true - reportCase(fpath, "ALTER TABLE SET SCHEMA not supported yet.", + reportCase(fpath, "", "ALTER TABLE SET SCHEMA not supported yet.", "https://github.com/YugaByte/yugabyte-db/issues/3947", "", "TABLE", tbl[3], sqlInfo.formattedStmt, UNSUPPORTED_FEATURES_CATEGORY, "", "") } else if createSchemaRegex.MatchString(sqlInfo.stmt) { summaryMap["SCHEMA"].invalidCount[sqlInfo.objName] = true - reportCase(fpath, "CREATE SCHEMA with elements not supported yet.", + reportCase(fpath, "", "CREATE SCHEMA with elements not supported yet.", "https://github.com/YugaByte/yugabyte-db/issues/10865", "", "SCHEMA", "", sqlInfo.formattedStmt, UNSUPPORTED_FEATURES_CATEGORY, "", "") } else if tbl := alterNotOfRegex.FindStringSubmatch(sqlInfo.stmt); tbl != nil { summaryMap["TABLE"].invalidCount[sqlInfo.objName] = true - reportCase(fpath, "ALTER TABLE NOT OF not supported yet.", + reportCase(fpath, "", "ALTER TABLE NOT OF not supported yet.", "https://github.com/YugaByte/yugabyte-db/issues/1124", "", "TABLE", tbl[3], sqlInfo.formattedStmt, UNSUPPORTED_FEATURES_CATEGORY, "", "") } else if tbl := alterColumnStatsRegex.FindStringSubmatch(sqlInfo.stmt); tbl != nil { summaryMap["TABLE"].invalidCount[sqlInfo.objName] = true - reportCase(fpath, "ALTER TABLE ALTER column SET STATISTICS not supported yet.", + reportCase(fpath, "", "ALTER TABLE ALTER column SET STATISTICS not supported yet.", "https://github.com/YugaByte/yugabyte-db/issues/1124", "", "TABLE", tbl[3], sqlInfo.formattedStmt, UNSUPPORTED_FEATURES_CATEGORY, "", "") } else if tbl := alterColumnStorageRegex.FindStringSubmatch(sqlInfo.stmt); tbl != nil { summaryMap["TABLE"].invalidCount[sqlInfo.objName] = true - reportCase(fpath, "ALTER TABLE ALTER column SET STORAGE not supported yet.", + reportCase(fpath, "", "ALTER TABLE ALTER column SET STORAGE not supported yet.", "https://github.com/YugaByte/yugabyte-db/issues/1124", "", "TABLE", tbl[3], sqlInfo.formattedStmt, UNSUPPORTED_FEATURES_CATEGORY, "", "") } else if tbl := alterColumnResetAttributesRegex.FindStringSubmatch(sqlInfo.stmt); tbl != nil { summaryMap["TABLE"].invalidCount[sqlInfo.objName] = true - reportCase(fpath, "ALTER TABLE ALTER column RESET (attribute) not supported yet.", + reportCase(fpath, "", "ALTER TABLE ALTER column RESET (attribute) not supported yet.", "https://github.com/YugaByte/yugabyte-db/issues/1124", "", "TABLE", tbl[3], sqlInfo.formattedStmt, UNSUPPORTED_FEATURES_CATEGORY, "", "") } else if tbl := alterConstrRegex.FindStringSubmatch(sqlInfo.stmt); tbl != nil { summaryMap["TABLE"].invalidCount[sqlInfo.objName] = true - reportCase(fpath, "ALTER TABLE ALTER CONSTRAINT not supported yet.", + reportCase(fpath, "", "ALTER TABLE ALTER CONSTRAINT not supported yet.", "https://github.com/YugaByte/yugabyte-db/issues/1124", "", "TABLE", tbl[3], sqlInfo.formattedStmt, UNSUPPORTED_FEATURES_CATEGORY, "", "") } else if tbl := setOidsRegex.FindStringSubmatch(sqlInfo.stmt); tbl != nil { summaryMap["TABLE"].invalidCount[sqlInfo.objName] = true - reportCase(fpath, "ALTER TABLE SET WITH OIDS not supported yet.", + reportCase(fpath, "", "ALTER TABLE SET WITH OIDS not supported yet.", "https://github.com/YugaByte/yugabyte-db/issues/1124", "", "TABLE", tbl[4], sqlInfo.formattedStmt, UNSUPPORTED_FEATURES_CATEGORY, "", "") } else if tbl := withoutClusterRegex.FindStringSubmatch(sqlInfo.stmt); tbl != nil { summaryMap["TABLE"].invalidCount[sqlInfo.objName] = true - reportCase(fpath, "ALTER TABLE SET WITHOUT CLUSTER not supported yet.", + reportCase(fpath, "", "ALTER TABLE SET WITHOUT CLUSTER not supported yet.", "https://github.com/YugaByte/yugabyte-db/issues/1124", "", "TABLE", tbl[2], sqlInfo.formattedStmt, UNSUPPORTED_FEATURES_CATEGORY, "", "") } else if tbl := alterSetRegex.FindStringSubmatch(sqlInfo.stmt); tbl != nil { summaryMap["TABLE"].invalidCount[sqlInfo.objName] = true - reportCase(fpath, "ALTER TABLE SET not supported yet.", + reportCase(fpath, "", "ALTER TABLE SET not supported yet.", "https://github.com/YugaByte/yugabyte-db/issues/1124", "", "TABLE", tbl[2], sqlInfo.formattedStmt, UNSUPPORTED_FEATURES_CATEGORY, "", "") } else if tbl := alterIdxRegex.FindStringSubmatch(sqlInfo.stmt); tbl != nil { summaryMap["TABLE"].invalidCount[sqlInfo.objName] = true - reportCase(fpath, "ALTER INDEX SET not supported yet.", + reportCase(fpath, "", "ALTER INDEX SET not supported yet.", "https://github.com/YugaByte/yugabyte-db/issues/1124", "", "INDEX", tbl[1], sqlInfo.formattedStmt, UNSUPPORTED_FEATURES_CATEGORY, "", "") } else if tbl := alterResetRegex.FindStringSubmatch(sqlInfo.stmt); tbl != nil { summaryMap["TABLE"].invalidCount[sqlInfo.objName] = true - reportCase(fpath, "ALTER TABLE RESET not supported yet.", + reportCase(fpath, "", "ALTER TABLE RESET not supported yet.", "https://github.com/YugaByte/yugabyte-db/issues/1124", "", "TABLE", tbl[2], sqlInfo.formattedStmt, UNSUPPORTED_FEATURES_CATEGORY, "", "") } else if tbl := alterOptionsRegex.FindStringSubmatch(sqlInfo.stmt); tbl != nil { summaryMap["TABLE"].invalidCount[sqlInfo.objName] = true - reportCase(fpath, "ALTER TABLE not supported yet.", + reportCase(fpath, "", "ALTER TABLE not supported yet.", "https://github.com/YugaByte/yugabyte-db/issues/1124", "", "TABLE", tbl[3], sqlInfo.formattedStmt, UNSUPPORTED_FEATURES_CATEGORY, "", "") } else if typ := dropAttrRegex.FindStringSubmatch(sqlInfo.stmt); typ != nil { summaryMap["TYPE"].invalidCount[sqlInfo.objName] = true - reportCase(fpath, "ALTER TYPE DROP ATTRIBUTE not supported yet.", + reportCase(fpath, "", "ALTER TYPE DROP ATTRIBUTE not supported yet.", "https://github.com/YugaByte/yugabyte-db/issues/1893", "", "TYPE", typ[1], sqlInfo.formattedStmt, UNSUPPORTED_FEATURES_CATEGORY, "", "") } else if typ := alterTypeRegex.FindStringSubmatch(sqlInfo.stmt); typ != nil { summaryMap["TYPE"].invalidCount[sqlInfo.objName] = true - reportCase(fpath, "ALTER TYPE not supported yet.", + reportCase(fpath, "", "ALTER TYPE not supported yet.", "https://github.com/YugaByte/yugabyte-db/issues/1893", "", "TYPE", typ[1], sqlInfo.formattedStmt, UNSUPPORTED_FEATURES_CATEGORY, "", "") } else if tbl := alterInhRegex.FindStringSubmatch(sqlInfo.stmt); tbl != nil { summaryMap["TABLE"].invalidCount[sqlInfo.objName] = true - reportCase(fpath, "ALTER TABLE INHERIT not supported yet.", + reportCase(fpath, "", "ALTER TABLE INHERIT not supported yet.", "https://github.com/YugaByte/yugabyte-db/issues/1124", "", "TABLE", tbl[3], sqlInfo.formattedStmt, UNSUPPORTED_FEATURES_CATEGORY, "", "") } else if tbl := valConstrRegex.FindStringSubmatch(sqlInfo.stmt); tbl != nil { summaryMap["TABLE"].invalidCount[sqlInfo.objName] = true - reportCase(fpath, "ALTER TABLE VALIDATE CONSTRAINT not supported yet.", + reportCase(fpath, "", "ALTER TABLE VALIDATE CONSTRAINT not supported yet.", "https://github.com/YugaByte/yugabyte-db/issues/1124", "", "TABLE", tbl[3], sqlInfo.formattedStmt, UNSUPPORTED_FEATURES_CATEGORY, "", "") } else if spc := alterTblSpcRegex.FindStringSubmatch(sqlInfo.stmt); spc != nil { summaryMap["TABLESPACE"].invalidCount[sqlInfo.objName] = true - reportCase(fpath, "ALTER TABLESPACE not supported yet.", + reportCase(fpath, "", "ALTER TABLESPACE not supported yet.", "https://github.com/YugaByte/yugabyte-db/issues/1153", "", "TABLESPACE", spc[1], sqlInfo.formattedStmt, UNSUPPORTED_FEATURES_CATEGORY, "", "") } else if spc := alterViewRegex.FindStringSubmatch(sqlInfo.stmt); spc != nil { summaryMap["VIEW"].invalidCount[sqlInfo.objName] = true - reportCase(fpath, "ALTER VIEW not supported yet.", + reportCase(fpath, "", "ALTER VIEW not supported yet.", "https://github.com/YugaByte/yugabyte-db/issues/1131", "", "VIEW", spc[1], sqlInfo.formattedStmt, UNSUPPORTED_FEATURES_CATEGORY, "", "") } else if tbl := cLangRegex.FindStringSubmatch(sqlInfo.stmt); tbl != nil { - reportCase(fpath, "LANGUAGE C not supported yet.", + reportCase(fpath, "", "LANGUAGE C not supported yet.", "https://github.com/yugabyte/yb-voyager/issues/1540", "", "FUNCTION", tbl[2], sqlInfo.formattedStmt, UNSUPPORTED_FEATURES_CATEGORY, "", "") summaryMap["FUNCTION"].invalidCount[sqlInfo.objName] = true } else if strings.Contains(strings.ToLower(sqlInfo.stmt), "drop temporary table") { @@ -531,23 +533,23 @@ func checkDDL(sqlInfoArr []sqlInfo, fpath string, objType string) { fileName := filePath[len(filePath)-1] objType := strings.ToUpper(strings.Split(fileName, ".")[0]) summaryMap[objType].invalidCount[sqlInfo.objName] = true - reportCase(fpath, `temporary table is not a supported clause for drop`, + reportCase(fpath, "", `temporary table is not a supported clause for drop`, "https://github.com/yugabyte/yb-voyager/issues/705", `remove "temporary" and change it to "drop table"`, objType, sqlInfo.objName, sqlInfo.formattedStmt, UNSUPPORTED_FEATURES_CATEGORY, DROP_TEMP_TABLE_DOC_LINK, "") } else if regMatch := anydataRegex.FindStringSubmatch(sqlInfo.stmt); regMatch != nil { summaryMap["TABLE"].invalidCount[sqlInfo.objName] = true - reportCase(fpath, "AnyData datatype doesn't have a mapping in YugabyteDB", "https://github.com/yugabyte/yb-voyager/issues/1541", `Remove the column with AnyData datatype or change it to a relevant supported datatype`, "TABLE", regMatch[2], sqlInfo.formattedStmt, UNSUPPORTED_FEATURES_CATEGORY, "", "") + reportCase(fpath, "", "AnyData datatype doesn't have a mapping in YugabyteDB", "https://github.com/yugabyte/yb-voyager/issues/1541", `Remove the column with AnyData datatype or change it to a relevant supported datatype`, "TABLE", regMatch[2], sqlInfo.formattedStmt, UNSUPPORTED_FEATURES_CATEGORY, "", "") } else if regMatch := anydatasetRegex.FindStringSubmatch(sqlInfo.stmt); regMatch != nil { summaryMap["TABLE"].invalidCount[sqlInfo.objName] = true - reportCase(fpath, "AnyDataSet datatype doesn't have a mapping in YugabyteDB", "https://github.com/yugabyte/yb-voyager/issues/1541", `Remove the column with AnyDataSet datatype or change it to a relevant supported datatype`, "TABLE", regMatch[2], sqlInfo.formattedStmt, UNSUPPORTED_FEATURES_CATEGORY, "", "") + reportCase(fpath, "", "AnyDataSet datatype doesn't have a mapping in YugabyteDB", "https://github.com/yugabyte/yb-voyager/issues/1541", `Remove the column with AnyDataSet datatype or change it to a relevant supported datatype`, "TABLE", regMatch[2], sqlInfo.formattedStmt, UNSUPPORTED_FEATURES_CATEGORY, "", "") } else if regMatch := anyTypeRegex.FindStringSubmatch(sqlInfo.stmt); regMatch != nil { summaryMap["TABLE"].invalidCount[sqlInfo.objName] = true - reportCase(fpath, "AnyType datatype doesn't have a mapping in YugabyteDB", "https://github.com/yugabyte/yb-voyager/issues/1541", `Remove the column with AnyType datatype or change it to a relevant supported datatype`, "TABLE", regMatch[2], sqlInfo.formattedStmt, UNSUPPORTED_FEATURES_CATEGORY, "", "") + reportCase(fpath, "", "AnyType datatype doesn't have a mapping in YugabyteDB", "https://github.com/yugabyte/yb-voyager/issues/1541", `Remove the column with AnyType datatype or change it to a relevant supported datatype`, "TABLE", regMatch[2], sqlInfo.formattedStmt, UNSUPPORTED_FEATURES_CATEGORY, "", "") } else if regMatch := uriTypeRegex.FindStringSubmatch(sqlInfo.stmt); regMatch != nil { summaryMap["TABLE"].invalidCount[sqlInfo.objName] = true - reportCase(fpath, "URIType datatype doesn't have a mapping in YugabyteDB", "https://github.com/yugabyte/yb-voyager/issues/1541", `Remove the column with URIType datatype or change it to a relevant supported datatype`, "TABLE", regMatch[2], sqlInfo.formattedStmt, UNSUPPORTED_FEATURES_CATEGORY, "", "") + reportCase(fpath, "", "URIType datatype doesn't have a mapping in YugabyteDB", "https://github.com/yugabyte/yb-voyager/issues/1541", `Remove the column with URIType datatype or change it to a relevant supported datatype`, "TABLE", regMatch[2], sqlInfo.formattedStmt, UNSUPPORTED_FEATURES_CATEGORY, "", "") } else if regMatch := jsonFuncRegex.FindStringSubmatch(sqlInfo.stmt); regMatch != nil { summaryMap[objType].invalidCount[sqlInfo.objName] = true - reportCase(fpath, "JSON_ARRAYAGG() function is not available in YugabyteDB", "https://github.com/yugabyte/yb-voyager/issues/1542", `Rename the function to YugabyteDB's equivalent JSON_AGG()`, objType, regMatch[3], sqlInfo.formattedStmt, UNSUPPORTED_FEATURES_CATEGORY, "", "") + reportCase(fpath, "", "JSON_ARRAYAGG() function is not available in YugabyteDB", "https://github.com/yugabyte/yb-voyager/issues/1542", `Rename the function to YugabyteDB's equivalent JSON_AGG()`, objType, regMatch[3], sqlInfo.formattedStmt, UNSUPPORTED_FEATURES_CATEGORY, "", "") } } @@ -559,11 +561,11 @@ func checkForeign(sqlInfoArr []sqlInfo, fpath string) { //TODO: refactor it later to remove all the unneccessary regexes if tbl := primRegex.FindStringSubmatch(sqlInfo.stmt); tbl != nil { summaryMap["TABLE"].invalidCount[sqlInfo.objName] = true - reportCase(fpath, "Primary key constraints are not supported on foreign tables.", + reportCase(fpath, "", "Primary key constraints are not supported on foreign tables.", "https://github.com/yugabyte/yugabyte-db/issues/10698", "", "TABLE", tbl[1], sqlInfo.formattedStmt, UNSUPPORTED_FEATURES_CATEGORY, "", "") } else if tbl := foreignKeyRegex.FindStringSubmatch(sqlInfo.stmt); tbl != nil { summaryMap["TABLE"].invalidCount[sqlInfo.objName] = true - reportCase(fpath, "Foreign key constraints are not supported on foreign tables.", + reportCase(fpath, "", "Foreign key constraints are not supported on foreign tables.", "https://github.com/yugabyte/yugabyte-db/issues/10699", "", "TABLE", tbl[1], sqlInfo.formattedStmt, UNSUPPORTED_FEATURES_CATEGORY, "", "") } } @@ -573,7 +575,7 @@ func checkForeign(sqlInfoArr []sqlInfo, fpath string) { func checkRemaining(sqlInfoArr []sqlInfo, fpath string) { for _, sqlInfo := range sqlInfoArr { if trig := compoundTrigRegex.FindStringSubmatch(sqlInfo.stmt); trig != nil { - reportCase(fpath, COMPOUND_TRIGGER_ISSUE_REASON, + reportCase(fpath, COMPOUND_TRIGGER_ISSUE_TYPE, COMPOUND_TRIGGER_ISSUE_REASON, "https://github.com/yugabyte/yb-voyager/issues/1543", "", "TRIGGER", trig[2], sqlInfo.formattedStmt, UNSUPPORTED_FEATURES_CATEGORY, "", "") summaryMap["TRIGGER"].invalidCount[sqlInfo.objName] = true } @@ -613,11 +615,11 @@ func checkPlPgSQLStmtsUsingParser(sqlInfoArr []sqlInfo, fpath string, objType st } var MigrationCaveatsIssues = []string{ - ADDING_PK_TO_PARTITIONED_TABLE_ISSUE_REASON, - FOREIGN_TABLE_ISSUE_REASON, - POLICY_ROLE_ISSUE, - UNSUPPORTED_DATATYPE_LIVE_MIGRATION, - UNSUPPORTED_DATATYPE_LIVE_MIGRATION_WITH_FF_FB, + queryissue.ALTER_TABLE_ADD_PK_ON_PARTITIONED_TABLE, + queryissue.FOREIGN_TABLE, + queryissue.POLICY_WITH_ROLES, + queryissue.UNSUPPORTED_DATATYPE_LIVE_MIGRATION, + queryissue.UNSUPPORTED_DATATYPE_LIVE_MIGRATION_WITH_FF_FB, } func convertIssueInstanceToAnalyzeIssue(issueInstance queryissue.QueryIssue, fileName string, isPlPgSQLIssue bool) utils.AnalyzeSchemaIssue { @@ -626,8 +628,8 @@ func convertIssueInstanceToAnalyzeIssue(issueInstance queryissue.QueryIssue, fil case isPlPgSQLIssue: issueType = UNSUPPORTED_PLPGSQL_OBJECTS_CATEGORY case slices.ContainsFunc(MigrationCaveatsIssues, func(i string) bool { - //Adding the MIGRATION_CAVEATS issueType of the utils.Issue for these issueInstances in MigrationCaveatsIssues - return strings.Contains(issueInstance.Name, i) + //Adding the MIGRATION_CAVEATS issueType(category) of the utils.Issue for these issueInstances in MigrationCaveatsIssues + return strings.Contains(issueInstance.Type, i) }): issueType = MIGRATION_CAVEATS_CATEGORY case strings.HasPrefix(issueInstance.Name, UNSUPPORTED_DATATYPE): @@ -668,13 +670,13 @@ func convertIssueInstanceToAnalyzeIssue(issueInstance queryissue.QueryIssue, fil } summaryMap[issueInstance.ObjectType].invalidCount[issueInstance.ObjectName] = true - return utils.AnalyzeSchemaIssue{ IssueType: issueType, ObjectType: issueInstance.ObjectType, ObjectName: displayObjectName, Type: issueInstance.Type, - Reason: issueInstance.Name, + Name: issueInstance.Name, + Reason: issueInstance.Description, Impact: issueInstance.Impact, SqlStatement: issueInstance.SqlStatement, DocsLink: issueInstance.DocsLink, @@ -689,7 +691,7 @@ func checkExtensions(sqlInfoArr []sqlInfo, fpath string) { for _, sqlInfo := range sqlInfoArr { if sqlInfo.objName != "" && !slices.Contains(supportedExtensionsOnYB, sqlInfo.objName) { summaryMap["EXTENSION"].invalidCount[sqlInfo.objName] = true - reportCase(fpath, UNSUPPORTED_EXTENSION_ISSUE+" Refer to the docs link for the more information on supported extensions.", "https://github.com/yugabyte/yb-voyager/issues/1538", "", "EXTENSION", + reportCase(fpath, UNSUPPORTED_EXTENSION_ISSUE_TYPE, UNSUPPORTED_EXTENSION_ISSUE_REASON+" Refer to the docs link for the more information on supported extensions.", "https://github.com/yugabyte/yb-voyager/issues/1538", "", "EXTENSION", sqlInfo.objName, sqlInfo.formattedStmt, UNSUPPORTED_FEATURES_CATEGORY, EXTENSION_DOC_LINK, constants.IMPACT_LEVEL_3) } if strings.ToLower(sqlInfo.objName) == "hll" { @@ -1108,12 +1110,12 @@ func checkConversions(sqlInfoArr []sqlInfo, filePath string) { if len(nameList) > 1 { convName = fmt.Sprintf("%s.%s", convName, nameList[1].GetString_().Sval) } - reportCase(filePath, CONVERSION_ISSUE_REASON, "https://github.com/yugabyte/yugabyte-db/issues/10866", + reportCase(filePath, CREATE_CONVERSION_ISSUE_TYPE, CREATE_CONVERSION_ISSUE_REASON, "https://github.com/yugabyte/yugabyte-db/issues/10866", "Remove it from the exported schema", "CONVERSION", convName, sqlStmtInfo.formattedStmt, UNSUPPORTED_FEATURES_CATEGORY, CREATE_CONVERSION_DOC_LINK, constants.IMPACT_LEVEL_3) } else { //pg_query doesn't seem to have a Node type of AlterConversionStmt so using regex for now if stmt := alterConvRegex.FindStringSubmatch(sqlStmtInfo.stmt); stmt != nil { - reportCase(filePath, "ALTER CONVERSION is not supported yet", "https://github.com/YugaByte/yugabyte-db/issues/10866", + reportCase(filePath, "", "ALTER CONVERSION is not supported yet", "https://github.com/YugaByte/yugabyte-db/issues/10866", "Remove it from the exported schema", "CONVERSION", stmt[1], sqlStmtInfo.formattedStmt, UNSUPPORTED_FEATURES_CATEGORY, CREATE_CONVERSION_DOC_LINK, "") } } @@ -1213,18 +1215,25 @@ func generateAnalyzeSchemaReport(msr *metadb.MigrationStatusRecord, reportFormat // analyze issue reasons to modify the reason before sending to callhome as will have sensitive information var reasonsIncludingSensitiveInformationToCallhome = []string{ - UNSUPPORTED_PG_SYNTAX, - POLICY_ROLE_ISSUE, - UNSUPPORTED_DATATYPE, - UNSUPPORTED_DATATYPE_LIVE_MIGRATION, - UNSUPPORTED_DATATYPE_LIVE_MIGRATION_WITH_FF_FB, - STORED_GENERATED_COLUMN_ISSUE_REASON, - INSUFFICIENT_COLUMNS_IN_PK_FOR_PARTITION, + UNSUPPORTED_PG_SYNTAX_ISSUE_REASON, + queryissue.STORED_GENERATED_COLUMNS_ISSUE_DESCRIPTION, + queryissue.POLICY_ROLE_ISSUE_DESCRIPTION, + queryissue.INSUFFICIENT_COLUMNS_IN_PK_FOR_PARTITION_ISSUE_DESCRIPTION, + queryissue.XML_DATATYPE_ISSUE_DESCRIPTION, + queryissue.XID_DATATYPE_ISSUE_DESCRIPTION, + queryissue.POSTGIS_DATATYPE_ISSUE_DESCRIPTION, + queryissue.UNSUPPORTED_DATATYPE_ISSUE_DESCRIPTION, + queryissue.UNSUPPORTED_DATATYPE_LIVE_MIGRATION_ISSUE_DESCRIPTION, + queryissue.UNSUPPORTED_DATATYPE_LIVE_MIGRATION_WITH_FF_FB_ISSUE_DESCRIPTION, + queryissue.PK_UK_ON_COMPLEX_DATATYPE_ISSUE_DESCRIPTION, + queryissue.INDEX_ON_COMPLEX_DATATYPE_ISSUE_DESCRIPTION, + queryissue.LARGE_OBJECT_DATATYPE_ISSUE_DESCRIPTION, + queryissue.MULTI_RANGE_DATATYPE_ISSUE_DESCRIPTION, } // analyze issue reasons to send the object names for to callhome var reasonsToSendObjectNameToCallhome = []string{ - UNSUPPORTED_EXTENSION_ISSUE, + UNSUPPORTED_EXTENSION_ISSUE_REASON, } func packAndSendAnalyzeSchemaPayload(status string, errorMsg string) { @@ -1240,22 +1249,25 @@ func packAndSendAnalyzeSchemaPayload(status string, errorMsg string) { if !lo.ContainsBy(reasonsToSendObjectNameToCallhome, func(r string) bool { return strings.Contains(issue.Reason, r) }) { - issue.ObjectName = "XXX" // Redacting object name before sending in case reason is not in list + issue.ObjectName = constants.OBFUSCATE_STRING // Redacting object name before sending in case reason is not in list } for _, sensitiveReason := range reasonsIncludingSensitiveInformationToCallhome { - if strings.Contains(issue.Reason, sensitiveReason) { - switch sensitiveReason { - case UNSUPPORTED_DATATYPE, UNSUPPORTED_DATATYPE_LIVE_MIGRATION: - //e.g. Reason "Unsupported datatype - xml on column - data" - //sending only "Unsupported datatype - xml" - issue.Reason = strings.Split(issue.Reason, "on column -")[0] - default: - issue.Reason = sensitiveReason + if strings.HasPrefix(issue.Reason, sensitiveReason) { + issue.Reason = sensitiveReason + } else { + // TODO: should we just start sending issue type/name here instead of obfuscating the reason since that is anyways static + match, err := utils.MatchesFormatString(sensitiveReason, issue.Reason) + if match { + issue.Reason, err = utils.ObfuscateFormatDetails(sensitiveReason, issue.Reason, constants.OBFUSCATE_STRING) + } + if err != nil { + log.Errorf("error while matching issue reason with sensitive reasons: %v", err) + issue.Reason = constants.OBFUSCATE_STRING } } } - //no need to send this in callhome as we already have it documented. - issue.Suggestion = "XXX" + //no need to send suggestion in callhome as we already have it documented. + issue.Suggestion = constants.OBFUSCATE_STRING callhomeIssues = append(callhomeIssues, issue) } diff --git a/yb-voyager/cmd/assessMigrationCommand.go b/yb-voyager/cmd/assessMigrationCommand.go index 556ddb577b..8a11962cb5 100644 --- a/yb-voyager/cmd/assessMigrationCommand.go +++ b/yb-voyager/cmd/assessMigrationCommand.go @@ -975,7 +975,7 @@ func areMinVersionsFixedInEqual(m1 map[string]*ybversion.YBVersion, m2 map[strin return true } -func getUnsupportedFeaturesFromSchemaAnalysisReport(featureName string, issueReason string, issueType string, schemaAnalysisReport utils.SchemaReport, displayDDLInHTML bool, description string) UnsupportedFeature { +func getUnsupportedFeaturesFromSchemaAnalysisReport(featureName string, issueDescription string, issueType string, schemaAnalysisReport utils.SchemaReport, displayDDLInHTML bool) UnsupportedFeature { log.Info("filtering issues for feature: ", featureName) objects := make([]ObjectInfo, 0) link := "" // for oracle we shouldn't display any line for links @@ -986,8 +986,9 @@ func getUnsupportedFeaturesFromSchemaAnalysisReport(featureName string, issueRea if !slices.Contains([]string{UNSUPPORTED_FEATURES_CATEGORY, MIGRATION_CAVEATS_CATEGORY}, analyzeIssue.IssueType) { continue } - issueMatched := lo.Ternary[bool](issueType != "", issueType == analyzeIssue.Type, strings.Contains(analyzeIssue.Reason, issueReason)) + // Reason in analyze is equivalent to Description of IssueInstance or AssessmentIssue + issueMatched := lo.Ternary[bool](issueType != "", issueType == analyzeIssue.Type, strings.Contains(analyzeIssue.Reason, issueDescription)) if issueMatched { if !minVersionsFixedInSet { minVersionsFixedIn = analyzeIssue.MinimumVersionsFixedIn @@ -1003,12 +1004,12 @@ func getUnsupportedFeaturesFromSchemaAnalysisReport(featureName string, issueRea } link = analyzeIssue.DocsLink objects = append(objects, objectInfo) - - assessmentReport.AppendIssues(convertAnalyzeSchemaIssueToAssessmentIssue(analyzeIssue, description, minVersionsFixedIn)) + issueDescription = analyzeIssue.Reason + assessmentReport.AppendIssues(convertAnalyzeSchemaIssueToAssessmentIssue(analyzeIssue, issueDescription, minVersionsFixedIn)) } } - return UnsupportedFeature{featureName, objects, displayDDLInHTML, link, description, minVersionsFixedIn} + return UnsupportedFeature{featureName, objects, displayDDLInHTML, link, issueDescription, minVersionsFixedIn} } func convertAnalyzeSchemaIssueToAssessmentIssue(analyzeSchemaIssue utils.AnalyzeSchemaIssue, issueDescription string, minVersionsFixedIn map[string]*ybversion.YBVersion) AssessmentIssue { @@ -1016,8 +1017,8 @@ func convertAnalyzeSchemaIssueToAssessmentIssue(analyzeSchemaIssue utils.Analyze Category: analyzeSchemaIssue.IssueType, CategoryDescription: GetCategoryDescription(analyzeSchemaIssue.IssueType), Type: analyzeSchemaIssue.Type, - Name: analyzeSchemaIssue.Reason, // in convertIssueInstanceToAnalyzeIssue() we assign Issue.Name to AnalyzeSchemaIssue.Reason field - Description: issueDescription, // TODO: verify + Name: analyzeSchemaIssue.Name, + Description: analyzeSchemaIssue.Reason, Impact: analyzeSchemaIssue.Impact, ObjectType: analyzeSchemaIssue.ObjectType, ObjectName: analyzeSchemaIssue.ObjectName, @@ -1034,42 +1035,42 @@ func fetchUnsupportedPGFeaturesFromSchemaReport(schemaAnalysisReport utils.Schem for _, indexMethod := range queryissue.UnsupportedIndexMethods { displayIndexMethod := strings.ToUpper(indexMethod) featureName := fmt.Sprintf("%s indexes", displayIndexMethod) - reason := fmt.Sprintf(INDEX_METHOD_ISSUE_REASON, displayIndexMethod) - unsupportedFeatures = append(unsupportedFeatures, getUnsupportedFeaturesFromSchemaAnalysisReport(featureName, reason, "", schemaAnalysisReport, false, "")) - } - unsupportedFeatures = append(unsupportedFeatures, getUnsupportedFeaturesFromSchemaAnalysisReport(CONSTRAINT_TRIGGERS_FEATURE, "", queryissue.CONSTRAINT_TRIGGER, schemaAnalysisReport, false, "")) - unsupportedFeatures = append(unsupportedFeatures, getUnsupportedFeaturesFromSchemaAnalysisReport(INHERITED_TABLES_FEATURE, "", queryissue.INHERITANCE, schemaAnalysisReport, false, "")) - unsupportedFeatures = append(unsupportedFeatures, getUnsupportedFeaturesFromSchemaAnalysisReport(GENERATED_COLUMNS_FEATURE, "", queryissue.STORED_GENERATED_COLUMNS, schemaAnalysisReport, false, "")) - unsupportedFeatures = append(unsupportedFeatures, getUnsupportedFeaturesFromSchemaAnalysisReport(CONVERSIONS_OBJECTS_FEATURE, CONVERSION_ISSUE_REASON, "", schemaAnalysisReport, false, "")) - unsupportedFeatures = append(unsupportedFeatures, getUnsupportedFeaturesFromSchemaAnalysisReport(MULTI_COLUMN_GIN_INDEX_FEATURE, "", queryissue.MULTI_COLUMN_GIN_INDEX, schemaAnalysisReport, false, "")) - unsupportedFeatures = append(unsupportedFeatures, getUnsupportedFeaturesFromSchemaAnalysisReport(ALTER_SETTING_ATTRIBUTE_FEATURE, "", queryissue.ALTER_TABLE_SET_COLUMN_ATTRIBUTE, schemaAnalysisReport, true, "")) - unsupportedFeatures = append(unsupportedFeatures, getUnsupportedFeaturesFromSchemaAnalysisReport(DISABLING_TABLE_RULE_FEATURE, "", queryissue.ALTER_TABLE_DISABLE_RULE, schemaAnalysisReport, true, "")) - unsupportedFeatures = append(unsupportedFeatures, getUnsupportedFeaturesFromSchemaAnalysisReport(CLUSTER_ON_FEATURE, "", queryissue.ALTER_TABLE_CLUSTER_ON, schemaAnalysisReport, true, "")) - unsupportedFeatures = append(unsupportedFeatures, getUnsupportedFeaturesFromSchemaAnalysisReport(STORAGE_PARAMETERS_FEATURE, "", queryissue.STORAGE_PARAMETER, schemaAnalysisReport, true, "")) - unsupportedFeatures = append(unsupportedFeatures, getUnsupportedFeaturesFromSchemaAnalysisReport(EXTENSION_FEATURE, UNSUPPORTED_EXTENSION_ISSUE, "", schemaAnalysisReport, false, "")) - unsupportedFeatures = append(unsupportedFeatures, getUnsupportedFeaturesFromSchemaAnalysisReport(EXCLUSION_CONSTRAINT_FEATURE, "", queryissue.EXCLUSION_CONSTRAINTS, schemaAnalysisReport, false, "")) - unsupportedFeatures = append(unsupportedFeatures, getUnsupportedFeaturesFromSchemaAnalysisReport(DEFERRABLE_CONSTRAINT_FEATURE, "", queryissue.DEFERRABLE_CONSTRAINTS, schemaAnalysisReport, false, "")) - unsupportedFeatures = append(unsupportedFeatures, getUnsupportedFeaturesFromSchemaAnalysisReport(VIEW_CHECK_FEATURE, VIEW_CHECK_OPTION_ISSUE, "", schemaAnalysisReport, false, "")) + reason := fmt.Sprintf(queryissue.UNSUPPORTED_INDEX_METHOD_DESCRIPTION, displayIndexMethod) + unsupportedFeatures = append(unsupportedFeatures, getUnsupportedFeaturesFromSchemaAnalysisReport(featureName, reason, "", schemaAnalysisReport, false)) + } + unsupportedFeatures = append(unsupportedFeatures, getUnsupportedFeaturesFromSchemaAnalysisReport(CONSTRAINT_TRIGGERS_FEATURE, "", queryissue.CONSTRAINT_TRIGGER, schemaAnalysisReport, false)) + unsupportedFeatures = append(unsupportedFeatures, getUnsupportedFeaturesFromSchemaAnalysisReport(INHERITED_TABLES_FEATURE, "", queryissue.INHERITANCE, schemaAnalysisReport, false)) + unsupportedFeatures = append(unsupportedFeatures, getUnsupportedFeaturesFromSchemaAnalysisReport(GENERATED_COLUMNS_FEATURE, "", queryissue.STORED_GENERATED_COLUMNS, schemaAnalysisReport, false)) + unsupportedFeatures = append(unsupportedFeatures, getUnsupportedFeaturesFromSchemaAnalysisReport(CONVERSIONS_OBJECTS_FEATURE, "", CREATE_CONVERSION_ISSUE_TYPE, schemaAnalysisReport, false)) + unsupportedFeatures = append(unsupportedFeatures, getUnsupportedFeaturesFromSchemaAnalysisReport(MULTI_COLUMN_GIN_INDEX_FEATURE, "", queryissue.MULTI_COLUMN_GIN_INDEX, schemaAnalysisReport, false)) + unsupportedFeatures = append(unsupportedFeatures, getUnsupportedFeaturesFromSchemaAnalysisReport(ALTER_SETTING_ATTRIBUTE_FEATURE, "", queryissue.ALTER_TABLE_SET_COLUMN_ATTRIBUTE, schemaAnalysisReport, true)) + unsupportedFeatures = append(unsupportedFeatures, getUnsupportedFeaturesFromSchemaAnalysisReport(DISABLING_TABLE_RULE_FEATURE, "", queryissue.ALTER_TABLE_DISABLE_RULE, schemaAnalysisReport, true)) + unsupportedFeatures = append(unsupportedFeatures, getUnsupportedFeaturesFromSchemaAnalysisReport(CLUSTER_ON_FEATURE, "", queryissue.ALTER_TABLE_CLUSTER_ON, schemaAnalysisReport, true)) + unsupportedFeatures = append(unsupportedFeatures, getUnsupportedFeaturesFromSchemaAnalysisReport(STORAGE_PARAMETERS_FEATURE, "", queryissue.STORAGE_PARAMETERS, schemaAnalysisReport, true)) + unsupportedFeatures = append(unsupportedFeatures, getUnsupportedFeaturesFromSchemaAnalysisReport(EXTENSION_FEATURE, "", UNSUPPORTED_EXTENSION_ISSUE_TYPE, schemaAnalysisReport, false)) + unsupportedFeatures = append(unsupportedFeatures, getUnsupportedFeaturesFromSchemaAnalysisReport(EXCLUSION_CONSTRAINT_FEATURE, "", queryissue.EXCLUSION_CONSTRAINTS, schemaAnalysisReport, false)) + unsupportedFeatures = append(unsupportedFeatures, getUnsupportedFeaturesFromSchemaAnalysisReport(DEFERRABLE_CONSTRAINT_FEATURE, "", queryissue.DEFERRABLE_CONSTRAINTS, schemaAnalysisReport, false)) + unsupportedFeatures = append(unsupportedFeatures, getUnsupportedFeaturesFromSchemaAnalysisReport(VIEW_CHECK_FEATURE, "", VIEW_WITH_CHECK_OPTION_ISSUE_TYPE, schemaAnalysisReport, false)) unsupportedFeatures = append(unsupportedFeatures, getIndexesOnComplexTypeUnsupportedFeature(schemaAnalysisReport, queryissue.UnsupportedIndexDatatypes)) - unsupportedFeatures = append(unsupportedFeatures, getUnsupportedFeaturesFromSchemaAnalysisReport(PK_UK_CONSTRAINT_ON_COMPLEX_DATATYPES_FEATURE, "", queryissue.PK_UK_ON_COMPLEX_DATATYPE, schemaAnalysisReport, false, "")) - unsupportedFeatures = append(unsupportedFeatures, getUnsupportedFeaturesFromSchemaAnalysisReport(UNLOGGED_TABLE_FEATURE, "", queryissue.UNLOGGED_TABLE, schemaAnalysisReport, false, "")) - unsupportedFeatures = append(unsupportedFeatures, getUnsupportedFeaturesFromSchemaAnalysisReport(REFERENCING_TRIGGER_FEATURE, "", queryissue.REFERENCING_CLAUSE_IN_TRIGGER, schemaAnalysisReport, false, "")) - unsupportedFeatures = append(unsupportedFeatures, getUnsupportedFeaturesFromSchemaAnalysisReport(BEFORE_FOR_EACH_ROW_TRIGGERS_ON_PARTITIONED_TABLE_FEATURE, "", queryissue.BEFORE_ROW_TRIGGER_ON_PARTITIONED_TABLE, schemaAnalysisReport, false, "")) - unsupportedFeatures = append(unsupportedFeatures, getUnsupportedFeaturesFromSchemaAnalysisReport(queryissue.ADVISORY_LOCKS_NAME, "", queryissue.ADVISORY_LOCKS, schemaAnalysisReport, false, "")) - unsupportedFeatures = append(unsupportedFeatures, getUnsupportedFeaturesFromSchemaAnalysisReport(queryissue.XML_FUNCTIONS_NAME, "", queryissue.XML_FUNCTIONS, schemaAnalysisReport, false, "")) - unsupportedFeatures = append(unsupportedFeatures, getUnsupportedFeaturesFromSchemaAnalysisReport(queryissue.SYSTEM_COLUMNS_NAME, "", queryissue.SYSTEM_COLUMNS, schemaAnalysisReport, false, "")) - unsupportedFeatures = append(unsupportedFeatures, getUnsupportedFeaturesFromSchemaAnalysisReport(queryissue.LARGE_OBJECT_FUNCTIONS_NAME, "", queryissue.LARGE_OBJECT_FUNCTIONS, schemaAnalysisReport, false, "")) - unsupportedFeatures = append(unsupportedFeatures, getUnsupportedFeaturesFromSchemaAnalysisReport(REGEX_FUNCTIONS_FEATURE, "", queryissue.REGEX_FUNCTIONS, schemaAnalysisReport, false, "")) - unsupportedFeatures = append(unsupportedFeatures, getUnsupportedFeaturesFromSchemaAnalysisReport(FETCH_WITH_TIES_FEATURE, "", queryissue.FETCH_WITH_TIES, schemaAnalysisReport, false, "")) - unsupportedFeatures = append(unsupportedFeatures, getUnsupportedFeaturesFromSchemaAnalysisReport(queryissue.JSON_QUERY_FUNCTIONS_NAME, "", queryissue.JSON_QUERY_FUNCTION, schemaAnalysisReport, false, "")) - unsupportedFeatures = append(unsupportedFeatures, getUnsupportedFeaturesFromSchemaAnalysisReport(queryissue.JSON_CONSTRUCTOR_FUNCTION_NAME, "", queryissue.JSON_CONSTRUCTOR_FUNCTION, schemaAnalysisReport, false, "")) - unsupportedFeatures = append(unsupportedFeatures, getUnsupportedFeaturesFromSchemaAnalysisReport(queryissue.AGGREGATION_FUNCTIONS_NAME, "", queryissue.AGGREGATE_FUNCTION, schemaAnalysisReport, false, "")) - unsupportedFeatures = append(unsupportedFeatures, getUnsupportedFeaturesFromSchemaAnalysisReport(queryissue.SECURITY_INVOKER_VIEWS_NAME, "", queryissue.SECURITY_INVOKER_VIEWS, schemaAnalysisReport, false, "")) - unsupportedFeatures = append(unsupportedFeatures, getUnsupportedFeaturesFromSchemaAnalysisReport(queryissue.DETERMINISTIC_OPTION_WITH_COLLATION_NAME, "", queryissue.DETERMINISTIC_OPTION_WITH_COLLATION, schemaAnalysisReport, false, "")) - unsupportedFeatures = append(unsupportedFeatures, getUnsupportedFeaturesFromSchemaAnalysisReport(queryissue.UNIQUE_NULLS_NOT_DISTINCT_NAME, "", queryissue.UNIQUE_NULLS_NOT_DISTINCT, schemaAnalysisReport, false, "")) - unsupportedFeatures = append(unsupportedFeatures, getUnsupportedFeaturesFromSchemaAnalysisReport(queryissue.JSONB_SUBSCRIPTING_NAME, "", queryissue.JSONB_SUBSCRIPTING, schemaAnalysisReport, false, "")) - unsupportedFeatures = append(unsupportedFeatures, getUnsupportedFeaturesFromSchemaAnalysisReport(queryissue.FOREIGN_KEY_REFERENCES_PARTITIONED_TABLE_NAME, "", queryissue.FOREIGN_KEY_REFERENCES_PARTITIONED_TABLE, schemaAnalysisReport, false, "")) - unsupportedFeatures = append(unsupportedFeatures, getUnsupportedFeaturesFromSchemaAnalysisReport(queryissue.JSON_TYPE_PREDICATE_NAME, "", queryissue.JSON_TYPE_PREDICATE, schemaAnalysisReport, false, "")) + unsupportedFeatures = append(unsupportedFeatures, getUnsupportedFeaturesFromSchemaAnalysisReport(PK_UK_CONSTRAINT_ON_COMPLEX_DATATYPES_FEATURE, "", queryissue.PK_UK_ON_COMPLEX_DATATYPE, schemaAnalysisReport, false)) + unsupportedFeatures = append(unsupportedFeatures, getUnsupportedFeaturesFromSchemaAnalysisReport(UNLOGGED_TABLE_FEATURE, "", queryissue.UNLOGGED_TABLES, schemaAnalysisReport, false)) + unsupportedFeatures = append(unsupportedFeatures, getUnsupportedFeaturesFromSchemaAnalysisReport(REFERENCING_TRIGGER_FEATURE, "", queryissue.REFERENCING_CLAUSE_IN_TRIGGER, schemaAnalysisReport, false)) + unsupportedFeatures = append(unsupportedFeatures, getUnsupportedFeaturesFromSchemaAnalysisReport(BEFORE_FOR_EACH_ROW_TRIGGERS_ON_PARTITIONED_TABLE_FEATURE, "", queryissue.BEFORE_ROW_TRIGGER_ON_PARTITIONED_TABLE, schemaAnalysisReport, false)) + unsupportedFeatures = append(unsupportedFeatures, getUnsupportedFeaturesFromSchemaAnalysisReport(queryissue.ADVISORY_LOCKS_NAME, "", queryissue.ADVISORY_LOCKS, schemaAnalysisReport, false)) + unsupportedFeatures = append(unsupportedFeatures, getUnsupportedFeaturesFromSchemaAnalysisReport(queryissue.XML_FUNCTIONS_NAME, "", queryissue.XML_FUNCTIONS, schemaAnalysisReport, false)) + unsupportedFeatures = append(unsupportedFeatures, getUnsupportedFeaturesFromSchemaAnalysisReport(queryissue.SYSTEM_COLUMNS_NAME, "", queryissue.SYSTEM_COLUMNS, schemaAnalysisReport, false)) + unsupportedFeatures = append(unsupportedFeatures, getUnsupportedFeaturesFromSchemaAnalysisReport(queryissue.LARGE_OBJECT_FUNCTIONS_NAME, "", queryissue.LARGE_OBJECT_FUNCTIONS, schemaAnalysisReport, false)) + unsupportedFeatures = append(unsupportedFeatures, getUnsupportedFeaturesFromSchemaAnalysisReport(REGEX_FUNCTIONS_FEATURE, "", queryissue.REGEX_FUNCTIONS, schemaAnalysisReport, false)) + unsupportedFeatures = append(unsupportedFeatures, getUnsupportedFeaturesFromSchemaAnalysisReport(FETCH_WITH_TIES_FEATURE, "", queryissue.FETCH_WITH_TIES, schemaAnalysisReport, false)) + unsupportedFeatures = append(unsupportedFeatures, getUnsupportedFeaturesFromSchemaAnalysisReport(queryissue.JSON_QUERY_FUNCTIONS_NAME, "", queryissue.JSON_QUERY_FUNCTION, schemaAnalysisReport, false)) + unsupportedFeatures = append(unsupportedFeatures, getUnsupportedFeaturesFromSchemaAnalysisReport(queryissue.JSON_CONSTRUCTOR_FUNCTION_NAME, "", queryissue.JSON_CONSTRUCTOR_FUNCTION, schemaAnalysisReport, false)) + unsupportedFeatures = append(unsupportedFeatures, getUnsupportedFeaturesFromSchemaAnalysisReport(queryissue.AGGREGATION_FUNCTIONS_NAME, "", queryissue.AGGREGATE_FUNCTION, schemaAnalysisReport, false)) + unsupportedFeatures = append(unsupportedFeatures, getUnsupportedFeaturesFromSchemaAnalysisReport(queryissue.SECURITY_INVOKER_VIEWS_NAME, "", queryissue.SECURITY_INVOKER_VIEWS, schemaAnalysisReport, false)) + unsupportedFeatures = append(unsupportedFeatures, getUnsupportedFeaturesFromSchemaAnalysisReport(queryissue.DETERMINISTIC_OPTION_WITH_COLLATION_NAME, "", queryissue.DETERMINISTIC_OPTION_WITH_COLLATION, schemaAnalysisReport, false)) + unsupportedFeatures = append(unsupportedFeatures, getUnsupportedFeaturesFromSchemaAnalysisReport(queryissue.UNIQUE_NULLS_NOT_DISTINCT_NAME, "", queryissue.UNIQUE_NULLS_NOT_DISTINCT, schemaAnalysisReport, false)) + unsupportedFeatures = append(unsupportedFeatures, getUnsupportedFeaturesFromSchemaAnalysisReport(queryissue.JSONB_SUBSCRIPTING_NAME, "", queryissue.JSONB_SUBSCRIPTING, schemaAnalysisReport, false)) + unsupportedFeatures = append(unsupportedFeatures, getUnsupportedFeaturesFromSchemaAnalysisReport(queryissue.FOREIGN_KEY_REFERENCES_PARTITIONED_TABLE_NAME, "", queryissue.FOREIGN_KEY_REFERENCES_PARTITIONED_TABLE, schemaAnalysisReport, false)) + unsupportedFeatures = append(unsupportedFeatures, getUnsupportedFeaturesFromSchemaAnalysisReport(queryissue.JSON_TYPE_PREDICATE_NAME, "", queryissue.JSON_TYPE_PREDICATE, schemaAnalysisReport, false)) return lo.Filter(unsupportedFeatures, func(f UnsupportedFeature, _ int) bool { return len(f.Objects) > 0 @@ -1086,7 +1087,7 @@ func getIndexesOnComplexTypeUnsupportedFeature(schemaAnalysisReport utils.Schema unsupportedIndexDatatypes = append(unsupportedIndexDatatypes, "array") // adding it here only as we know issue form analyze will come with type unsupportedIndexDatatypes = append(unsupportedIndexDatatypes, "user_defined_type") // adding it here as we UDTs will come with this type. for _, unsupportedType := range unsupportedIndexDatatypes { - indexes := getUnsupportedFeaturesFromSchemaAnalysisReport(fmt.Sprintf("%s indexes", unsupportedType), fmt.Sprintf(ISSUE_INDEX_WITH_COMPLEX_DATATYPES, unsupportedType), "", schemaAnalysisReport, false, "") + indexes := getUnsupportedFeaturesFromSchemaAnalysisReport(fmt.Sprintf("%s indexes", unsupportedType), fmt.Sprintf(queryissue.INDEX_ON_COMPLEX_DATATYPE_ISSUE_DESCRIPTION, unsupportedType), "", schemaAnalysisReport, false) for _, object := range indexes.Objects { formattedObject := object formattedObject.ObjectName = fmt.Sprintf("%s: %s", strings.ToUpper(unsupportedType), object.ObjectName) @@ -1102,7 +1103,7 @@ func getIndexesOnComplexTypeUnsupportedFeature(schemaAnalysisReport utils.Schema func fetchUnsupportedOracleFeaturesFromSchemaReport(schemaAnalysisReport utils.SchemaReport) ([]UnsupportedFeature, error) { log.Infof("fetching unsupported features for Oracle...") unsupportedFeatures := make([]UnsupportedFeature, 0) - unsupportedFeatures = append(unsupportedFeatures, getUnsupportedFeaturesFromSchemaAnalysisReport(COMPOUND_TRIGGER_FEATURE, COMPOUND_TRIGGER_ISSUE_REASON, "", schemaAnalysisReport, false, "")) + unsupportedFeatures = append(unsupportedFeatures, getUnsupportedFeaturesFromSchemaAnalysisReport(COMPOUND_TRIGGER_FEATURE, "", COMPOUND_TRIGGER_ISSUE_TYPE, schemaAnalysisReport, false)) return lo.Filter(unsupportedFeatures, func(f UnsupportedFeature, _ int) bool { return len(f.Objects) > 0 }), nil @@ -1196,23 +1197,23 @@ func fetchUnsupportedPlPgSQLObjects(schemaAnalysisReport utils.SchemaReport) []U plpgsqlIssues := lo.Filter(schemaAnalysisReport.Issues, func(issue utils.AnalyzeSchemaIssue, _ int) bool { return issue.IssueType == UNSUPPORTED_PLPGSQL_OBJECTS_CATEGORY }) - groupPlpgsqlIssuesByReason := lo.GroupBy(plpgsqlIssues, func(issue utils.AnalyzeSchemaIssue) string { - return issue.Reason + groupPlpgsqlIssuesByIssueName := lo.GroupBy(plpgsqlIssues, func(issue utils.AnalyzeSchemaIssue) string { + return issue.Name }) var unsupportedPlpgSqlObjects []UnsupportedFeature - for reason, issues := range groupPlpgsqlIssuesByReason { + for issueName, analyzeSchemaIssues := range groupPlpgsqlIssuesByIssueName { var objects []ObjectInfo var docsLink string var minVersionsFixedIn map[string]*ybversion.YBVersion var minVersionsFixedInSet bool - for _, issue := range issues { + for _, issue := range analyzeSchemaIssues { if !minVersionsFixedInSet { minVersionsFixedIn = issue.MinimumVersionsFixedIn minVersionsFixedInSet = true } if !areMinVersionsFixedInEqual(minVersionsFixedIn, issue.MinimumVersionsFixedIn) { - utils.ErrExit("Issues belonging to UnsupportedFeature %s have different minimum versions fixed in: %v, %v", reason, minVersionsFixedIn, issue.MinimumVersionsFixedIn) + utils.ErrExit("Issues belonging to UnsupportedFeature %s have different minimum versions fixed in: %v, %v", issueName, minVersionsFixedIn, issue.MinimumVersionsFixedIn) } objects = append(objects, ObjectInfo{ @@ -1225,8 +1226,9 @@ func fetchUnsupportedPlPgSQLObjects(schemaAnalysisReport utils.SchemaReport) []U assessmentReport.AppendIssues(AssessmentIssue{ Category: UNSUPPORTED_PLPGSQL_OBJECTS_CATEGORY, Type: issue.Type, - Name: reason, - Impact: issue.Impact, // TODO: verify(expected already there since underlying issues are assigned) + Name: issue.Name, + Impact: issue.Impact, + Description: issue.Reason, ObjectType: issue.ObjectType, ObjectName: issue.ObjectName, SqlStatement: issue.SqlStatement, @@ -1235,7 +1237,7 @@ func fetchUnsupportedPlPgSQLObjects(schemaAnalysisReport utils.SchemaReport) []U }) } feature := UnsupportedFeature{ - FeatureName: reason, + FeatureName: issueName, DisplayDDL: true, DocsLink: docsLink, Objects: objects, @@ -1314,6 +1316,7 @@ func fetchUnsupportedQueryConstructs() ([]utils.UnsupportedQueryConstruct, error Type: issue.Type, Name: issue.Name, Impact: issue.Impact, + Description: issue.Description, SqlStatement: issue.SqlStatement, DocsLink: issue.DocsLink, MinimumVersionFixedIn: issue.MinimumVersionsFixedIn, @@ -1419,6 +1422,7 @@ func getAssessmentIssuesForUnsupportedDatatypes(unsupportedDatatypes []utils.Tab CategoryDescription: GetCategoryDescription(UNSUPPORTED_DATATYPES_CATEGORY), Type: colInfo.DataType, // TODO: maybe name it like "unsupported datatype - geometry" Name: colInfo.DataType, // TODO: maybe name it like "unsupported datatype - geometry" + Description: "", // TODO Impact: constants.IMPACT_LEVEL_3, ObjectType: constants.COLUMN, ObjectName: qualifiedColName, @@ -1520,11 +1524,11 @@ func addMigrationCaveatsToAssessmentReport(unsupportedDataTypesForLiveMigration log.Infof("add migration caveats to assessment report") migrationCaveats := make([]UnsupportedFeature, 0) migrationCaveats = append(migrationCaveats, getUnsupportedFeaturesFromSchemaAnalysisReport(ALTER_PARTITION_ADD_PK_CAVEAT_FEATURE, "", queryissue.ALTER_TABLE_ADD_PK_ON_PARTITIONED_TABLE, - schemaAnalysisReport, true, DESCRIPTION_ADD_PK_TO_PARTITION_TABLE)) + schemaAnalysisReport, true)) migrationCaveats = append(migrationCaveats, getUnsupportedFeaturesFromSchemaAnalysisReport(FOREIGN_TABLE_CAVEAT_FEATURE, "", queryissue.FOREIGN_TABLE, - schemaAnalysisReport, false, DESCRIPTION_FOREIGN_TABLES)) + schemaAnalysisReport, false)) migrationCaveats = append(migrationCaveats, getUnsupportedFeaturesFromSchemaAnalysisReport(POLICIES_CAVEAT_FEATURE, "", queryissue.POLICY_WITH_ROLES, - schemaAnalysisReport, false, DESCRIPTION_POLICY_ROLE_DESCRIPTION)) + schemaAnalysisReport, false)) if len(unsupportedDataTypesForLiveMigration) > 0 { columns := make([]ObjectInfo, 0) @@ -1533,10 +1537,10 @@ func addMigrationCaveatsToAssessmentReport(unsupportedDataTypesForLiveMigration assessmentReport.AppendIssues(AssessmentIssue{ Category: MIGRATION_CAVEATS_CATEGORY, - CategoryDescription: "", // TODO - Type: UNSUPPORTED_DATATYPES_LIVE_CAVEAT_FEATURE, // TODO add object type in type name - Name: "", // TODO - Impact: constants.IMPACT_LEVEL_1, // Caveat - we don't know the migration is offline/online; + CategoryDescription: GetCategoryDescription(MIGRATION_CAVEATS_CATEGORY), + Type: queryissue.UNSUPPORTED_DATATYPE_LIVE_MIGRATION, + Name: queryissue.UNSUPPORTED_DATATYPE_LIVE_MIGRATION_ISSUE_NAME, + Impact: constants.IMPACT_LEVEL_1, // Caveat - we don't know the migration is offline/online; Description: UNSUPPORTED_DATATYPES_FOR_LIVE_MIGRATION_DESCRIPTION, ObjectType: constants.COLUMN, ObjectName: fmt.Sprintf("%s.%s.%s", colInfo.SchemaName, colInfo.TableName, colInfo.ColumnName), @@ -1554,9 +1558,9 @@ func addMigrationCaveatsToAssessmentReport(unsupportedDataTypesForLiveMigration assessmentReport.AppendIssues(AssessmentIssue{ Category: MIGRATION_CAVEATS_CATEGORY, - CategoryDescription: "", // TODO - Type: UNSUPPORTED_DATATYPES_LIVE_WITH_FF_FB_CAVEAT_FEATURE, // TODO add object type in type name - Name: "", // TODO + CategoryDescription: GetCategoryDescription(MIGRATION_CAVEATS_CATEGORY), + Type: queryissue.UNSUPPORTED_DATATYPE_LIVE_MIGRATION_WITH_FF_FB, + Name: queryissue.UNSUPPORTED_DATATYPE_LIVE_MIGRATION_WITH_FF_FB_ISSUE_NAME, Impact: constants.IMPACT_LEVEL_1, Description: UNSUPPORTED_DATATYPES_FOR_LIVE_MIGRATION_WITH_FF_FB_DESCRIPTION, ObjectType: constants.COLUMN, diff --git a/yb-voyager/cmd/constants.go b/yb-voyager/cmd/constants.go index 25ee2ecba8..44188b0c82 100644 --- a/yb-voyager/cmd/constants.go +++ b/yb-voyager/cmd/constants.go @@ -226,9 +226,6 @@ const ( UNSUPPORTED_DATATYPES_LIVE_WITH_FF_FB_CAVEAT_FEATURE = "Unsupported Data Types for Live Migration with Fall-forward/Fallback" UNSUPPORTED_DATATYPES_FOR_LIVE_MIGRATION_DESCRIPTION = "There are some data types in the schema that are not supported by live migration of data. These columns will be excluded when exporting and importing data in live migration workflows." UNSUPPORTED_DATATYPES_FOR_LIVE_MIGRATION_WITH_FF_FB_DESCRIPTION = "There are some data types in the schema that are not supported by live migration with fall-forward/fall-back. These columns will be excluded when exporting and importing data in live migration workflows." - DESCRIPTION_ADD_PK_TO_PARTITION_TABLE = `After export schema, the ALTER table should be merged with CREATE table for partitioned tables as alter of partitioned tables to add primary key is not supported.` - DESCRIPTION_FOREIGN_TABLES = `During the export schema phase, SERVER and USER MAPPING objects are not exported. These should be manually created to make the foreign tables work.` - DESCRIPTION_POLICY_ROLE_DESCRIPTION = `There are some policies that are created for certain users/roles. During the export schema phase, USERs and GRANTs are not exported. Therefore, they will have to be manually created before running import schema.` ) var supportedSourceDBTypes = []string{ORACLE, MYSQL, POSTGRESQL, YUGABYTEDB} diff --git a/yb-voyager/cmd/templates/migration_assessment_report.template b/yb-voyager/cmd/templates/migration_assessment_report.template index 894ba5121e..242022f608 100644 --- a/yb-voyager/cmd/templates/migration_assessment_report.template +++ b/yb-voyager/cmd/templates/migration_assessment_report.template @@ -360,14 +360,6 @@ {{ end }} - - {{ if $issue.ObjectName }} - - Object Name - {{ $issue.ObjectName }} - - {{ end }} - {{ if $issue.ObjectType }} @@ -376,6 +368,13 @@ {{ end }} + + {{ if $issue.ObjectName }} + + Object Name + {{ $issue.ObjectName }} + + {{ end }} SQL Statement @@ -427,6 +426,7 @@ {{ end }} + diff --git a/yb-voyager/src/constants/constants.go b/yb-voyager/src/constants/constants.go index c9104002ee..e1d519ab54 100644 --- a/yb-voyager/src/constants/constants.go +++ b/yb-voyager/src/constants/constants.go @@ -17,9 +17,9 @@ package constants const ( // Database Object types - TABLE = "table" - FUNCTION = "function" - COLUMN = "column" + TABLE = "TABLE" + FUNCTION = "FUNCTION" + COLUMN = "COLUMN" // Source DB Types YUGABYTEDB = "yugabytedb" @@ -45,3 +45,7 @@ const ( MIGRATION_COMPLEXITY_MEDIUM = "MEDIUM" MIGRATION_COMPLEXITY_HIGH = "HIGH" ) + +const ( + OBFUSCATE_STRING = "XXXXX" +) diff --git a/yb-voyager/src/query/queryissue/constants.go b/yb-voyager/src/query/queryissue/constants.go index 80cce2e1da..832258a530 100644 --- a/yb-voyager/src/query/queryissue/constants.go +++ b/yb-voyager/src/query/queryissue/constants.go @@ -18,36 +18,36 @@ package queryissue // Types const ( - REFERENCED_TYPE_DECLARATION = "REFERENCED_TYPE_DECLARATION" - STORED_GENERATED_COLUMNS = "STORED_GENERATED_COLUMNS" - UNLOGGED_TABLE = "UNLOGGED_TABLE" - UNSUPPORTED_INDEX_METHOD = "UNSUPPORTED_INDEX_METHOD" - STORAGE_PARAMETER = "STORAGE_PARAMETER" - ALTER_TABLE_SET_COLUMN_ATTRIBUTE = "ALTER_TABLE_SET_COLUMN_ATTRIBUTE" - ALTER_TABLE_CLUSTER_ON = "ALTER_TABLE_CLUSTER_ON" - ALTER_TABLE_DISABLE_RULE = "ALTER_TABLE_DISABLE_RULE" - EXCLUSION_CONSTRAINTS = "EXCLUSION_CONSTRAINTS" - DEFERRABLE_CONSTRAINTS = "DEFERRABLE_CONSTRAINTS" - MULTI_COLUMN_GIN_INDEX = "MULTI_COLUMN_GIN_INDEX" - ORDERED_GIN_INDEX = "ORDERED_GIN_INDEX" - POLICY_WITH_ROLES = "POLICY_WITH_ROLES" - CONSTRAINT_TRIGGER = "CONSTRAINT_TRIGGER" - REFERENCING_CLAUSE_IN_TRIGGER = "REFERENCING_CLAUSE_IN_TRIGGER" - BEFORE_ROW_TRIGGER_ON_PARTITIONED_TABLE = "BEFORE_ROW_TRIGGER_ON_PARTITIONED_TABLE" - ALTER_TABLE_ADD_PK_ON_PARTITIONED_TABLE = "ALTER_TABLE_ADD_PK_ON_PARTITIONED_TABLE" - EXPRESSION_PARTITION_WITH_PK_UK = "EXPRESSION_PARTITION_WITH_PK_UK" - MULTI_COLUMN_LIST_PARTITION = "MULTI_COLUMN_LIST_PARTITION" - INSUFFICIENT_COLUMNS_IN_PK_FOR_PARTITION = "INSUFFICIENT_COLUMNS_IN_PK_FOR_PARTITION" - XML_DATATYPE = "XML_DATATYPE" - XID_DATATYPE = "XID_DATATYPE" - POSTGIS_DATATYPES = "POSTGIS_DATATYPES" - UNSUPPORTED_DATATYPES = "UNSUPPORTED_TYPES" - UNSUPPORTED_DATATYPES_LIVE_MIGRATION = "UNSUPPORTED_DATATYPES_LIVE_MIGRATION" - UNSUPPORTED_DATATYPES_LIVE_MIGRATION_WITH_FF_FB = "UNSUPPORTED_DATATYPES_LIVE_MIGRATION_WITH_FF_FB" - PK_UK_ON_COMPLEX_DATATYPE = "PK_UK_ON_COMPLEX_DATATYPE" - INDEX_ON_COMPLEX_DATATYPE = "INDEX_ON_COMPLEX_DATATYPE" - FOREIGN_TABLE = "FOREIGN_TABLE" - INHERITANCE = "INHERITANCE" + REFERENCED_TYPE_DECLARATION = "REFERENCED_TYPE_DECLARATION" + STORED_GENERATED_COLUMNS = "STORED_GENERATED_COLUMNS" + UNLOGGED_TABLES = "UNLOGGED_TABLES" + UNSUPPORTED_INDEX_METHOD = "UNSUPPORTED_INDEX_METHOD" + STORAGE_PARAMETERS = "STORAGE_PARAMETERS" + ALTER_TABLE_SET_COLUMN_ATTRIBUTE = "ALTER_TABLE_SET_COLUMN_ATTRIBUTE" + ALTER_TABLE_CLUSTER_ON = "ALTER_TABLE_CLUSTER_ON" + ALTER_TABLE_DISABLE_RULE = "ALTER_TABLE_DISABLE_RULE" + EXCLUSION_CONSTRAINTS = "EXCLUSION_CONSTRAINTS" + DEFERRABLE_CONSTRAINTS = "DEFERRABLE_CONSTRAINTS" + MULTI_COLUMN_GIN_INDEX = "MULTI_COLUMN_GIN_INDEX" + ORDERED_GIN_INDEX = "ORDERED_GIN_INDEX" + POLICY_WITH_ROLES = "POLICY_WITH_ROLES" + CONSTRAINT_TRIGGER = "CONSTRAINT_TRIGGER" + REFERENCING_CLAUSE_IN_TRIGGER = "REFERENCING_CLAUSE_IN_TRIGGER" + BEFORE_ROW_TRIGGER_ON_PARTITIONED_TABLE = "BEFORE_ROW_TRIGGER_ON_PARTITIONED_TABLE" + ALTER_TABLE_ADD_PK_ON_PARTITIONED_TABLE = "ALTER_TABLE_ADD_PK_ON_PARTITIONED_TABLE" + EXPRESSION_PARTITION_WITH_PK_UK = "EXPRESSION_PARTITION_WITH_PK_UK" + MULTI_COLUMN_LIST_PARTITION = "MULTI_COLUMN_LIST_PARTITION" + INSUFFICIENT_COLUMNS_IN_PK_FOR_PARTITION = "INSUFFICIENT_COLUMNS_IN_PK_FOR_PARTITION" + XML_DATATYPE = "XML_DATATYPE" + XID_DATATYPE = "XID_DATATYPE" + POSTGIS_DATATYPE = "POSTGIS_DATATYPE" + UNSUPPORTED_DATATYPE = "UNSUPPORTED_DATATYPE" + UNSUPPORTED_DATATYPE_LIVE_MIGRATION = "UNSUPPORTED_DATATYPE_LIVE_MIGRATION" + UNSUPPORTED_DATATYPE_LIVE_MIGRATION_WITH_FF_FB = "UNSUPPORTED_DATATYPE_LIVE_MIGRATION_WITH_FF_FB" + PK_UK_ON_COMPLEX_DATATYPE = "PK_UK_ON_COMPLEX_DATATYPE" + INDEX_ON_COMPLEX_DATATYPE = "INDEX_ON_COMPLEX_DATATYPE" + FOREIGN_TABLE = "FOREIGN_TABLE" + INHERITANCE = "INHERITANCE" AGGREGATE_FUNCTION = "AGGREGATE_FUNCTION" AGGREGATION_FUNCTIONS_NAME = "Aggregate Functions" @@ -91,6 +91,73 @@ const ( UNIQUE_NULLS_NOT_DISTINCT_NAME = "Unique Nulls Not Distinct" ) +const ( + // Issue Names + INDEX_ON_COMPLEX_DATATYPE_ISSUE_NAME = "Index on column with complex datatype" + UNSUPPORTED_INDEX_METHOD_ISSUE_NAME = "Index with access method" + PK_UK_ON_COMPLEX_DATATYPE_ISSUE_NAME = "Primary/Unique key on column with complex datatype" + UNSUPPORTED_DATATYPE_LIVE_MIGRATION_ISSUE_NAME = "Unsupported datatype for Live migration" + UNSUPPORTED_DATATYPE_LIVE_MIGRATION_WITH_FF_FB_ISSUE_NAME = "Unsupported datatype for Live migration with fall-forward/fallback" +) + +// Issues Description +// Note: Any issue description added here should be updated in reasonsIncludingSensitiveInformationToCallhome slice in analyzeSchema.go +const ( + // for DMLs + ADVISORY_LOCKS_ISSUE_DESCRIPTION = "Advisory locks are not yet implemented in YugabyteDB" + SYSTEM_COLUMNS_ISSUE_DESCRIPTION = "System columns are not yet supported in YugabyteDB" + XML_FUNCTIONS_ISSUE_DESCRIPTION = "XML functions are not yet supported in YugabyteDB" + REGEX_FUNCTIONS_ISSUE_DESCRIPTION = "Regex functions are not yet supported in YugabyteDB" + AGGREGATE_FUNCTION_ISSUE_DESCRIPTION = "any_value, range_agg and range_intersect_agg functions are not supported yet in YugabyteDB" + JSON_CONSTRUCTOR_FUNCTION_ISSUE_DESCRIPTION = "JSON constructor functions from PostgreSQL 17 are not yet supported in YugabyteDB" + JSON_QUERY_FUNCTION_ISSUE_DESCRIPTION = "JSON query functions from PostgreSQL 17 are not yet supported in YugabyteDB" + LO_FUNCTIONS_ISSUE_DESCRIPTION = "Large Objects functions are not supported in YugabyteDB" + JSONB_SUBSCRIPTING_ISSUE_DESCRIPTION = "Jsonb subscripting is not yet supported in YugabyteDB" + JSON_PREDICATE_ISSUE_DESCRIPTION = "IS JSON predicate expressions are not yet supported in YugabyteDB" + COPY_FROM_WHERE_ISSUE_DESCRIPTION = "COPY FROM ... WHERE is not yet supported in YugabyteDB" + COPY_ON_ERROR_ISSUE_DESCRIPTION = "COPY ... ON_ERROR is not yet supported in YugabyteDB" + FETCH_WITH_TIES_ISSUE_DESCRIPTION = "FETCH .. WITH TIES is not yet supported in YugabyteDB" + MERGE_STATEMENT_ISSUE_DESCRIPTION = "MERGE statement is not yet supported in YugabyteDB" + + // for DDLs + STORED_GENERATED_COLUMNS_ISSUE_DESCRIPTION = "Stored generated columns are not supported in YugabyteDB. Detected columns are (%s)." + UNLOGGED_TABLES_ISSUE_DESCRIPTION = "UNLOGGED tables are not yet supported in YugabyteDB" + UNSUPPORTED_INDEX_METHOD_DESCRIPTION = "The schema contains an index with an access method '%s' which is not supported in YugabyteDB." + STORAGE_PARAMETERS_ISSUE_DESCRIPTION = "Storage parameters in tables, indexes, and constraints are not yet supported in YugabyteDB" + ALTER_TABLE_SET_COLUMN_ATTRIBUTE_ISSUE_DESCRIPTION = "ALTER TABLE .. ALTER COLUMN .. SET ( attribute = value ) is not yet supported in YugabyteDB" + ALTER_TABLE_CLUSTER_ON_ISSUE_DESCRIPTION = "ALTER TABLE CLUSTER is not yet supported in YugabyteDB" + ALTER_TABLE_DISABLE_RULE_ISSUE_DESCRIPTION = "ALTER TABLE name DISABLE RULE is not yet supported in YugabyteDB" + EXCLUSION_CONSTRAINT_ISSUE_DESCRIPTION = "Exclusion constraints are not yet supported in YugabyteDB" + DEFERRABLE_CONSTRAINT_ISSUE_DESCRIPTION = "Deferrable constraints are not yet supported in YugabyteDB" + MULTI_COLUMN_GIN_INDEX_ISSUE_DESCRIPTION = "GIN indexes on multiple columns are not supported in YugabyteDB" + ORDERED_GIN_INDEX_ISSUE_DESCRIPTION = "GIN indexes on columns with ASC/DESC/HASH clause are not yet supported in YugabyteDB" + POLICY_ROLE_ISSUE_DESCRIPTION = "Policies require specific roles (%s) to be created in the target database, as roles are not migrated during schema migration. Manually create these roles before running the import schema." + CONSTRAINT_TRIGGER_ISSUE_DESCRIPTION = "CONSTRAINT TRIGGER is not yet supported in YugabyteDB" + REFERENCING_CLAUSE_IN_TRIGGER_ISSUE_DESCRIPTION = "REFERENCING clause (transition tables) in triggers is not yet supported in YugabyteDB" + BEFORE_ROW_TRIGGER_ON_PARTITION_TABLE_ISSUE_DESCRIPTION = "BEFORE ROW triggers on partitioned tables are not yet supported in YugabyteDB" + ALTER_TABLE_ADD_PK_ON_PARTITION_ISSUE_DESCRIPTION = "Adding primary key using ALTER TABLE to a partitioned table is not yet supported in YugabyteDB. After export schema, the ALTER table should be merged with CREATE table for partitioned tables" + EXPRESSION_PARTITION_ISSUE_DESCRIPTION = "Tables partitioned using expressions cannot contain primary or unique keys in YugabyteDB" + MULTI_COLUMN_LIST_PARTITION_ISSUE_DESCRIPTION = "Multi-column partition by list i.e. PARTITION BY LIST (col1, col2) is not supported in YugabyteDB" + INSUFFICIENT_COLUMNS_IN_PK_FOR_PARTITION_ISSUE_DESCRIPTION = "Partition key columns(%s) are not part of Primary Key columns which is not supported in YugabyteDB" + XML_DATATYPE_ISSUE_DESCRIPTION = "XML datatype is not yet supported in YugabyteDB. Affected column: %s." + XID_DATATYPE_ISSUE_DESCRIPTION = "XID datatype is not yet supported in YugabyteDB. Affected column: %s." + POSTGIS_DATATYPE_ISSUE_DESCRIPTION = "PostGIS datatypes are not yet supported in YugabyteDB. Affected column: %s and type: %s." + UNSUPPORTED_DATATYPE_ISSUE_DESCRIPTION = "Datatype not yet supported in YugabyteDB. Affected column: %s and type: %s." + UNSUPPORTED_DATATYPE_LIVE_MIGRATION_ISSUE_DESCRIPTION = "Datatype not yet supported by voyager in live migration. Affected column: %s and type: %s. These columns will be excluded when exporting and importing data in live migration workflows." + UNSUPPORTED_DATATYPE_LIVE_MIGRATION_WITH_FF_FB_ISSUE_DESCRIPTION = "Datatype not yet supported by voyager in live migration with fall-forward/fallback. Affected column: %s and type: %s. These columns will be excluded when exporting and importing data in live migration workflows." + PK_UK_ON_COMPLEX_DATATYPE_ISSUE_DESCRIPTION = "Primary key and Unique constraints on columns with complex data types like '%s' are not yet supported in YugabyteDB." + INDEX_ON_COMPLEX_DATATYPE_ISSUE_DESCRIPTION = "Indexes on columns with complex data types like '%s' are not yet supported in YugabyteDB" + FOREIGN_TABLE_ISSUE_DESCRIPTION = "Foreign table creation fails as SERVER and USER MAPPING objects are not exported by voyager. These should be manually created to make the foreign tables work." + INHERITANCE_ISSUE_DESCRIPTION = "Table inheritance is not yet supported in YugabyteDB" + REFERENCED_TYPE_DECLARATION_ISSUE_DESCRIPTION = "Referencing the type of a column instead of the actual type name is not supported in YugabyteDB" + LARGE_OBJECT_DATATYPE_ISSUE_DESCRIPTION = "Large Objects are not yet supported in YugabyteDB. Affected column: %s." + MULTI_RANGE_DATATYPE_ISSUE_DESCRIPTION = "Multi-range data type is not yet supported in YugabyteDB. Affected column: %s and type: %s." + SECURITY_INVOKER_VIEWS_ISSUE_DESCRIPTION = "Security invoker views are not yet supported in YugabyteDB" + DETERMINISTIC_OPTION_WITH_COLLATION_ISSUE_DESCRIPTION = "Deterministic option/attribute with collation is not yet supported in YugabyteDB" + FOREIGN_KEY_REFERENCES_PARTITIONED_TABLE_ISSUE_DESCRIPTION = "Foreign key references to partitioned table are not yet supported in YugabyteDB" + UNIQUE_NULLS_NOT_DISTINCT_ISSUE_DESCRIPTION = "Unique constraint on columns with NULL values is not yet supported in YugabyteDB" +) + // Object types const ( CONSTRAINT_NAME = "ConstraintName" diff --git a/yb-voyager/src/query/queryissue/detectors_ddl.go b/yb-voyager/src/query/queryissue/detectors_ddl.go index a5259aaeb6..09c2504458 100644 --- a/yb-voyager/src/query/queryissue/detectors_ddl.go +++ b/yb-voyager/src/query/queryissue/detectors_ddl.go @@ -142,7 +142,7 @@ func (d *TableIssueDetector) DetectIssues(obj queryparser.DDLObject) ([]QueryIss if isUnsupportedDatatype { reportUnsupportedDatatypes(col, obj.GetObjectType(), table.GetObjectName(), &issues) } else if isUnsupportedDatatypeInLive { - issues = append(issues, NewUnsupportedDatatypesForLMIssue( + issues = append(issues, NewUnsupportedDatatypeForLMIssue( obj.GetObjectType(), table.GetObjectName(), "", @@ -254,7 +254,7 @@ func reportUnsupportedDatatypes(col queryparser.TableColumn, objType string, obj col.ColumnName, )) default: - *issues = append(*issues, NewUnsupportedDatatypesIssue( + *issues = append(*issues, NewUnsupportedDatatypeIssue( objType, objName, "", diff --git a/yb-voyager/src/query/queryissue/issues_ddl.go b/yb-voyager/src/query/queryissue/issues_ddl.go index d85c18ee3f..b3f49895ee 100644 --- a/yb-voyager/src/query/queryissue/issues_ddl.go +++ b/yb-voyager/src/query/queryissue/issues_ddl.go @@ -27,9 +27,9 @@ import ( var generatedColumnsIssue = issue.Issue{ Type: STORED_GENERATED_COLUMNS, - Name: "Stored generated columns are not supported.", + Name: "Stored Generated Columns", Impact: constants.IMPACT_LEVEL_1, - Description: "Stored generated columns are not supported in YugabyteDB.\nGenerated columns can be either VIRTUAL or STORED. YugabyteDB supports VIRTUAL generated columns but does not support STORED generated columns.", + Description: STORED_GENERATED_COLUMNS_ISSUE_DESCRIPTION, GH: "https://github.com/yugabyte/yugabyte-db/issues/10695", Suggestion: "Using Triggers to update the generated columns is one way to work around this issue, refer docs link for more details.", DocsLink: "https://docs.yugabyte.com/preview/yugabyte-voyager/known-issues/postgresql/#generated-always-as-stored-type-column-is-not-supported", @@ -37,15 +37,15 @@ var generatedColumnsIssue = issue.Issue{ func NewGeneratedColumnsIssue(objectType string, objectName string, sqlStatement string, generatedColumns []string) QueryIssue { issue := generatedColumnsIssue - issue.Name = issue.Name + fmt.Sprintf(" Generated Columns: (%s)", strings.Join(generatedColumns, ",")) + issue.Description = fmt.Sprintf(issue.Description, strings.Join(generatedColumns, ", ")) return newQueryIssue(issue, objectType, objectName, sqlStatement, map[string]interface{}{}) } var unloggedTableIssue = issue.Issue{ - Type: UNLOGGED_TABLE, - Name: "UNLOGGED tables are not supported yet.", + Type: UNLOGGED_TABLES, + Name: "UNLOGGED tables", Impact: constants.IMPACT_LEVEL_1, - Description: "UNLOGGED tables are not supported in YugabyteDB", + Description: UNLOGGED_TABLES_ISSUE_DESCRIPTION, GH: "https://github.com/yugabyte/yugabyte-db/issues/1129/", Suggestion: "Remove UNLOGGED keyword to make it work", DocsLink: "https://docs.yugabyte.com/preview/yugabyte-voyager/known-issues/postgresql/#unlogged-table-is-not-supported", @@ -61,24 +61,24 @@ func NewUnloggedTableIssue(objectType string, objectName string, sqlStatement st var unsupportedIndexMethodIssue = issue.Issue{ Type: UNSUPPORTED_INDEX_METHOD, - Name: "Schema contains %s index which is not supported.", + Name: UNSUPPORTED_INDEX_METHOD_ISSUE_NAME, Impact: constants.IMPACT_LEVEL_1, - Description: "The schema contains an index with an access method(gist, spgist, brin) which is not supported in YugabyteDB.", + Description: UNSUPPORTED_INDEX_METHOD_DESCRIPTION, GH: "https://github.com/YugaByte/yugabyte-db/issues/1337", DocsLink: "https://docs.yugabyte.com/preview/yugabyte-voyager/known-issues/postgresql/#gist-brin-and-spgist-index-types-are-not-supported", } func NewUnsupportedIndexMethodIssue(objectType string, objectName string, sqlStatement string, indexAccessMethod string) QueryIssue { issue := unsupportedIndexMethodIssue - issue.Name = fmt.Sprintf(unsupportedIndexMethodIssue.Name, strings.ToUpper(indexAccessMethod)) + issue.Description = fmt.Sprintf(issue.Description, strings.ToUpper(indexAccessMethod)) return newQueryIssue(issue, objectType, objectName, sqlStatement, map[string]interface{}{}) } var storageParameterIssue = issue.Issue{ - Type: STORAGE_PARAMETER, - Name: "Storage parameters are not supported yet.", + Type: STORAGE_PARAMETERS, + Name: "Storage Parameters", Impact: constants.IMPACT_LEVEL_1, - Description: "Storage parameters in tables, indexes, and constraints are not yet supported in YugabyteDB", + Description: STORAGE_PARAMETERS_ISSUE_DESCRIPTION, GH: "https://github.com/yugabyte/yugabyte-db/issues/23467", Suggestion: "Remove the storage parameters from the DDL", DocsLink: "https://docs.yugabyte.com/preview/yugabyte-voyager/known-issues/postgresql/#storage-parameters-on-indexes-or-constraints-in-the-source-postgresql", @@ -91,9 +91,9 @@ func NewStorageParameterIssue(objectType string, objectName string, sqlStatement var setColumnAttributeIssue = issue.Issue{ Type: ALTER_TABLE_SET_COLUMN_ATTRIBUTE, - Name: "ALTER TABLE .. ALTER COLUMN .. SET ( attribute = value ) not supported yet", + Name: "ALTER TABLE .. ALTER COLUMN .. SET ( attribute = value )", Impact: constants.IMPACT_LEVEL_1, - Description: "ALTER TABLE .. ALTER COLUMN .. SET ( attribute = value ) is not yet supported in YugabyteDB", + Description: ALTER_TABLE_SET_COLUMN_ATTRIBUTE_ISSUE_DESCRIPTION, GH: "https://github.com/yugabyte/yugabyte-db/issues/1124", Suggestion: "Remove it from the exported schema", DocsLink: "https://docs.yugabyte.com/preview/yugabyte-voyager/known-issues/postgresql/#unsupported-alter-table-ddl-variants-in-source-schema", @@ -106,9 +106,9 @@ func NewSetColumnAttributeIssue(objectType string, objectName string, sqlStateme var alterTableClusterOnIssue = issue.Issue{ Type: ALTER_TABLE_CLUSTER_ON, - Name: "ALTER TABLE CLUSTER not supported yet.", + Name: "ALTER TABLE CLUSTER ON", Impact: constants.IMPACT_LEVEL_1, - Description: "ALTER TABLE CLUSTER is not yet supported in YugabyteDB", + Description: ALTER_TABLE_CLUSTER_ON_ISSUE_DESCRIPTION, GH: "https://github.com/YugaByte/yugabyte-db/issues/1124", Suggestion: "Remove it from the exported schema.", DocsLink: "https://docs.yugabyte.com/preview/yugabyte-voyager/known-issues/postgresql/#unsupported-alter-table-ddl-variants-in-source-schema", @@ -121,9 +121,9 @@ func NewClusterONIssue(objectType string, objectName string, sqlStatement string var alterTableDisableRuleIssue = issue.Issue{ Type: ALTER_TABLE_DISABLE_RULE, - Name: "ALTER TABLE name DISABLE RULE not supported yet", + Name: "ALTER TABLE .. DISABLE RULE", Impact: constants.IMPACT_LEVEL_1, - Description: "ALTER TABLE name DISABLE RULE is not yet supported in YugabyteDB", + Description: ALTER_TABLE_DISABLE_RULE_ISSUE_DESCRIPTION, GH: "https://github.com/yugabyte/yugabyte-db/issues/1124", Suggestion: "Remove this and the rule '%s' from the exported schema to be not enabled on the table.", DocsLink: "https://docs.yugabyte.com/preview/yugabyte-voyager/known-issues/postgresql/#unsupported-alter-table-ddl-variants-in-source-schema", @@ -138,9 +138,9 @@ func NewAlterTableDisableRuleIssue(objectType string, objectName string, sqlStat var exclusionConstraintIssue = issue.Issue{ Type: EXCLUSION_CONSTRAINTS, - Name: "Exclusion constraint is not supported yet", + Name: "Exclusion Constraints", Impact: constants.IMPACT_LEVEL_1, - Description: "Exclusion constraints are not yet supported in YugabyteDB", + Description: EXCLUSION_CONSTRAINT_ISSUE_DESCRIPTION, GH: "https://github.com/yugabyte/yugabyte-db/issues/3944", Suggestion: "Refer docs link for details on possible workaround", DocsLink: "https://docs.yugabyte.com/preview/yugabyte-voyager/known-issues/postgresql/#exclusion-constraints-is-not-supported", @@ -155,9 +155,9 @@ func NewExclusionConstraintIssue(objectType string, objectName string, sqlStatem var deferrableConstraintIssue = issue.Issue{ Type: DEFERRABLE_CONSTRAINTS, - Name: "DEFERRABLE constraints not supported yet", + Name: "Deferrable Constraints", Impact: constants.IMPACT_LEVEL_3, - Description: "Deferrable constraints are not yet supported in YugabyteDB", + Description: DEFERRABLE_CONSTRAINT_ISSUE_DESCRIPTION, GH: "https://github.com/yugabyte/yugabyte-db/issues/1709", Suggestion: "Remove these constraints from the exported schema and make the neccessary changes to the application to work on target seamlessly", DocsLink: "https://docs.yugabyte.com/preview/yugabyte-voyager/known-issues/postgresql/#deferrable-constraint-on-constraints-other-than-foreign-keys-is-not-supported", @@ -172,9 +172,9 @@ func NewDeferrableConstraintIssue(objectType string, objectName string, sqlState var multiColumnGinIndexIssue = issue.Issue{ Type: MULTI_COLUMN_GIN_INDEX, - Name: "Schema contains gin index on multi column which is not supported.", + Name: "Multi Column GIN Index", Impact: constants.IMPACT_LEVEL_1, - Description: "GIN indexes on multiple columns are not supported in YugabyteDB", + Description: MULTI_COLUMN_GIN_INDEX_ISSUE_DESCRIPTION, GH: "https://github.com/yugabyte/yugabyte-db/issues/10652", DocsLink: "https://docs.yugabyte.com/preview/yugabyte-voyager/known-issues/postgresql/#gin-indexes-on-multiple-columns-are-not-supported", } @@ -185,9 +185,9 @@ func NewMultiColumnGinIndexIssue(objectType string, objectName string, sqlStatem var orderedGinIndexIssue = issue.Issue{ Type: ORDERED_GIN_INDEX, - Name: "Schema contains gin index on column with ASC/DESC/HASH Clause which is not supported.", + Name: "Ordered GIN Index", Impact: constants.IMPACT_LEVEL_1, - Description: "GIN indexes on columns with ASC/DESC/HASH clause are not yet supported in YugabyteDB", + Description: ORDERED_GIN_INDEX_ISSUE_DESCRIPTION, GH: "https://github.com/yugabyte/yugabyte-db/issues/10653", DocsLink: "https://docs.yugabyte.com/preview/yugabyte-voyager/known-issues/postgresql/#issue-in-some-unsupported-cases-of-gin-indexes", // TODO: link is not working } @@ -198,9 +198,9 @@ func NewOrderedGinIndexIssue(objectType string, objectName string, sqlStatement var policyRoleIssue = issue.Issue{ Type: POLICY_WITH_ROLES, - Name: "Policy require roles to be created.", + Name: "Policy with Roles", Impact: constants.IMPACT_LEVEL_1, - Description: "Policies require roles to be created in the target database but the roles are not migrated during schema migration.", + Description: POLICY_ROLE_ISSUE_DESCRIPTION, Suggestion: "Users/Grants are not migrated during the schema migration. Create the Users manually to make the policies work", GH: "https://github.com/yugabyte/yb-voyager/issues/1655", DocsLink: "https://docs.yugabyte.com/preview/yugabyte-voyager/known-issues/postgresql/#policies-on-users-in-source-require-manual-user-creation", @@ -208,13 +208,13 @@ var policyRoleIssue = issue.Issue{ func NewPolicyRoleIssue(objectType string, objectName string, sqlStatement string, roles []string) QueryIssue { issue := policyRoleIssue - issue.Name = fmt.Sprintf("%s Users - (%s)", issue.Name, strings.Join(roles, ",")) + issue.Description = fmt.Sprintf(issue.Description, strings.Join(roles, ", ")) return newQueryIssue(issue, objectType, objectName, sqlStatement, map[string]interface{}{}) } var constraintTriggerIssue = issue.Issue{ Type: CONSTRAINT_TRIGGER, - Name: "CONSTRAINT TRIGGER not supported yet.", + Name: "Constraint Trigger", Impact: constants.IMPACT_LEVEL_1, Description: "CONSTRAINT TRIGGER is not yet supported in YugabyteDB", GH: "https://github.com/YugaByte/yugabyte-db/issues/1709", @@ -228,9 +228,9 @@ func NewConstraintTriggerIssue(objectType string, objectName string, sqlStatemen var referencingClauseInTriggerIssue = issue.Issue{ Type: REFERENCING_CLAUSE_IN_TRIGGER, - Name: "REFERENCING clause (transition tables) not supported yet.", + Name: "Referencing Clause in Triggers", Impact: constants.IMPACT_LEVEL_1, - Description: "REFERENCING clause (transition tables) is not yet supported in YugabyteDB", + Description: REFERENCING_CLAUSE_IN_TRIGGER_ISSUE_DESCRIPTION, GH: "https://github.com/YugaByte/yugabyte-db/issues/1668", DocsLink: "https://docs.yugabyte.com/preview/yugabyte-voyager/known-issues/postgresql/#referencing-clause-for-triggers", } @@ -241,9 +241,9 @@ func NewReferencingClauseTrigIssue(objectType string, objectName string, sqlStat var beforeRowTriggerOnPartitionTableIssue = issue.Issue{ Type: BEFORE_ROW_TRIGGER_ON_PARTITIONED_TABLE, - Name: "Partitioned tables cannot have BEFORE / FOR EACH ROW triggers.", + Name: "BEFORE ROW triggers on partitioned tables", Impact: constants.IMPACT_LEVEL_1, - Description: "BEFORE ROW triggers on partitioned tables are not yet supported in YugabyteDB", + Description: BEFORE_ROW_TRIGGER_ON_PARTITION_TABLE_ISSUE_DESCRIPTION, DocsLink: "https://docs.yugabyte.com/preview/yugabyte-voyager/known-issues/postgresql/#before-row-triggers-on-partitioned-tables", GH: "https://github.com/yugabyte/yugabyte-db/issues/24830", Suggestion: "Create the triggers on individual partitions.", @@ -255,9 +255,9 @@ func NewBeforeRowOnPartitionTableIssue(objectType string, objectName string, sql var alterTableAddPKOnPartitionIssue = issue.Issue{ Type: ALTER_TABLE_ADD_PK_ON_PARTITIONED_TABLE, - Name: "Adding primary key to a partitioned table is not supported yet.", + Name: "Adding Primary Key to a partitioned table", Impact: constants.IMPACT_LEVEL_1, - Description: "Adding primary key using ALTER TABLE to a partitioned table is not yet supported in YugabyteDB", + Description: ALTER_TABLE_ADD_PK_ON_PARTITION_ISSUE_DESCRIPTION, DocsLink: "https://docs.yugabyte.com/preview/yugabyte-voyager/known-issues/postgresql/#adding-primary-key-to-a-partitioned-table-results-in-an-error", GH: "https://github.com/yugabyte/yugabyte-db/issues/10074", MinimumVersionsFixedIn: map[string]*ybversion.YBVersion{ @@ -274,9 +274,9 @@ func NewAlterTableAddPKOnPartiionIssue(objectType string, objectName string, sql var expressionPartitionIssue = issue.Issue{ Type: EXPRESSION_PARTITION_WITH_PK_UK, - Name: "Issue with Partition using Expression on a table which cannot contain Primary Key / Unique Key on any column", + Name: "Tables partitioned using expressions containing primary or unique keys", Impact: constants.IMPACT_LEVEL_1, - Description: "Tables partitioned using expressions cannot contain primary or unique keys in YugabyteDB", + Description: EXPRESSION_PARTITION_ISSUE_DESCRIPTION, Suggestion: "Remove the Constriant from the table definition", GH: "https://github.com/yugabyte/yb-voyager/issues/698", DocsLink: "https://docs.yugabyte.com/preview/yugabyte-voyager/known-issues/mysql/#tables-partitioned-with-expressions-cannot-contain-primary-unique-keys", @@ -288,9 +288,9 @@ func NewExpressionPartitionIssue(objectType string, objectName string, sqlStatem var multiColumnListPartition = issue.Issue{ Type: MULTI_COLUMN_LIST_PARTITION, - Name: `cannot use "list" partition strategy with more than one column`, + Name: "Multi-column partition by list", Impact: constants.IMPACT_LEVEL_1, - Description: "Multi-column partition by list is not supported in YugabyteDB", + Description: MULTI_COLUMN_LIST_PARTITION_ISSUE_DESCRIPTION, Suggestion: "Make it a single column partition by list or choose other supported Partitioning methods", GH: "https://github.com/yugabyte/yb-voyager/issues/699", DocsLink: "https://docs.yugabyte.com/preview/yugabyte-voyager/known-issues/mysql/#multi-column-partition-by-list-is-not-supported", @@ -302,9 +302,9 @@ func NewMultiColumnListPartition(objectType string, objectName string, sqlStatem var insufficientColumnsInPKForPartition = issue.Issue{ Type: INSUFFICIENT_COLUMNS_IN_PK_FOR_PARTITION, - Name: "insufficient columns in the PRIMARY KEY constraint definition in CREATE TABLE", + Name: "Partition key columns not part of Primary Key", Impact: constants.IMPACT_LEVEL_1, - Description: "Partition key column not part of Primary Key columns", + Description: INSUFFICIENT_COLUMNS_IN_PK_FOR_PARTITION_ISSUE_DESCRIPTION, Suggestion: "Add all Partition columns to Primary Key", GH: "https://github.com/yugabyte/yb-voyager/issues/578", DocsLink: "https://docs.yugabyte.com/preview/yugabyte-voyager/known-issues/oracle/#partition-key-column-not-part-of-primary-key-columns", @@ -312,7 +312,7 @@ var insufficientColumnsInPKForPartition = issue.Issue{ func NewInsufficientColumnInPKForPartition(objectType string, objectName string, sqlStatement string, partitionColumnsNotInPK []string) QueryIssue { issue := insufficientColumnsInPKForPartition - issue.Name = fmt.Sprintf("%s - (%s)", issue.Name, strings.Join(partitionColumnsNotInPK, ", ")) + issue.Description = fmt.Sprintf(issue.Description, strings.Join(partitionColumnsNotInPK, ", ")) return newQueryIssue(issue, objectType, objectName, sqlStatement, map[string]interface{}{}) } @@ -320,7 +320,7 @@ var xmlDatatypeIssue = issue.Issue{ Type: XML_DATATYPE, Name: "Unsupported datatype - xml", Impact: constants.IMPACT_LEVEL_3, - Description: "XML datatype is not yet supported in YugabyteDB", + Description: XML_DATATYPE_ISSUE_DESCRIPTION, Suggestion: "Data ingestion is not supported for this type in YugabyteDB so handle this type in different way. Refer link for more details.", GH: "https://github.com/yugabyte/yugabyte-db/issues/1043", DocsLink: "https://docs.yugabyte.com/preview/yugabyte-voyager/known-issues/postgresql/#data-ingestion-on-xml-data-type-is-not-supported", @@ -328,7 +328,7 @@ var xmlDatatypeIssue = issue.Issue{ func NewXMLDatatypeIssue(objectType string, objectName string, sqlStatement string, colName string) QueryIssue { issue := xmlDatatypeIssue - issue.Name = fmt.Sprintf("%s on column - %s", issue.Name, colName) + issue.Description = fmt.Sprintf(issue.Description, colName) return newQueryIssue(issue, objectType, objectName, sqlStatement, map[string]interface{}{}) } @@ -336,7 +336,7 @@ var xidDatatypeIssue = issue.Issue{ Type: XID_DATATYPE, Name: "Unsupported datatype - xid", Impact: constants.IMPACT_LEVEL_3, - Description: "XID datatype is not yet supported in YugabyteDB", + Description: XID_DATATYPE_ISSUE_DESCRIPTION, Suggestion: "Functions for this type e.g. txid_current are not supported in YugabyteDB yet", GH: "https://github.com/yugabyte/yugabyte-db/issues/15638", DocsLink: "https://docs.yugabyte.com/preview/yugabyte-voyager/known-issues/postgresql/#xid-functions-is-not-supported", @@ -344,78 +344,75 @@ var xidDatatypeIssue = issue.Issue{ func NewXIDDatatypeIssue(objectType string, objectName string, sqlStatement string, colName string) QueryIssue { issue := xidDatatypeIssue - issue.Name = fmt.Sprintf("%s on column - %s", issue.Name, colName) + issue.Description = fmt.Sprintf(issue.Description, colName) return newQueryIssue(issue, objectType, objectName, sqlStatement, map[string]interface{}{}) } var postgisDatatypeIssue = issue.Issue{ - Type: POSTGIS_DATATYPES, - Name: "Unsupported datatype", - Impact: constants.IMPACT_LEVEL_1, - Description: "PostGIS datatypes are not yet supported in YugabyteDB", + Type: POSTGIS_DATATYPE, + Name: "Unsupported datatype - POSTGIS", + Impact: constants.IMPACT_LEVEL_3, + Description: POSTGIS_DATATYPE_ISSUE_DESCRIPTION, GH: "https://github.com/yugabyte/yugabyte-db/issues/11323", DocsLink: "https://docs.yugabyte.com/preview/yugabyte-voyager/known-issues/postgresql/#unsupported-datatypes-by-yugabytedb", } func NewPostGisDatatypeIssue(objectType string, objectName string, sqlStatement string, typeName string, colName string) QueryIssue { issue := postgisDatatypeIssue - issue.Name = fmt.Sprintf("%s - %s on column - %s", issue.Name, typeName, colName) + issue.Description = fmt.Sprintf(issue.Description, colName, typeName) return newQueryIssue(issue, objectType, objectName, sqlStatement, map[string]interface{}{}) } -var unsupportedDatatypesIssue = issue.Issue{ - Type: UNSUPPORTED_DATATYPES, +var unsupportedDatatypeIssue = issue.Issue{ + Type: UNSUPPORTED_DATATYPE, Name: "Unsupported datatype", - Impact: constants.IMPACT_LEVEL_1, - Description: "%s datatype is not yet supported in YugabyteDB", + Impact: constants.IMPACT_LEVEL_3, + Description: UNSUPPORTED_DATATYPE_ISSUE_DESCRIPTION, GH: "https://github.com/yugabyte/yb-voyager/issues/1731", DocsLink: "https://docs.yugabyte.com/preview/yugabyte-voyager/known-issues/postgresql/#unsupported-datatypes-by-yugabytedb", } -func NewUnsupportedDatatypesIssue(objectType string, objectName string, sqlStatement string, typeName string, colName string) QueryIssue { - issue := unsupportedDatatypesIssue - issue.Name = fmt.Sprintf("%s - %s on column - %s", issue.Name, typeName, colName) - issue.Description = fmt.Sprintf(issue.Description, typeName) +func NewUnsupportedDatatypeIssue(objectType string, objectName string, sqlStatement string, typeName string, colName string) QueryIssue { + issue := unsupportedDatatypeIssue + issue.Description = fmt.Sprintf(issue.Description, colName, typeName) return newQueryIssue(issue, objectType, objectName, sqlStatement, map[string]interface{}{}) } -var unsupportedDatatypesForLiveMigrationIssue = issue.Issue{ - Type: UNSUPPORTED_DATATYPES_LIVE_MIGRATION, - Name: "Unsupported datatype for Live migration", +var unsupportedDatatypeForLiveMigrationIssue = issue.Issue{ + Type: UNSUPPORTED_DATATYPE_LIVE_MIGRATION, + Name: UNSUPPORTED_DATATYPE_LIVE_MIGRATION_ISSUE_NAME, Impact: constants.IMPACT_LEVEL_1, - Description: "%s datatype is not yet supported by voyager for Live Migration", + Description: UNSUPPORTED_DATATYPE_LIVE_MIGRATION_ISSUE_DESCRIPTION, GH: "https://github.com/yugabyte/yb-voyager/issues/1731", DocsLink: "https://docs.yugabyte.com/preview/yugabyte-voyager/known-issues/postgresql/#unsupported-datatypes-by-voyager-during-live-migration", } -func NewUnsupportedDatatypesForLMIssue(objectType string, objectName string, sqlStatement string, typeName string, colName string) QueryIssue { - issue := unsupportedDatatypesForLiveMigrationIssue - issue.Name = fmt.Sprintf("%s - %s on column - %s", issue.Name, typeName, colName) - issue.Description = fmt.Sprintf(issue.Description, typeName) +func NewUnsupportedDatatypeForLMIssue(objectType string, objectName string, sqlStatement string, typeName string, colName string) QueryIssue { + issue := unsupportedDatatypeForLiveMigrationIssue + issue.Description = fmt.Sprintf(issue.Description, colName, typeName) return newQueryIssue(issue, objectType, objectName, sqlStatement, map[string]interface{}{}) } -var unsupportedDatatypesForLiveMigrationWithFFOrFBIssue = issue.Issue{ - Type: UNSUPPORTED_DATATYPES_LIVE_MIGRATION_WITH_FF_FB, - Name: "Unsupported datatype for Live migration with fall-forward/fallback", +var unsupportedDatatypeForLiveMigrationWithFFOrFBIssue = issue.Issue{ + Type: UNSUPPORTED_DATATYPE_LIVE_MIGRATION_WITH_FF_FB, + Name: UNSUPPORTED_DATATYPE_LIVE_MIGRATION_WITH_FF_FB_ISSUE_NAME, Impact: constants.IMPACT_LEVEL_1, - Description: "%s datatype is not yet supported by voyager for Live Migration with fall-forward/fallback", + Description: UNSUPPORTED_DATATYPE_LIVE_MIGRATION_WITH_FF_FB_ISSUE_DESCRIPTION, GH: "https://github.com/yugabyte/yb-voyager/issues/1731", DocsLink: "https://docs.yugabyte.com/preview/yugabyte-voyager/known-issues/postgresql/#unsupported-datatypes-by-voyager-during-live-migration", } func NewUnsupportedDatatypesForLMWithFFOrFBIssue(objectType string, objectName string, sqlStatement string, typeName string, colName string) QueryIssue { - issue := unsupportedDatatypesForLiveMigrationWithFFOrFBIssue - issue.Name = fmt.Sprintf("%s - %s on column - %s", issue.Name, typeName, colName) - issue.Description = fmt.Sprintf(issue.Description, typeName) + issue := unsupportedDatatypeForLiveMigrationWithFFOrFBIssue + issue.Description = fmt.Sprintf(issue.Description, colName, typeName) return newQueryIssue(issue, objectType, objectName, sqlStatement, map[string]interface{}{}) } var primaryOrUniqueOnUnsupportedIndexTypesIssue = issue.Issue{ Type: PK_UK_ON_COMPLEX_DATATYPE, - Name: "Primary key and Unique constraint on column '%s' not yet supported", + Name: PK_UK_ON_COMPLEX_DATATYPE_ISSUE_NAME, Impact: constants.IMPACT_LEVEL_1, - Description: "Primary key and Unique constraints on columns with complex data types are not yet supported in YugabyteDB", + Description: PK_UK_ON_COMPLEX_DATATYPE_ISSUE_DESCRIPTION, GH: "https://github.com/yugabyte/yugabyte-db/issues/25003", Suggestion: "Refer to the docs link for the workaround", DocsLink: "https://docs.yugabyte.com/preview/yugabyte-voyager/known-issues/postgresql/#indexes-on-some-complex-data-types-are-not-supported", //Keeping it similar for now, will see if we need to a separate issue on docs, @@ -426,15 +423,15 @@ func NewPrimaryOrUniqueConsOnUnsupportedIndexTypesIssue(objectType string, objec CONSTRAINT_NAME: constraintName, } issue := primaryOrUniqueOnUnsupportedIndexTypesIssue - issue.Name = fmt.Sprintf(issue.Name, typeName) + issue.Description = fmt.Sprintf(issue.Description, typeName) return newQueryIssue(issue, objectType, objectName, sqlStatement, details) } var indexOnComplexDatatypesIssue = issue.Issue{ Type: INDEX_ON_COMPLEX_DATATYPE, - Name: "INDEX on column '%s' not yet supported", + Name: INDEX_ON_COMPLEX_DATATYPE_ISSUE_NAME, Impact: constants.IMPACT_LEVEL_1, - Description: "Indexes on columns with complex data types are not yet supported in YugabyteDB", + Description: INDEX_ON_COMPLEX_DATATYPE_ISSUE_DESCRIPTION, GH: "https://github.com/yugabyte/yugabyte-db/issues/25003", Suggestion: "Refer to the docs link for the workaround", DocsLink: "https://docs.yugabyte.com/preview/yugabyte-voyager/known-issues/postgresql/#indexes-on-some-complex-data-types-are-not-supported", @@ -442,15 +439,15 @@ var indexOnComplexDatatypesIssue = issue.Issue{ func NewIndexOnComplexDatatypesIssue(objectType string, objectName string, sqlStatement string, typeName string) QueryIssue { issue := indexOnComplexDatatypesIssue - issue.Name = fmt.Sprintf(issue.Name, typeName) + issue.Description = fmt.Sprintf(issue.Description, typeName) return newQueryIssue(issue, objectType, objectName, sqlStatement, map[string]interface{}{}) } var foreignTableIssue = issue.Issue{ Type: FOREIGN_TABLE, - Name: "Foreign tables require manual intervention.", + Name: "Foreign Table", Impact: constants.IMPACT_LEVEL_1, - Description: "Foreign table creation fails as SERVER and USER MAPPING objects are not exported by Voyager", + Description: FOREIGN_TABLE_ISSUE_DESCRIPTION, GH: "https://github.com/yugabyte/yb-voyager/issues/1627", Suggestion: "SERVER '%s', and USER MAPPING should be created manually on the target to create and use the foreign table", DocsLink: "https://docs.yugabyte.com/preview/yugabyte-voyager/known-issues/postgresql/#foreign-table-in-the-source-database-requires-server-and-user-mapping", @@ -464,9 +461,9 @@ func NewForeignTableIssue(objectType string, objectName string, sqlStatement str var inheritanceIssue = issue.Issue{ Type: INHERITANCE, - Name: "TABLE INHERITANCE not supported in YugabyteDB", + Name: "Table Inheritance", Impact: constants.IMPACT_LEVEL_3, - Description: "Table inheritance is not yet supported in YugabyteDB", + Description: INHERITANCE_ISSUE_DESCRIPTION, GH: "https://github.com/YugaByte/yugabyte-db/issues/1129", DocsLink: "https://docs.yugabyte.com/preview/yugabyte-voyager/known-issues/postgresql/#table-inheritance-is-not-supported", } @@ -477,9 +474,9 @@ func NewInheritanceIssue(objectType string, objectName string, sqlStatement stri var percentTypeSyntax = issue.Issue{ Type: REFERENCED_TYPE_DECLARATION, - Name: "Referenced type declaration of variables", + Name: "Referencing type declaration of variables", Impact: constants.IMPACT_LEVEL_1, - Description: "Referencing the type of a column instead of the actual type name is not supported in YugabyteDB", + Description: REFERENCED_TYPE_DECLARATION_ISSUE_DESCRIPTION, Suggestion: "Fix the syntax to include the actual type name instead of referencing the type of a column", GH: "https://github.com/yugabyte/yugabyte-db/issues/23619", DocsLink: "https://docs.yugabyte.com/preview/yugabyte-voyager/known-issues/postgresql/#type-syntax-is-not-supported", @@ -493,7 +490,7 @@ var loDatatypeIssue = issue.Issue{ Type: LARGE_OBJECT_DATATYPE, Name: "Unsupported datatype - lo", Impact: constants.IMPACT_LEVEL_1, - Description: "Large objects are not yet supported in YugabyteDB", + Description: LARGE_OBJECT_DATATYPE_ISSUE_DESCRIPTION, Suggestion: "Large objects are not yet supported in YugabyteDB, no workaround available currently", GH: "https://github.com/yugabyte/yugabyte-db/issues/25318", DocsLink: "https://docs.yugabyte.com/preview/yugabyte-voyager/known-issues/postgresql/#large-objects-and-its-functions-are-currently-not-supported", // TODO @@ -501,15 +498,15 @@ var loDatatypeIssue = issue.Issue{ func NewLODatatypeIssue(objectType string, objectName string, SqlStatement string, colName string) QueryIssue { issue := loDatatypeIssue - issue.Name = fmt.Sprintf("%s on column - %s", issue.Name, colName) + issue.Description = fmt.Sprintf(issue.Description, colName) return newQueryIssue(issue, objectType, objectName, SqlStatement, map[string]interface{}{}) } var multiRangeDatatypeIssue = issue.Issue{ Type: MULTI_RANGE_DATATYPE, - Name: "Unsupported datatype", + Name: "Unsupported datatype - Multirange", Impact: constants.IMPACT_LEVEL_1, - Description: "Multirange data type is not yet supported in YugabyteDB", + Description: MULTI_RANGE_DATATYPE_ISSUE_DESCRIPTION, Suggestion: "Multirange data type is not yet supported in YugabyteDB, no workaround available currently", GH: "https://github.com/yugabyte/yugabyte-db/issues/25575", DocsLink: "https://docs.yugabyte.com/preview/yugabyte-voyager/known-issues/postgresql/#postgresql-12-and-later-features", @@ -517,15 +514,15 @@ var multiRangeDatatypeIssue = issue.Issue{ func NewMultiRangeDatatypeIssue(objectType string, objectName string, sqlStatement string, typeName string, colName string) QueryIssue { issue := multiRangeDatatypeIssue - issue.Name = fmt.Sprintf("%s - %s on column - %s", issue.Name, typeName, colName) + issue.Description = fmt.Sprintf(issue.Description, colName, typeName) return newQueryIssue(issue, objectType, objectName, sqlStatement, map[string]interface{}{}) } var securityInvokerViewIssue = issue.Issue{ Type: SECURITY_INVOKER_VIEWS, - Name: "Security Invoker Views not supported yet", + Name: "Security Invoker Views", Impact: constants.IMPACT_LEVEL_1, - Description: "Security Invoker Views are not yet supported in YugabyteDB", + Description: SECURITY_INVOKER_VIEWS_ISSUE_DESCRIPTION, Suggestion: "Security Invoker Views are not yet supported in YugabyteDB, no workaround available currently", GH: "https://github.com/yugabyte/yugabyte-db/issues/25575", DocsLink: "https://docs.yugabyte.com/preview/yugabyte-voyager/known-issues/postgresql/#postgresql-12-and-later-features", @@ -539,7 +536,7 @@ var deterministicOptionCollationIssue = issue.Issue{ Type: DETERMINISTIC_OPTION_WITH_COLLATION, Name: DETERMINISTIC_OPTION_WITH_COLLATION_NAME, Impact: constants.IMPACT_LEVEL_1, - Description: "Deterministic option with collation is not supported in YugabyteDB", + Description: DETERMINISTIC_OPTION_WITH_COLLATION_ISSUE_DESCRIPTION, Suggestion: "This feature is not supported in YugabyteDB yet", GH: "https://github.com/yugabyte/yugabyte-db/issues/25575", DocsLink: "https://docs.yugabyte.com/preview/yugabyte-voyager/known-issues/postgresql/#postgresql-12-and-later-features", @@ -553,7 +550,7 @@ var foreignKeyReferencesPartitionedTableIssue = issue.Issue{ Type: FOREIGN_KEY_REFERENCES_PARTITIONED_TABLE, Name: FOREIGN_KEY_REFERENCES_PARTITIONED_TABLE_NAME, Impact: constants.IMPACT_LEVEL_1, - Description: "Foreign key references to partitioned tables are not yet supported in YugabyteDB", + Description: FOREIGN_KEY_REFERENCES_PARTITIONED_TABLE_ISSUE_DESCRIPTION, Suggestion: "No workaround available ", GH: "https://github.com/yugabyte/yugabyte-db/issues/25575", DocsLink: "https://docs.yugabyte.com/preview/yugabyte-voyager/known-issues/postgresql/#postgresql-12-and-later-features", @@ -570,7 +567,7 @@ var uniqueNullsNotDistinctIssue = issue.Issue{ Type: UNIQUE_NULLS_NOT_DISTINCT, Name: UNIQUE_NULLS_NOT_DISTINCT_NAME, Impact: constants.IMPACT_LEVEL_1, - Description: "Unique constraint on columns with NULL values is not yet supported in YugabyteDB", + Description: UNIQUE_NULLS_NOT_DISTINCT_ISSUE_DESCRIPTION, Suggestion: "", GH: "https://github.com/yugabyte/yugabyte-db/issues/25575", DocsLink: "https://docs.yugabyte.com/preview/yugabyte-voyager/known-issues/postgresql/#postgresql-12-and-later-features", diff --git a/yb-voyager/src/query/queryissue/issues_dml.go b/yb-voyager/src/query/queryissue/issues_dml.go index eca78e7dff..8f15698d09 100644 --- a/yb-voyager/src/query/queryissue/issues_dml.go +++ b/yb-voyager/src/query/queryissue/issues_dml.go @@ -27,7 +27,7 @@ var advisoryLocksIssue = issue.Issue{ Type: ADVISORY_LOCKS, Name: "Advisory Locks", Impact: constants.IMPACT_LEVEL_2, - Description: "Advisory locks are not yet implemented in YugabyteDB", + Description: ADVISORY_LOCKS_ISSUE_DESCRIPTION, Suggestion: "", GH: "https://github.com/yugabyte/yugabyte-db/issues/3642", DocsLink: "https://docs.yugabyte.com/preview/yugabyte-voyager/known-issues/postgresql/#advisory-locks-is-not-yet-implemented", @@ -41,7 +41,7 @@ var systemColumnsIssue = issue.Issue{ Type: SYSTEM_COLUMNS, Name: "System Columns", Impact: constants.IMPACT_LEVEL_2, - Description: "System columns are not yet supported in YugabyteDB", + Description: SYSTEM_COLUMNS_ISSUE_DESCRIPTION, Suggestion: "", GH: "https://github.com/yugabyte/yugabyte-db/issues/24843", DocsLink: "https://docs.yugabyte.com/preview/yugabyte-voyager/known-issues/postgresql/#system-columns-is-not-yet-supported", @@ -55,7 +55,7 @@ var xmlFunctionsIssue = issue.Issue{ Type: XML_FUNCTIONS, Name: "XML Functions", Impact: constants.IMPACT_LEVEL_2, - Description: "XML functions are not yet supported in YugabyteDB", + Description: XML_FUNCTIONS_ISSUE_DESCRIPTION, Suggestion: "", GH: "https://github.com/yugabyte/yugabyte-db/issues/1043", DocsLink: "https://docs.yugabyte.com/preview/yugabyte-voyager/known-issues/postgresql/#xml-functions-is-not-yet-supported", @@ -69,7 +69,7 @@ var regexFunctionsIssue = issue.Issue{ Type: REGEX_FUNCTIONS, Name: "Regex Functions", Impact: constants.IMPACT_LEVEL_2, - Description: "Regex functions are not yet supported in YugabyteDB", + Description: REGEX_FUNCTIONS_ISSUE_DESCRIPTION, Suggestion: "", GH: "https://github.com/yugabyte/yugabyte-db/issues/25575", DocsLink: "https://docs.yugabyte.com/preview/yugabyte-voyager/known-issues/postgresql/#postgresql-12-and-later-features", @@ -83,7 +83,7 @@ var aggregateFunctionIssue = issue.Issue{ Type: AGGREGATE_FUNCTION, Name: AGGREGATION_FUNCTIONS_NAME, Impact: constants.IMPACT_LEVEL_2, - Description: "any_value, range_agg and range_intersect_agg functions are not supported yet in YugabyteDB", + Description: AGGREGATE_FUNCTION_ISSUE_DESCRIPTION, Suggestion: "", GH: "https://github.com/yugabyte/yugabyte-db/issues/25575", DocsLink: "https://docs.yugabyte.com/preview/yugabyte-voyager/known-issues/postgresql/#postgresql-12-and-later-features", @@ -101,7 +101,7 @@ var jsonConstructorFunctionsIssue = issue.Issue{ Type: JSON_CONSTRUCTOR_FUNCTION, Name: JSON_CONSTRUCTOR_FUNCTION_NAME, Impact: constants.IMPACT_LEVEL_2, - Description: "JSON constructor functions from PostgreSQL 17 are not yet supported in YugabyteDB", + Description: JSON_CONSTRUCTOR_FUNCTION_ISSUE_DESCRIPTION, Suggestion: "", GH: "https://github.com/yugabyte/yugabyte-db/issues/25575", DocsLink: "https://docs.yugabyte.com/preview/yugabyte-voyager/known-issues/postgresql/#postgresql-12-and-later-features", @@ -119,7 +119,7 @@ var jsonQueryFunctionIssue = issue.Issue{ Type: JSON_QUERY_FUNCTION, Name: JSON_QUERY_FUNCTIONS_NAME, Impact: constants.IMPACT_LEVEL_2, - Description: "JSON query functions from PostgreSQL 17 are not yet supported in YugabyteDB", + Description: JSON_QUERY_FUNCTION_ISSUE_DESCRIPTION, Suggestion: "", GH: "https://github.com/yugabyte/yugabyte-db/issues/25575", DocsLink: "https://docs.yugabyte.com/preview/yugabyte-voyager/known-issues/postgresql/#postgresql-12-and-later-features", @@ -137,7 +137,7 @@ var loFunctionsIssue = issue.Issue{ Type: LARGE_OBJECT_FUNCTIONS, Name: LARGE_OBJECT_FUNCTIONS_NAME, Impact: constants.IMPACT_LEVEL_2, - Description: "Large Objects functions are not supported in YugabyteDB", + Description: LO_FUNCTIONS_ISSUE_DESCRIPTION, GH: "https://github.com/yugabyte/yugabyte-db/issues/25318", DocsLink: "https://docs.yugabyte.com/preview/yugabyte-voyager/known-issues/postgresql/#large-objects-and-its-functions-are-currently-not-supported", } @@ -154,7 +154,7 @@ var jsonbSubscriptingIssue = issue.Issue{ Type: JSONB_SUBSCRIPTING, Name: JSONB_SUBSCRIPTING_NAME, Impact: constants.IMPACT_LEVEL_2, - Description: "Jsonb subscripting is not yet supported in YugabyteDB", + Description: JSONB_SUBSCRIPTING_ISSUE_DESCRIPTION, Suggestion: "Use Arrow operators (-> / ->>) to access the jsonb fields.", GH: "https://github.com/yugabyte/yugabyte-db/issues/25575", DocsLink: "https://docs.yugabyte.com/preview/yugabyte-voyager/known-issues/postgresql/#jsonb-subscripting", @@ -168,7 +168,7 @@ var jsonPredicateIssue = issue.Issue{ Type: JSON_TYPE_PREDICATE, Name: JSON_TYPE_PREDICATE_NAME, Impact: constants.IMPACT_LEVEL_2, - Description: "IS JSON predicate expressions are not yet supported in YugabyteDB", + Description: JSON_PREDICATE_ISSUE_DESCRIPTION, Suggestion: "", GH: "https://github.com/yugabyte/yugabyte-db/issues/25575", DocsLink: "https://docs.yugabyte.com/preview/yugabyte-voyager/known-issues/postgresql/#postgresql-12-and-later-features", @@ -182,7 +182,7 @@ var copyFromWhereIssue = issue.Issue{ Type: COPY_FROM_WHERE, Name: "COPY FROM ... WHERE", Impact: constants.IMPACT_LEVEL_2, - Description: "COPY FROM ... WHERE is not yet supported in YugabyteDB", + Description: COPY_FROM_WHERE_ISSUE_DESCRIPTION, Suggestion: "", GH: "https://github.com/yugabyte/yugabyte-db/issues/25575", DocsLink: "https://docs.yugabyte.com/preview/yugabyte-voyager/known-issues/postgresql/#postgresql-12-and-later-features", @@ -196,7 +196,7 @@ var copyOnErrorIssue = issue.Issue{ Type: COPY_ON_ERROR, Name: "COPY ... ON_ERROR", Impact: constants.IMPACT_LEVEL_2, - Description: "COPY ... ON_ERROR is not yet supported in YugabyteDB", + Description: COPY_ON_ERROR_ISSUE_DESCRIPTION, Suggestion: "", GH: "https://github.com/yugabyte/yugabyte-db/issues/25575", DocsLink: "https://docs.yugabyte.com/preview/yugabyte-voyager/known-issues/postgresql/#postgresql-12-and-later-features", @@ -210,7 +210,7 @@ var fetchWithTiesIssue = issue.Issue{ Type: FETCH_WITH_TIES, Name: "FETCH .. WITH TIES", Impact: constants.IMPACT_LEVEL_2, - Description: "FETCH .. WITH TIES is not yet supported in YugabyteDB", + Description: FETCH_WITH_TIES_ISSUE_DESCRIPTION, Suggestion: "No workaround available right now", GH: "https://github.com/yugabyte/yugabyte-db/issues/25575", DocsLink: "https://docs.yugabyte.com/preview/yugabyte-voyager/known-issues/postgresql/#postgresql-12-and-later-features", @@ -224,7 +224,7 @@ var mergeStatementIssue = issue.Issue{ Type: MERGE_STATEMENT, Name: "Merge Statement", Impact: constants.IMPACT_LEVEL_2, - Description: "MERGE statement is not yet supported in YugabyteDB", + Description: MERGE_STATEMENT_ISSUE_DESCRIPTION, Suggestion: "Use PL/pgSQL to write the logic to get this functionality", GH: "https://github.com/yugabyte/yugabyte-db/issues/25574", DocsLink: "https://docs.yugabyte.com/preview/yugabyte-voyager/known-issues/postgresql/#merge-command", diff --git a/yb-voyager/src/query/queryissue/parser_issue_detector.go b/yb-voyager/src/query/queryissue/parser_issue_detector.go index 5fbc47ca8e..19c84fe904 100644 --- a/yb-voyager/src/query/queryissue/parser_issue_detector.go +++ b/yb-voyager/src/query/queryissue/parser_issue_detector.go @@ -124,7 +124,7 @@ func (p *ParserIssueDetector) getIssuesNotFixedInTargetDbVersion(issues []QueryI if !fixed { filteredIssues = append(filteredIssues, i) } else { - if i.Issue.Type == UNLOGGED_TABLE { + if i.Issue.Type == UNLOGGED_TABLES { p.IsUnloggedTablesIssueFiltered = true } } diff --git a/yb-voyager/src/utils/commonVariables.go b/yb-voyager/src/utils/commonVariables.go index 6ea9815f5b..788c361e48 100644 --- a/yb-voyager/src/utils/commonVariables.go +++ b/yb-voyager/src/utils/commonVariables.go @@ -106,6 +106,7 @@ type AnalyzeSchemaIssue struct { ObjectName string `json:"ObjectName"` Reason string `json:"Reason"` Type string `json:"-" xml:"-"` // identifier for issue type ADVISORY_LOCKS, SYSTEM_COLUMNS, etc + Name string `json:"-" xml:"-"` // to use for AssessmentIssue Impact string `json:"-" xml:"-"` // temporary field; since currently we generate assessment issue from analyze issue SqlStatement string `json:"SqlStatement,omitempty"` FilePath string `json:"FilePath"` diff --git a/yb-voyager/src/utils/utils.go b/yb-voyager/src/utils/utils.go index c9967e455b..e45c4c3910 100644 --- a/yb-voyager/src/utils/utils.go +++ b/yb-voyager/src/utils/utils.go @@ -757,3 +757,78 @@ func SnakeCaseToTitleCase(snake string) string { return strings.Join(words, " ") } + +// MatchesFormatString checks if the final string matches the format string with %s placeholders filled. +func MatchesFormatString(format, final string) (bool, error) { + regexPattern, err := FormatToRegex(format) + if err != nil { + return false, err + } + + re, err := regexp.Compile(regexPattern) + if err != nil { + return false, fmt.Errorf("failed to compile regex pattern: %v", err) + } + + return re.MatchString(final), nil +} + +// FormatToRegex converts a format string with %s placeholders to a regex pattern. +// It assumes(and support) that the only format specifier is %s. +func FormatToRegex(format string) (string, error) { + // Split the format string at each %s to replace that with regex capture group. + parts := strings.Split(format, "%s") + + // Escape each part to make it a literal string. + lo.ForEach(parts, func(part string, i int) { + parts[i] = regexp.QuoteMeta(part) + }) + + regexPattern := fmt.Sprintf("^%s$", strings.Join(parts, "(.+?)")) + return regexPattern, nil +} + +// ObfuscateFormatDetails obfuscates the captured groups in the final string with the provided obfuscation string. +// It assumes that the format string matches the final string. +func ObfuscateFormatDetails(format, final, obfuscateWith string) (string, error) { + regexPattern, err := FormatToRegex(format) + if err != nil { + return "", err + } + + re, err := regexp.Compile(regexPattern) + if err != nil { + return "", fmt.Errorf("failed to compile regex pattern: %v", err) + } + + // Find the indexes of all capture groups using FindStringSubmatchIndex to get positions. + matchIndices := re.FindStringSubmatchIndex(final) + if matchIndices == nil { + return "", fmt.Errorf("no matches found") + } + + // matchIndices is a slice where: + // matchIndices[0], matchIndices[1] are the start and end of the entire match. + // matchIndices[2], matchIndices[3], etc., are the start and end of each capture group. + // Collect all capture group indices. + var groups [][2]int + for i := 2; i < len(matchIndices); i += 2 { + start, end := matchIndices[i], matchIndices[i+1] + groups = append(groups, [2]int{start, end}) + } + + // Build the obfuscated string by replacing the captured groups. + var sb strings.Builder + lastIndex := 0 + for _, group := range groups { + start, end := group[0], group[1] + sb.WriteString(final[lastIndex:start]) // Append the text before the group. + sb.WriteString(obfuscateWith) // Append the obfuscation string. + + // Update the lastIndex for next iteration. + lastIndex = end + } + + sb.WriteString(final[lastIndex:]) // Append the text after the last group. + return sb.String(), nil +}