diff --git a/packages/datalib/src/GridDisplay.ts b/packages/datalib/src/GridDisplay.ts index d4e3b40e9..dd67c0402 100644 --- a/packages/datalib/src/GridDisplay.ts +++ b/packages/datalib/src/GridDisplay.ts @@ -24,6 +24,7 @@ export interface DisplayColumn { columnName: string; headerText: string; uniqueName: string; + uniqueNameShorten?: string; uniquePath: string[]; notNull?: boolean; autoIncrement?: boolean; @@ -607,7 +608,7 @@ export abstract class GridDisplay { return { exprType: 'column', ...(!this.dialect.omitTableAliases && { - alias: alias ? shortenIdentifier(alias, this.driver.dialect.maxIdentifierLength) : col.columnName, + alias: alias ?? col.columnName, }), source, ...col, diff --git a/packages/datalib/src/TableGridDisplay.ts b/packages/datalib/src/TableGridDisplay.ts index 9cd49098d..9d25f44b8 100644 --- a/packages/datalib/src/TableGridDisplay.ts +++ b/packages/datalib/src/TableGridDisplay.ts @@ -93,7 +93,7 @@ export class TableGridDisplay extends GridDisplay { ); } - getDisplayColumns(table: TableInfo, parentPath: string[]) { + getDisplayColumns(table: TableInfo, parentPath: string[]): DisplayColumn[] { return ( table?.columns ?.map(col => this.getDisplayColumn(table, col, parentPath)) @@ -106,6 +106,7 @@ export class TableGridDisplay extends GridDisplay { ) || null, hintColumnDelimiter: this.getFkDictionaryDescription(col.isForeignKeyUnique ? col.foreignKey : null) ?.delimiter, + uniqueNameShorten: shortenIdentifier(col.uniqueName, this.driver.dialect.maxIdentifierLength), isExpandable: !!col.foreignKey, })) || [] ); @@ -307,7 +308,12 @@ export class TableGridDisplay extends GridDisplay { for (const column of columns) { if (this.addAllExpandedColumnsToSelected || this.config.addedColumns.includes(column.uniqueName)) { select.columns.push( - this.createColumnExpression(column, { name: column, alias: parentAlias }, column.uniqueName, 'view') + this.createColumnExpression( + column, + { name: column, alias: parentAlias }, + column.uniqueNameShorten ?? column.uniqueName, + 'view' + ) ); displayedColumnInfo[column.uniqueName] = { ...column, diff --git a/packages/web/src/datagrid/DataGridCell.svelte b/packages/web/src/datagrid/DataGridCell.svelte index f7596cb69..131ba93a8 100644 --- a/packages/web/src/datagrid/DataGridCell.svelte +++ b/packages/web/src/datagrid/DataGridCell.svelte @@ -38,7 +38,9 @@ export let overlayValue = null; export let isMissingOverlayField = false; - $: value = col.isStructured ? _.get(rowData || {}, col.uniquePath) : (rowData || {})[col.uniqueName]; + $: value = col.isStructured + ? _.get(rowData || {}, col.uniquePath) + : (rowData || {})[col.uniqueNameShorten ?? col.uniqueName]; function computeStyle(maxWidth, col) { let res = '';