Commit graph

198 commits

Author SHA1 Message Date
lsv
c2c44c18f1 Using Pk to self-intersrc tables.
Для автоподстановки PK используется для соединения таблиц самих с собой.
2025-07-31 20:50:47 +05:00
lsv
6958c9684f Graph query explain optimization
Добавлено два узла Partial GroupAggregate, Finalize GroupAggregate.
Добавлено наглядное представление Memoize.
Добавлена поддержка колеса мыши.
Если в план более 300 узлов, то включается оптимизация отрисовки и возможно появление
артефактов при прокрутке экрана.
2025-03-22 17:30:06 +05:00
lsv
0e0aae430a linux optimization. 2025-03-22 17:02:22 +05:00
lsv
431017de6b Converting servers information to a Linux file format.
Для переноса информации на линукс версию можно выполнить pgAdmin3.exe с
ключем -el. В логе будет информацио а о файле где была сохранена информация.
2025-03-18 19:34:04 +05:00
lsv
f7c7729eff Added the ability to collect N recent logs in LogView
В Log view добавлено поле с числом последних файлов логов которые нужно загрузить.
Логи будут загружаться после нажатия Enter.
2025-03-18 19:33:45 +05:00
lsv
21ee30844a Added new features autocomplite.
1. Добавлена подстановка соединений таблиц(и представлений) по их FK.
   Подстановка работает в двух вариантах:
   1.1 После ключевого слова ON:самая правая таблица соединяется с любой левой.
   1.2 После ключевого слова WHERE AND OR все таблицы соединяются со всеми.
2. Дополнение условия соединения после символа = .
   Представления можно соединить только если поле представления является полем таблицы.
3. Стандартное автодополнение теперь выдаёт список таблиц и представление после JOIN.
2025-02-10 11:01:46 +05:00
lsv
b7b911c93b Displaying the "Cluster" property of the primary key.
Исправлено отображение признака кластеризации у первичного ключа.
2025-02-10 09:58:54 +05:00
lsv
96e23cc7b4 View tab simbol as arrow.
Если в результатах запроса есть символ \t то он отображается как стрелка.
2025-02-10 09:58:31 +05:00
lsv
3bad8c07f3 fix frmStatus freeze
При закрытии одного из окон frmStatus приложение зависало.
2025-01-21 10:05:14 +05:00
lsv
c01b1118f0 Added rule "subroutine_reference" for PCRE editor.
Подсветка синтаксиса добавлена для этого правила PCRE.
2025-01-04 22:52:38 +05:00
lsv
4f1d21ef4a Add Align option "Remove multi spaces".
Добавлена опция заменяющая несколько пробелов на один.
2024-12-24 20:00:37 +05:00
lsv
5ee53e086f New features of the Query Editor
1. Добавлена возможность быстрой подстановки слов на латинице по нажатию
   Alt+RIGHT. Возможность включается настройкой "Use word hints".
   Список слов составляется при загрузке запроса и по мере ввода новых слов.
2. Добавлена возможность заменять при выполнении запроса переменные вида
   $1, $2, ... или :variableName1 на пользовательские значения введённые
   в диалоге. Пока можно заменять переменные в запросах select,update,delete,insert.
   Перед отправкой запроса на сервер переменные заменяются простой текстовой заменой.
   Запрос который выполнен на сервере можно посмотреть на вкладке История.
   Возможность включается настройкой "Replace variables in a query".
   Выделить правой кнопкой выполненый запрос не получиться т.к. текст выполненого запроса
   и текст в редакторе будет отличаться.
2024-12-17 18:34:48 +05:00
lsv
f92c101ace New features UI query tools.
1. Добавлена подсветка строки с курсором. В настройках можно выбрать цвет фона.
2. Можно указать ширину курсора для раскладки отличной от 0x409 "En" (только Windows).
3. Исправлена проблема с выделением найденного UNICODE текста.
2024-12-10 09:52:52 +05:00
lsv
1ee0d14b09 UI navigate panel
В навигационной панели интервал запуска БД (от старта до готовности принимать подключения)
обозначается вертикальной цветной полоской.
Цвет указывается в json в параметре "startdbcolor".Если его там нет, добавьте его руками.
2024-12-10 09:52:21 +05:00
lsv
1f3c598d61 Save filter frmGridEditor
При открытии таблицы на редактирование с фильтром, значение заданного
фильтра сохраняется в pgadmin3opt.json.
Мелкие правки dlgTransformText
2024-12-10 09:51:51 +05:00
lsv
cbf43c7a1c Update version support PG. fix issue #50 2024-11-19 20:18:03 +05:00
lsv
feaaf49bc6 New features TransformText.
В строке замены дабавлены следующие возможности:
1. Добавлена подсветка групп.
   Только цвета заданные в настройке "colorGroup" . 13 цветов по умолчанию.
   Если использовано больше групп, добавьте цвета в pgadmin3opt.json
2. Добавлены пользовательские группы вида [ ].
   Группы (вида \g{n} и []) указанные в квадратных скобках проверяются на пустые значения и
   Если они ВСЕ пустые то всё выражение в [] считается пустой строкой.
   Скобки могут быть вложенными.
   Применяются для того что бы не выводить разделитель для пустой группы.
   Например: [\t \g{2}[\t \g{3}]]
3. Добавлена возможность не выводить содержимое группы.
   Для этого группу указывают так: \G{n}
   Применяется для замены текста на пользовательский.
   Например: [and not null\G{2}]
   Этот фрагмент выведет "and not null" если группа 2 не пустая иначе ""
4. Разносить текст замены можно на несколько строк.
   Переводы строк при замене игнорируются.
   Если нужно добавить перевод строк в текст замены нужно явно указать \n\r.
2024-11-13 11:25:28 +05:00
lsv
cfa8f8eebc Grants all db
Гранты для пользователя теперь отображаются для всех открытых БД.
2024-10-25 19:09:29 +05:00
lsv
67092541df Optimization
Оптимизация TopActivity.
2024-10-25 19:09:20 +05:00
lsv
eae0846942 Optimizr topactivity widget
Оптимизация CPU нагрузки, мелкие ошибки.
2024-10-08 07:38:16 +05:00
lsv
20d953e5df fix linux compile error 2024-10-01 14:23:20 +05:00
lsv
fd61d111d5 Add CPU wait 2024-09-29 15:58:35 +05:00
lsv
450c00ea90 Added collection of waiting events.
В окне "Status server" при получении информации о процессах добавлен сбор событий ожидания.
Должно быть установлено расширение pg_wait_sampling.
И правильно настроены параметры. Для примера минимальный размер буфера:
при частоте опроса 1 сек (1000мс), количестве процессов 100 (num_p),
pg_wait_sampling.history_period=10
Значение pg_wait_sampling.history_size = 1000 /10 * 100 = 10000
для 3-х кратного запаса можно взять 30000.
Ожидание ClientRead немного изменено и означает, ожидание данных от клиента в НАЧАТОЙ ТРАНЗАКЦИИ.
События ожидания можно сохранить в текстовый файл.
В настройках pgadmin3opt.json можно выбрать цвета для отдельных событий или отключить сбор.
2024-09-24 13:18:02 +05:00
lsv
1e121c1fa0 Add navigate panel log file.
В окне "Server Status" при просмотре лога сервера добавлена навигационная панель c маркерами.
Список доступных команд отображается по F1.
Работает только с CSV логами.
Загрузка лога с сервера вынесена в отдельное соединение с application_name='pgAdmin III LogReader'.
При закрытии основной программы может иногда потребоваться два нажания на кнопку "Закрыть" (при медленных соединениях и больших логах).
Это особенность реализации завершения потока LogReader.
2024-09-24 11:17:39 +05:00
lsv
763f587834 Add new dialog Transformation text.
В окне редактирования запросов можно вызвать диалог транформации текста (Ctrl+M).
Где при помощи PCRE регулярных выражений можно изменить выделенный текст или текст из буфера обмена.
Регулярные выражения имеют подсветку синтаксиса и подсветку найденных групп.
В выражении замены можно ссылаться на найденные группы при помощи \g{номер_группы}
Настройки цветов можно редактировать в pgadmin3opt.json файле.
2024-09-24 11:17:15 +05:00
lsv
61a5b78bc8 New control ctlStyledText with RegExp hightligth
Добавлен элемент для редактирования RegExp выражений с подсветкой.
По цвету сделан похожим на regex101.com.
Для разбора выражений использовалась грамматика
https://github.com/bkiers/pcre-parser/blob/master/src/main/antlr4/nl/bigo/pcreparser/PCREParser.g4
2024-09-24 11:16:58 +05:00
lsv
c981b6b84f New control ctlTreeJSON
Добавлен новый элемент для редактирования JSON файла pgadmin3opt.json
Этот файл используется для хранения настроек навигационной панели лог файла(ctlNavigatePanel),
хранения конфигураций диалога трансформации текста(dlgTransformText), настройки событий ожиданий(WaitSample).
2024-09-24 11:16:39 +05:00
lsv
44ca0e5ede Fix issue#44. Show View Query editor on linux.
Исправлено расположение окон в перпективе редактора запросов для linux.
2024-08-29 18:52:31 +05:00
lsv
9902878806 fix crash app autocomplite
Приложение падало при вызове autocomplite если в тексте sql встречался
оператор is dictinct from.
В определении имён не учитавались вложенные скобки, что приводило
к неполному перечню полей в списке autocomplite.
2024-08-06 15:58:14 +05:00
lsv
b0e9e1bf84 Add json support for linux.
Добавлена поддержка json формата для Linux.
sysSetting поддерживает чтение/запись в файл расширенных настроек pgadmin3opt.json.
2024-08-06 15:57:32 +05:00
lsv
002eff4655 fix issue #42
Добавлена в "Вид по умолчанию" кнопка режима транзакций (T|A).
Раньше её там не было, что приводило к неадекватным размерам в не которых случаях.
Нажатие Ctrl+Alt+V приведёт всё в норму.
2024-06-19 18:56:00 +05:00
lsv
e2eeabf21c Add modificator Ctrl for popup menu "List columns header"
При нажатом Ctrl в буфер обмена копируются только имена столбцов с разделителем ",".
2024-06-17 20:39:40 +05:00
lsv
38b4b4a5ed Add table properties "Create table timestamp"
Для серверов с установленным track_commit_timestamp=on у таблиц можно определить время создания.
Это время равно значению запроса:
"select pg_xact_commit_timestamp(xmin) create_ts from pg_type where typrelid=$oid_table".
Если это время определить не удалось то "Create table timestamp" не отображается.
2024-06-17 20:37:23 +05:00
lsv
282cf08716 Add sql formatter
Добавлено встроенное форматирование Sql запросов.
Доработано автодополнение колонок.
Добавлено раскрытие <alias>.* в список колонок.
2024-06-17 20:31:29 +05:00
lsv
2d3f87edaa Add context help for PG functions.
Добавлен вызов контекстной помощи по именам функций Postgresql.
Для этого требуется:
1. в параметрах указать путь к html файлам документации.
2. выполнить скрипт _extract_func_help.pl для генерации файла _func.txt
3. разместить файл _func.txt в каталоге с документацией.

Для вызова помощи нужно выделить слово или выражение и нажать Ctrl+F1.
Можно просто нажать Ctrl+F1 и тогда для слова слева от курсора будет выведена справка.
Если слову соответсвует несколько функций они будут выведены в виде списка имен.

Для навигации в окне контекстной помощи:
 - закрыть окно или переместиться назад - правая кнопка мыши
 - выделить текст + правая кнопка - копировать выделение в буфер и закрыть окно.
 - нажатие ESC - закрытие окна.

Для отображения помощи используется  wxHtmlWindow https://docs.wxwidgets.org/latest/overview_html.html.
2024-05-06 19:31:52 +05:00
lsv
2d7ac600c0 fix deprecated warning 2024-02-06 08:34:42 +05:00
lsv
f8b017ad45 fix warning 2024-02-05 18:50:57 +05:00
Andrei Astafev
c75280a8de Change encoding from CP1251 to UTF-8 2024-02-05 18:50:16 +05:00
lsv
79ec6fb6a3 add kwlist.h for linux 2024-02-04 12:23:35 +05:00
Andrei Astafev
dbadcdc588 Fix destructor definition 2024-02-04 10:36:36 +05:00
Andrei Astafev
982afe2c5e Fix headers to support Linux 2024-02-04 10:36:36 +05:00
lsv
49c177be6b fix lost focus SQL editor.
При потере фокуса окна редактора запроса,
вернуть его можно было только нажав на окно левой кнопкой мыши.
Теперь это можно сделать нажав на имя закладки.
2024-02-02 19:15:54 +05:00
lsv
075347b1c3 Add action Compare 2 Cells
При помощи команды можно сравнить 2 не пустые ячейки в результах запроса.
2024-02-02 19:12:20 +05:00
lsv
9ed52ed044 Show column parameters for the FDW table. 2023-12-11 20:13:06 +05:00
lsv
c139994efa Add AWR report
Если установлено расширение pgpro_pwr в схему profile, то появляется возможность
получить для базы данных AWR отчет.
Отчет формируется функциями get_report и get_diffreport.
2023-10-27 22:54:20 +05:00
lsv
bce303c437 fix #38. Add options "Quick jump to the root node" and "Auto save query text".
Первая предназначена для отключения/включения быстрого перемещения к корневым узлам.
Вторая для отключения/включения автоматического сохранения закладок в Query Tool.
После отключения авто сохранения возможно понадобиться вручную очистить каталог
с сохранёнными закладками %APPDATA%\postgresql\recovery
2023-10-25 21:12:04 +05:00
lsv
0093e3676c Add extend options in connstr.
Для сервера можно добавить дополнительные параметры подключения.
В настройка сервера на закладке "Дополнительно" в поле "Connect str"
2023-10-13 21:29:41 +05:00
lsv
e23903504e Add ellipsize in gridcell
Для знанчений, которые не могут быть отображены полностью в ячейке результата,
то справа или слева выводиться "..."
2023-10-13 21:29:10 +05:00
lsv
cff9271f49 Change version string
Исправлена отображаемая в диалоге версия.
Мелкие исправления оформления.
2023-09-27 20:09:48 +05:00
lsv
fc71d91348 frmLog change. The database survey has been moved to a separate thread.
Опрос баз данных перенесен из GUI потока в отдельный поток.
2023-09-27 20:09:22 +05:00