postgres analyse index desc #514

This commit is contained in:
Jan Prochazka
2023-03-11 10:33:13 +01:00
parent 9d4105335f
commit feed0cd8db
2 changed files with 18 additions and 13 deletions

View File

@@ -199,7 +199,9 @@ class Analyser extends DatabaseAnalyser {
x.schema_name == table.schema_name && x.schema_name == table.schema_name &&
!uniqueNames.rows.find(y => y.constraint_name == x.index_name) !uniqueNames.rows.find(y => y.constraint_name == x.index_name)
) )
.map(idx => ({ .map(idx => {
const indOptionSplit = idx.indoption.split(' ');
return {
constraintName: idx.index_name, constraintName: idx.index_name,
isUnique: idx.is_unique, isUnique: idx.is_unique,
columns: _.compact( columns: _.compact(
@@ -207,11 +209,13 @@ class Analyser extends DatabaseAnalyser {
.split(' ') .split(' ')
.map(colid => indexcols.rows.find(col => col.oid == idx.oid && col.attnum == colid)) .map(colid => indexcols.rows.find(col => col.oid == idx.oid && col.attnum == colid))
.filter(col => col != null) .filter(col => col != null)
.map(col => ({ .map((col, colIndex) => ({
columnName: col.column_name, columnName: col.column_name,
isDescending: parseInt(indOptionSplit[colIndex]) > 0,
})) }))
), ),
})), };
}),
uniques: indexes.rows uniques: indexes.rows
.filter( .filter(
x => x =>

View File

@@ -6,6 +6,7 @@ module.exports = `
ix.indisprimary as "is_primary", ix.indisprimary as "is_primary",
ix.indisunique as "is_unique", ix.indisunique as "is_unique",
ix.indkey as "indkey", ix.indkey as "indkey",
ix.indoption as "indoption",
t.oid as "oid" t.oid as "oid"
from from
pg_class t, pg_class t,