From 6b40190097632531b7f6974531f11a27f267c1b8 Mon Sep 17 00:00:00 2001 From: Nybkox Date: Tue, 3 Dec 2024 19:28:16 +0100 Subject: [PATCH] feat: add collation to maria db indexes query and analyser --- plugins/dbgate-plugin-mysql/src/backend/Analyser.js | 2 +- plugins/dbgate-plugin-mysql/src/backend/sql/indexes.js | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/plugins/dbgate-plugin-mysql/src/backend/Analyser.js b/plugins/dbgate-plugin-mysql/src/backend/Analyser.js index 0e4565568..afb88f78a 100644 --- a/plugins/dbgate-plugin-mysql/src/backend/Analyser.js +++ b/plugins/dbgate-plugin-mysql/src/backend/Analyser.js @@ -184,7 +184,7 @@ class Analyser extends DatabaseAnalyser { columns: indexes.rows .filter(col => col.tableName == idx.tableName && col.constraintName == idx.constraintName) .map(col => ({ - ..._.pick(col, ['columnName']), + ..._.pick(col, ['columnName', 'isDescending']), })), })), diff --git a/plugins/dbgate-plugin-mysql/src/backend/sql/indexes.js b/plugins/dbgate-plugin-mysql/src/backend/sql/indexes.js index caaea2cb9..1dc49b195 100644 --- a/plugins/dbgate-plugin-mysql/src/backend/sql/indexes.js +++ b/plugins/dbgate-plugin-mysql/src/backend/sql/indexes.js @@ -4,7 +4,11 @@ module.exports = ` TABLE_NAME AS tableName, COLUMN_NAME AS columnName, INDEX_TYPE AS indexType, - NON_UNIQUE AS nonUnique + NON_UNIQUE AS nonUnique, + CASE COLLATION + WHEN 'D' THEN 1 + ELSE 0 + END AS isDescending FROM INFORMATION_SCHEMA.STATISTICS WHERE TABLE_SCHEMA = '#DATABASE#' AND TABLE_NAME =OBJECT_ID_CONDITION AND INDEX_NAME != 'PRIMARY' ORDER BY SEQ_IN_INDEX