clickhouse: show sorting key

This commit is contained in:
SPRINX0\prochazka
2024-09-10 16:14:25 +02:00
parent 18e6200c3b
commit 5c50faa0a2
3 changed files with 25 additions and 5 deletions

View File

@@ -61,7 +61,7 @@ export interface ColumnInfo extends NamedObjectInfo {
isUnsigned?: boolean;
isZerofill?: boolean;
options?: [];
canSelectMultipleOptions?: boolean,
canSelectMultipleOptions?: boolean;
}
export interface DatabaseObjectInfo extends NamedObjectInfo {
@@ -82,6 +82,7 @@ export interface SqlObjectInfo extends DatabaseObjectInfo {
export interface TableInfo extends DatabaseObjectInfo {
columns: ColumnInfo[];
primaryKey?: PrimaryKeyInfo;
sortingKey?: ColumnsConstraintInfo;
foreignKeys: ForeignKeyInfo[];
dependencies?: ForeignKeyInfo[];
indexes?: IndexInfo[];
@@ -91,6 +92,7 @@ export interface TableInfo extends DatabaseObjectInfo {
preloadedRowsKey?: string[];
preloadedRowsInsertOnly?: string[];
tableRowCount?: number | string;
tableEngine?: string;
__isDynamicStructure?: boolean;
}
@@ -102,10 +104,10 @@ export interface CollectionInfo extends DatabaseObjectInfo {
uniqueKey?: ColumnReference[];
// partition key columns
partitionKey?: ColumnReference[]
partitionKey?: ColumnReference[];
// unique key inside partition
clusterKey?: ColumnReference[];
clusterKey?: ColumnReference[];
}
export interface ViewInfo extends SqlObjectInfo {

View File

@@ -10,8 +10,8 @@
export let showIfEmpty = false;
export let emptyMessage = null;
export let hideDisplayName = false;
export let clickable;
export let onAddNew;
export let clickable = false;
export let onAddNew = null;
</script>
{#if collection?.length > 0 || showIfEmpty || emptyMessage}

View File

@@ -144,6 +144,7 @@
$: columns = tableInfo?.columns;
$: primaryKey = tableInfo?.primaryKey;
$: sortingKey = tableInfo?.sortingKey;
$: foreignKeys = tableInfo?.foreignKeys;
$: dependencies = tableInfo?.dependencies;
$: indexes = tableInfo?.indexes;
@@ -273,6 +274,23 @@
>
</ObjectListControl>
{#if sortingKey}
<ObjectListControl
collection={[sortingKey]}
title="Sorting key"
columns={[
{
fieldName: 'columns',
header: 'Columns',
slot: 0,
},
]}
>
<svelte:fragment slot="name" let:row><ConstraintLabel {...row} /></svelte:fragment>
<svelte:fragment slot="0" let:row>{row?.columns.map(x => x.columnName).join(', ')}</svelte:fragment>
</ObjectListControl>
{/if}
<ObjectListControl
collection={indexes}
onAddNew={isWritable && columns?.length > 0 ? addIndex : null}