From d9a850bc8f37962200646518348bb14a60a4ffb5 Mon Sep 17 00:00:00 2001 From: lsv Date: Wed, 16 Apr 2025 19:26:54 +0500 Subject: [PATCH] fix attstattarget value MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit В 17 версии изменили значение по умолчанию для attstattarget. --- README.md | 6 +++--- schema/pgColumn.cpp | 9 ++++----- 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index ad76eb9..cdd879f 100644 --- a/README.md +++ b/README.md @@ -363,7 +363,7 @@ English version issue #18 - Расширены возможности автоподстановки. Добавлена подстановка соединений таблиц(и представлений) по их FK. - Подстановка работает в двух вариантах: + - Подстановка работает в двух вариантах: * После ключевого слова ON:самая правая таблица соединяется с любой левой. * После ключевого слова WHERE AND OR все таблицы соединяются со всеми. Дополнение условия соединения после символа = . @@ -374,7 +374,7 @@ English version issue #18 25.03.2025 - Добавлен ключ -el для экспорта информации о серверах в файл настроей linux версии pgadmin3. - * Исправления для linux версии: + - Исправления для linux версии: * В окне "Status Server" снижено мерцание при обновлении строк активных процессов Была добавлена фиктивная строка в конец списка процессов при использовании фильтра. * В ctlSQLGrid добавлена проверка на совпадение цветов сетки и заголовков строк. @@ -382,6 +382,6 @@ English version issue #18 * Добавлено изображения двух узлов плана Partial GroupAggregate, Finalize GroupAggregate. * Узел Memoize рисуется динамически с процентной полоской попаданий в кеш(Hits), идикацией Evictions, Overflows. * Добавлена поддержка колеса мыши. - * Если в план более 300 узлов, то включается оптимизация отрисовки, но приэтом возможно появление артефактов при прокрутке экрана. + * Если в плане более 300 узлов, то включается оптимизация отрисовки (возможно появление артефактов при прокрутке экрана). diff --git a/schema/pgColumn.cpp b/schema/pgColumn.cpp index 6712c38..5d54439 100644 --- a/schema/pgColumn.cpp +++ b/schema/pgColumn.cpp @@ -620,7 +620,7 @@ pgObject *pgColumnFactory::CreateObjects(pgCollection *coll, ctlTree *browser, c wxString sql = wxT("SELECT att.*, def.*, pg_catalog.pg_get_expr(def.adbin, def.adrelid) AS defval, CASE WHEN att.attndims > 0 THEN 1 ELSE 0 END AS isarray, format_type(ty.oid,NULL) AS typname, format_type(ty.oid,att.atttypmod) AS displaytypname, tn.nspname as typnspname, et.typname as elemtypname,\n") - wxT(" ty.typstorage AS defaultstorage, cl.relname, na.nspname, coalesce(att.attstattarget,-1), description, cs.relname AS sername, ns.nspname AS serschema,\n") + wxT(" ty.typstorage AS defaultstorage, cl.relname, na.nspname, coalesce(att.attstattarget,-1) attstattarget2, description, cs.relname AS sername, ns.nspname AS serschema,\n") wxT(" (SELECT count(1) FROM pg_type t2 WHERE t2.typname=ty.typname) > 1 AS isdup, indkey"); if (database->BackendMinimumVersion(9, 1)) @@ -637,7 +637,7 @@ pgObject *pgColumnFactory::CreateObjects(pgCollection *coll, ctlTree *browser, c sql += wxT(",\n(SELECT array_agg(label) FROM pg_seclabels sl1 WHERE sl1.objoid=att.attrelid AND sl1.objsubid=att.attnum) AS labels"); sql += wxT(",\n(SELECT array_agg(provider) FROM pg_seclabels sl2 WHERE sl2.objoid=att.attrelid AND sl2.objsubid=att.attnum) AS providers"); } - + sql += wxT("\n") wxT(" FROM pg_attribute att\n") wxT(" JOIN pg_type ty ON ty.oid=atttypid\n") @@ -686,7 +686,7 @@ pgObject *pgColumnFactory::CreateObjects(pgCollection *coll, ctlTree *browser, c column->iSetCompression(compres); } - + column->iSetPkCols(columns->GetVal(wxT("indkey"))); if (database->BackendMinimumVersion(7, 4)) @@ -694,7 +694,6 @@ pgObject *pgColumnFactory::CreateObjects(pgCollection *coll, ctlTree *browser, c if (columns->GetBool(wxT("atthasdef"))) column->iSetDefault(columns->GetVal(wxT("defval"))); - column->iSetStatistics(columns->GetLong(wxT("attstattarget"))); wxString storage = columns->GetVal(wxT("attstorage")); column->iSetStorage( @@ -737,7 +736,7 @@ pgObject *pgColumnFactory::CreateObjects(pgCollection *coll, ctlTree *browser, c column->iSetInheritedTableName(it->second); column->iSetIsLocal(columns->GetBool(wxT("attislocal"))); - column->iSetAttstattarget(columns->GetLong(wxT("attstattarget"))); + column->iSetAttstattarget(columns->GetLong(wxT("attstattarget2"))); if (database->BackendMinimumVersion(8, 5)) { wxString str = columns->GetVal(wxT("attoptions"));