Skip to content

Commit

Permalink
[DB-15086]yugabyted: Added object names along with sql statements.
Browse files Browse the repository at this point in the history
Summary:
Previously, only SQL statements were reported for issues on the assessment page. With this update, both the SQL statements and their corresponding object names will now be reported and displayed.
Jira: DB-15086

Test Plan: Manual testing

Reviewers: djiang

Reviewed By: djiang

Subscribers: krishna.tripathi, yugabyted-dev

Differential Revision: https://phorge.dev.yugabyte.com/D41593
  • Loading branch information
krishna-yb committed Jan 31, 2025
1 parent 2e5e720 commit 4432783
Show file tree
Hide file tree
Showing 3 changed files with 44 additions and 27 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -112,36 +112,34 @@ export const MigrationAssessmentRefactoring: FC<MigrationAssessmentRefactoringPr
typeFilter === t("clusterDetail.voyager.planAndAssess.recommendation.schemaChanges.dataType");
const includeFunctions = typeFilter === "" ||
typeFilter === t("clusterDetail.voyager.planAndAssess.recommendation.schemaChanges.function");

const features = includeFeatures
? unsupportedFeatures?.map((data) => {
return {
...data,
issue_type:
t("clusterDetail.voyager.planAndAssess.recommendation.schemaChanges.feature"),
sql_statement: data.objects?.length ? data.objects[0].sql_statement : "N/A",
};
}) ?? []
? unsupportedFeatures?.map((data) => ({
...data,
issue_type:
t("clusterDetail.voyager.planAndAssess.recommendation.schemaChanges.feature"),
sql_statement: data.objects?.length ? (data.objects[0].sql_statement || "N/A") : "N/A",
})) ?? []
: [];

const dataTypes = includeDataTypes
? unsupportedDataTypes?.map((data) => {
return {
...data,
issue_type:
t("clusterDetail.voyager.planAndAssess.recommendation.schemaChanges.dataType"),
sql_statement: data.objects?.length ? data.objects[0].sql_statement : "N/A",
};
}) ?? []
? unsupportedDataTypes?.map((data) => ({
...data,
issue_type:
t("clusterDetail.voyager.planAndAssess.recommendation.schemaChanges.dataType"),
sql_statement: data.objects?.length ? (data.objects[0].sql_statement || "N/A") : "N/A",
})) ?? []
: [];

const functions = includeFunctions
? unsupportedFunctions?.map((data) => {
return {
...data,
issue_type:
t("clusterDetail.voyager.planAndAssess.recommendation.schemaChanges.function"),
sql_statement: data.objects?.length ? data.objects[0].sql_statement : "N/A",
};
}) ?? []
? unsupportedFunctions?.map((data) => ({
...data,
issue_type:
t("clusterDetail.voyager.planAndAssess.recommendation.schemaChanges.function"),
sql_statement: data.objects?.length ? (data.objects[0].sql_statement || "N/A") : "N/A",
})) ?? []
: [];

return features.concat(dataTypes, functions);
}, [unsupportedDataTypes, unsupportedFeatures, unsupportedFunctions, typeFilter]);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,9 @@ const useStyles = makeStyles((theme) => ({
divider: {
margin: theme.spacing(1, 0, 1, 0),
},
borderForNameAndSQL: {
border: "1px solid #ddd"
}
}));

type IssueDetails = UnsupportedSqlInfo & { issue_type?: string, sql_statement?: string };
Expand All @@ -66,7 +69,6 @@ export const MigrationRefactoringIssueSidePanel: FC<MigrationRefactoringIssueSid

const [page, setPage] = React.useState<number>(0);
const [perPage, setPerPage] = React.useState<number>(10);

const paginatedObjects = useMemo(() => {
return issue?.objects?.slice(page * perPage, page * perPage + perPage);
}, [issue, page, perPage]);
Expand Down Expand Up @@ -122,8 +124,24 @@ export const MigrationRefactoringIssueSidePanel: FC<MigrationRefactoringIssueSid
</Box>
</Paper>
</Box>
{paginatedObjects?.map(({ sql_statement }) => (
sql_statement ? <YBCodeBlock text={sql_statement}/> : null
{paginatedObjects?.map(({ object_name, sql_statement }) => (
(object_name || sql_statement) && (
<Box key={object_name} className={classes.borderForNameAndSQL}
sx={{ mb: 2, p: 2, borderRadius: 2 }}>
{object_name && (
<Typography variant="body1">
{t("clusterDetail.voyager.planAndAssess.recommendation.schemaChanges." +
"objectName")} <span>{object_name}</span>
</Typography>
)}
{sql_statement && (
<Box sx={{ mt: 2 }}>
<YBCodeBlock text={sql_statement} />
</Box>
)}

</Box>
)
))}
<Box ml="auto">
<TablePagination
Expand Down
1 change: 1 addition & 0 deletions yugabyted-ui/ui/src/translations/en.json
Original file line number Diff line number Diff line change
Expand Up @@ -1087,6 +1087,7 @@
"issue": "Issue",
"issueType": "Issue Type",
"occurrences": "Occurrences",
"objectName": "Object Name : ",
"previewSqlStatement": "Preview SQL Statement/Object",
"workaround": "Workaround",
"linkToDocs": "Link to docs",
Expand Down

0 comments on commit 4432783

Please sign in to comment.