Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Do not add the feature in UnsupportedFeatures field if there are no objects for it in the JSON report #2110

Merged
merged 8 commits into from
Dec 23, 2024
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just thinking out loud after looking at the expected test results.
In case of UnsupportedFeatures it is null if there is nothing,
Whereas in case of migration caveats its a empty list - []

can we have the same behaviour in both cases

Original file line number Diff line number Diff line change
Expand Up @@ -106,33 +106,7 @@
},
"UnsupportedDataTypes": null,
"UnsupportedDataTypesDesc": "Data types of the source database that are not supported on the target YugabyteDB.",
"UnsupportedFeatures": [
{
"FeatureName": "Compound Triggers",
"Objects": [],
"MinimumVersionsFixedIn": null
},
{
"FeatureName": "Unsupported Indexes",
"Objects": null,
"MinimumVersionsFixedIn": null
},
{
"FeatureName": "Virtual Columns",
"Objects": null,
"MinimumVersionsFixedIn": null
},
{
"FeatureName": "Inherited Types",
"Objects": null,
"MinimumVersionsFixedIn": null
},
{
"FeatureName": "Unsupported Partitioning Methods",
"Objects": null,
"MinimumVersionsFixedIn": null
}
],
"UnsupportedFeatures": null,
"UnsupportedFeaturesDesc": "Features of the source database that are not supported on the target YugabyteDB.",
"TableIndexStats": [
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -309,66 +309,6 @@
],
"UnsupportedDataTypesDesc": "Data types of the source database that are not supported on the target YugabyteDB.",
"UnsupportedFeatures": [
{
"FeatureName": "GIST indexes",
"Objects": [],
"MinimumVersionsFixedIn": null
},
{
"FeatureName": "BRIN indexes",
"Objects": [],
"MinimumVersionsFixedIn": null
},
{
"FeatureName": "SPGIST indexes",
"Objects": [],
"MinimumVersionsFixedIn": null
},
{
"FeatureName": "Constraint triggers",
"Objects": [],
"MinimumVersionsFixedIn": null
},
{
"FeatureName": "REFERENCING clause for triggers",
"Objects": [],
"MinimumVersionsFixedIn": null
},
{
"FeatureName": "BEFORE ROW triggers on Partitioned tables",
"Objects": [],
"MinimumVersionsFixedIn": null
},
{
"FeatureName": "Inherited tables",
"Objects": [],
"MinimumVersionsFixedIn": null
},
{
"FeatureName": "Tables with stored generated columns",
"Objects": [],
"MinimumVersionsFixedIn": null
},
{
"FeatureName": "Conversion objects",
"Objects": [],
"MinimumVersionsFixedIn": null
},
{
"FeatureName": "Gin indexes on multi-columns",
"Objects": [],
"MinimumVersionsFixedIn": null
},
{
"FeatureName": "Setting attribute=value on column",
"Objects": [],
"MinimumVersionsFixedIn": null
},
{
"FeatureName": "Disabling rule on table",
"Objects": [],
"MinimumVersionsFixedIn": null
},
{
"FeatureName": "Clustering table on index",
"Objects": [
Expand Down Expand Up @@ -648,16 +588,6 @@
"DocsLink": "https://docs.yugabyte.com/preview/yugabyte-voyager/known-issues/postgresql/#unsupported-alter-table-ddl-variants-in-source-schema",
"MinimumVersionsFixedIn": null
},
{
"FeatureName": "Advisory Locks",
"Objects":[],
"MinimumVersionsFixedIn":null
},
{
"FeatureName":"System Columns",
"Objects":[],
"MinimumVersionsFixedIn":null
},
{
"FeatureName": "XML Functions",
"Objects": [
Expand Down Expand Up @@ -696,51 +626,6 @@
],
"DocsLink": "https://docs.yugabyte.com/preview/yugabyte-voyager/known-issues/postgresql/#xml-functions-is-not-yet-supported",
"MinimumVersionsFixedIn": null
},
{
"FeatureName": "Storage parameters in DDLs",
"Objects": [],
"MinimumVersionsFixedIn": null
},
{
"FeatureName": "Extensions",
"Objects": [],
"MinimumVersionsFixedIn": null
},
{
"FeatureName": "Exclusion constraints",
"Objects": [],
"MinimumVersionsFixedIn": null
},
{
"FeatureName": "Deferrable constraints",
"Objects": [],
"MinimumVersionsFixedIn": null
},
{
"FeatureName": "View with check option",
"Objects": [],
"MinimumVersionsFixedIn": null
},
{
"FeatureName": "Primary / Unique key constraints on complex datatypes",
"Objects": [],
"MinimumVersionsFixedIn": null
},
{
"FeatureName": "Index on complex datatypes",
"Objects": [],
"MinimumVersionsFixedIn": null
},
{
"FeatureName": "Unlogged tables",
"Objects": [],
"MinimumVersionsFixedIn": null
},
{
"FeatureName": "Large Object Functions",
"Objects": [],
"MinimumVersionsFixedIn": null
}
],
"UnsupportedFeaturesDesc": "Features of the source database that are not supported on the target YugabyteDB.",
Expand Down Expand Up @@ -1769,26 +1654,7 @@
}
],
"Notes": null,
"MigrationCaveats": [
{
"FeatureName": "Alter partitioned tables to add Primary Key",
"Objects": [],
"FeatureDescription": "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.",
"MinimumVersionsFixedIn": null
},
{
"FeatureName": "Foreign tables",
"Objects": [],
"FeatureDescription": "During the export schema phase, SERVER and USER MAPPING objects are not exported. These should be manually created to make the foreign tables work.",
"MinimumVersionsFixedIn": null
},
{
"FeatureName": "Policies",
"Objects": [],
"FeatureDescription": "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.",
"MinimumVersionsFixedIn": null
}
],
"MigrationCaveats": [],
"UnsupportedQueryConstructs": null,
"UnsupportedPlPgSqlObjects": null
}
Original file line number Diff line number Diff line change
Expand Up @@ -51,133 +51,7 @@
},
"UnsupportedDataTypes": null,
"UnsupportedDataTypesDesc": "Data types of the source database that are not supported on the target YugabyteDB.",
"UnsupportedFeatures": [
{
"FeatureName": "GIST indexes",
"Objects": [],
"MinimumVersionsFixedIn": null
},
{
"FeatureName": "BRIN indexes",
"Objects": [],
"MinimumVersionsFixedIn": null
},
{
"FeatureName": "SPGIST indexes",
"Objects": [],
"MinimumVersionsFixedIn": null
},
{
"FeatureName": "Constraint triggers",
"Objects": [],
"MinimumVersionsFixedIn": null
},
{
"FeatureName": "Inherited tables",
"Objects": [],
"MinimumVersionsFixedIn": null
},
{
"FeatureName": "Tables with stored generated columns",
"Objects": [],
"MinimumVersionsFixedIn": null
},
{
"FeatureName": "Conversion objects",
"Objects": [],
"MinimumVersionsFixedIn": null
},
{
"FeatureName": "Gin indexes on multi-columns",
"Objects": [],
"MinimumVersionsFixedIn": null
},
{
"FeatureName": "Setting attribute=value on column",
"Objects": [],
"MinimumVersionsFixedIn": null
},
{
"FeatureName": "Disabling rule on table",
"Objects": [],
"MinimumVersionsFixedIn": null
},
{
"FeatureName": "Clustering table on index",
"Objects": [],
"MinimumVersionsFixedIn": null
},
{
"FeatureName": "Storage parameters in DDLs",
"Objects": [],
"MinimumVersionsFixedIn": null
},
{
"FeatureName": "Extensions",
"Objects": [],
"MinimumVersionsFixedIn": null
},
{
"FeatureName": "Exclusion constraints",
"Objects": [],
"MinimumVersionsFixedIn": null
},
{
"FeatureName": "Large Object Functions",
"Objects": [],
"MinimumVersionsFixedIn": null
},
{
"FeatureName": "Deferrable constraints",
"Objects": [],
"MinimumVersionsFixedIn": null
},
{
"FeatureName": "View with check option",
"Objects": [],
"MinimumVersionsFixedIn": null
},
{
"FeatureName": "Index on complex datatypes",
"Objects": [],
"MinimumVersionsFixedIn": null
},
{
"FeatureName": "Primary / Unique key constraints on complex datatypes",
"Objects": [],
"MinimumVersionsFixedIn": null
},
{
"FeatureName": "Unlogged tables",
"Objects": [],
"MinimumVersionsFixedIn": null
},
{
"FeatureName": "REFERENCING clause for triggers",
"Objects": [],
"MinimumVersionsFixedIn": null
},
{
"FeatureName": "BEFORE ROW triggers on Partitioned tables",
"Objects": [],
"MinimumVersionsFixedIn": null
},
{
"FeatureName": "Advisory Locks",
"Objects": [],
"MinimumVersionsFixedIn": null
},
{
"FeatureName": "XML Functions",
"Objects": [],
"MinimumVersionsFixedIn": null
},
{
"FeatureName": "System Columns",
"Objects": [],
"MinimumVersionsFixedIn": null
}
],
"UnsupportedFeatures": null,
"UnsupportedFeaturesDesc": "Features of the source database that are not supported on the target YugabyteDB.",
"TableIndexStats": [
{
Expand Down Expand Up @@ -210,26 +84,7 @@
}
],
"Notes": null,
"MigrationCaveats": [
{
"FeatureName": "Alter partitioned tables to add Primary Key",
"Objects": [],
"FeatureDescription": "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.",
"MinimumVersionsFixedIn": null
},
{
"FeatureName": "Foreign tables",
"Objects": [],
"FeatureDescription": "During the export schema phase, SERVER and USER MAPPING objects are not exported. These should be manually created to make the foreign tables work.",
"MinimumVersionsFixedIn": null
},
{
"FeatureName": "Policies",
"Objects": [],
"FeatureDescription": "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.",
"MinimumVersionsFixedIn": null
}
],
"MigrationCaveats": [],
"UnsupportedQueryConstructs": [
{
"ConstructTypeName": "Advisory Locks",
Expand Down
Loading