diff --git a/package-lock.json b/package-lock.json index 9a1f8e28..f3db529f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "vscode-db2i", - "version": "1.9.4", + "version": "1.11.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "vscode-db2i", - "version": "1.9.4", + "version": "1.11.0", "dependencies": { "@ibm/mapepire-js": "^0.5.0", "@octokit/rest": "^21.1.1", diff --git a/src/connection/manager.ts b/src/connection/manager.ts index d75ff72c..3f4ead4e 100644 --- a/src/connection/manager.ts +++ b/src/connection/manager.ts @@ -36,7 +36,8 @@ export class SQLJobManager { "transaction isolation": "none", "query optimize goal": "1", "block size": "512", - "date format": "iso" + "date format": "iso", + "extended metadata": true, })); try { diff --git a/src/views/results/html.ts b/src/views/results/html.ts index 47002731..05fb1668 100644 --- a/src/views/results/html.ts +++ b/src/views/results/html.ts @@ -434,31 +434,7 @@ export function generateScroller(basicSelect: string, isCL: boolean, withCancel? columnMetaData.map(column => { var cell = headerRow.insertCell(); cell.appendChild(document.createTextNode(columnHeadings === 'Label' ? column.label : column.name)); - switch (column.type) { - case 'CHAR': - case 'VARCHAR': - case 'CLOB': - case 'BINARY': - case 'VARBINARY': - case 'BLOB': - case 'GRAPHIC': - case 'VARGRAPHIC': - case 'DBCLOB': - case 'NCHAR': - case 'NVARCHAR': - case 'NCLOB': - case 'FLOAT': - case 'DECFLOAT': - case 'DATALINK': - cell.title = column.type + '(' + column.precision + ')'; - break; - case 'DECIMAL': - case 'NUMERIC': - cell.title = column.type + '(' + column.precision + ', ' + column.scale + ')'; - break; - default: - cell.title = column.type; - } + cell.title = getTooltip(column, columnHeadings); }); // Initialize the footer @@ -537,9 +513,43 @@ export function generateScroller(basicSelect: string, isCL: boolean, withCancel? var headerCells = document.getElementById(htmlTableId).getElementsByTagName('thead')[0].rows[0].cells; for (let x = 0; x < headerCells.length; ++x) { headerCells[x].innerText = columnHeadings === 'Label' ? columnMetaData[x].label : columnMetaData[x].name; + headerCells[x].title = getTooltip(columnMetaData[x], columnHeadings); } } } + + function getTooltip(column, columnHeadings) { + let title = ''; + switch (column.type) { + case 'CHAR': + case 'VARCHAR': + case 'CLOB': + case 'BINARY': + case 'VARBINARY': + case 'BLOB': + case 'GRAPHIC': + case 'VARGRAPHIC': + case 'DBCLOB': + case 'NCHAR': + case 'NVARCHAR': + case 'NCLOB': + case 'FLOAT': + case 'DECFLOAT': + case 'DATALINK': + title = column.type + '(' + column.precision + ')'; + break; + case 'DECIMAL': + case 'NUMERIC': + title = column.type + '(' + column.precision + ', ' + column.scale + ')'; + break; + default: + title = column.type; + } + title += \`\\n\`; + title += columnHeadings === 'Label' ? column.name : column.label; + return title; + } +