diff --git a/web/pgadmin/static/js/Explain/Analysis.jsx b/web/pgadmin/static/js/Explain/Analysis.jsx index 6ae35f83d..9b396957b 100644 --- a/web/pgadmin/static/js/Explain/Analysis.jsx +++ b/web/pgadmin/static/js/Explain/Analysis.jsx @@ -122,7 +122,7 @@ ExplainRow.propTypes = { Plans: PropTypes.array, level: PropTypes.array, _serial: PropTypes.number, - parent_node: PropTypes.number, + parent_node: PropTypes.string, exclusive: PropTypes.number, exclusive_flag: PropTypes.string, inclusive: PropTypes.number, diff --git a/web/pgadmin/static/js/Explain/Graphical.jsx b/web/pgadmin/static/js/Explain/Graphical.jsx index 7fef86d01..8b160f9d3 100644 --- a/web/pgadmin/static/js/Explain/Graphical.jsx +++ b/web/pgadmin/static/js/Explain/Graphical.jsx @@ -92,7 +92,7 @@ function Multitext({currentXpos, currentYpos, label, maxWidth}) { wordBreakIndex = Math.round((maxWidth / letterWidth)) - 1; svgElem.remove(); - let words = label.split(' '), + let words = label?.split(' ') ?? '', widthSoFar = 0, lines = [], currLine = '', diff --git a/web/pgadmin/static/js/Explain/ImageMapper.js b/web/pgadmin/static/js/Explain/ImageMapper.js index aa19890ef..8c3340db6 100644 --- a/web/pgadmin/static/js/Explain/ImageMapper.js +++ b/web/pgadmin/static/js/Explain/ImageMapper.js @@ -168,6 +168,11 @@ const ImageMapper = { 'image': 'ex_delete.svg', 'image_text': 'Delete', }; + case 'Merge': + return { + 'image': 'ex_merge.svg', + 'image_text': 'Merge', + }; } }, 'Named Tuplestore Scan': {