From 8967a510c9facbbe01b6e1d15b43c9ef1d937622 Mon Sep 17 00:00:00 2001 From: Aditya Toshniwal Date: Mon, 20 Feb 2023 15:36:22 +0530 Subject: [PATCH] Handle MERGE operation in query tool explain introduced in PostgreSQL 15. #5872 --- web/pgadmin/static/js/Explain/Analysis.jsx | 2 +- web/pgadmin/static/js/Explain/Graphical.jsx | 2 +- web/pgadmin/static/js/Explain/ImageMapper.js | 5 +++++ 3 files changed, 7 insertions(+), 2 deletions(-) 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': {