Commit graph

91 commits

Author SHA1 Message Date
lsv
9f39f034c9 Bookmark color save pgadmin3opt.json 2025-10-17 10:48:55 +05:00
lsv
0f91ec5e67 fix warning for mingw32 2025-10-16 09:24:07 +05:00
lsv
9a408df26e fix html escape char 2025-10-08 11:15:21 +05:00
lsv
f0475130ed GTK visual optimization 2025-10-03 09:53:28 +05:00
lsv
c78b09ad2e Fast dlgTable for GTK. Fix errors. 2025-09-24 12:02:10 +05:00
lsv
e65781aa65 Support compile mingw32 2025-09-23 16:20:12 +05:00
lsv
cc47a8ef7b Change color 2025-09-22 08:50:53 +05:00
lsv
610ca20d56 fix. support unicode. 2025-09-17 15:26:33 +05:00
lsv
c36176aafa Marking selected text with color by pressing Ctrl-B.
Выделенный текст можно отметить цветом. Снятия выделения повторным нажатием.
При нажатии без выделения текста, циклический переход к выделенному тексту ниже.
2025-09-17 15:13:41 +05:00
levinsv
7d24d91b0f fix start db intervals.
В навигационной панели добавлены менее строгие условия поиска интервалов
запуска БД. Добавлен вариант перезапуска инициированый postmaster.
2025-09-08 11:37:23 +05:00
levinsv
d5a1c70f7b fix show find mark.
При отсутсвиии маркеров ошибок, маркеры поиска не отображались
в навигационной панели.
2025-08-25 15:56:23 +05:00
levinsv
a77fcfcd5a Autocomplite, server status, publications
Добавлен контроль прав доступа на select для таблиц и представления
при ипользовании автодополнения.
Добавлен контроль доступа при пролучении информации о подписках.
Добалена совместимость с более ранними версиями при получении информации
о публикациях.
При получении логов в окне "Статус сервера" добавлена проверка наличия прав на используемые функции при получении файлы логов.
Мелкие правки при работе с автодополнениями в окне запросов.
2025-08-18 15:53:25 +05:00
lsv
295b7f97d1 Fixes and improvements (fmrReport)
1. Сортировка колонок на вкладках Статистика сохряняется по возможности.
2. Узлы плана которые помечены как (never executed) не подсвечиваются.
3. При построении плана всегда добавляется опция "SUMMARY on"
4. Исправлено не корректное отображение зависимостей для таблиц из публикаций.
5. В отчетах о статистике добавлена итоговая информация по таблицам отчета.
2025-08-14 19:34:30 +05:00
lsv
55080c0161 fix crash pgadmin3
Исправлена ошибка которая стала появлятся после новых изменений.
Ошибка вызвана особенностями работы диалоговых окон.
2025-08-06 10:00:37 +05:00
lsv
077de1ad7c Extended hints
В результатах запроса, нажатием правой кнопки мыши можно вызвать окно
подсказки, с возможностью выделения содержимого и его копирования (Rbutton).
2025-07-31 20:57:13 +05:00
lsv
60f519e38e fixed bugs in the Linux version and performance
Исправлены пути к файлам для AWR отчетов и сохранения фильтров Log View.
Исправлена падение при вызове "Script Recreate Cascade".
Убрано повтороное назначение Ctrl-G для "View Filtered Rows" теперь вызов происходит по Ctrl-F.
Исправлена работа ctlComboBox.
Для повышение производительности отключен поиск не парной скобки для текстов запросов
более 100000 байт.
2025-04-16 19:29:11 +05:00
lsv
5aeb93b625 Optimization for linux.
Исправлено форматирование и учтены особенности GTK для корректного
отображения Log View.
2025-03-27 22:08:54 +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
e7f545e444 Linux optimization for frmStatus.
В окне "Status Server" снижено мерцание при обновлении строк активных процессов.
Была добавлена фиктивная строка в конец списка процессов при использовании фильтра.
В ctlSQLGrid добавлена проверка на совпадение цветов сетки и заголовков строк.
2025-03-18 20:09:07 +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
38f4510342 Add view MAINTAIN privilege
Добавлена поддержка отображения новой привелегии MAINTAIN.
2025-01-21 10:16:11 +05:00
lsv
40a2623647 Fixed the background of the line title where the cursor is located.
Изменение фона заголовка строки с курсором более корректное.
2025-01-04 23:03:55 +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
72eee5fe28 fix UI autocomplite
Изменён порядок колонок при подстановке alias.* на порядок
 указаный при создании таблицы.
2024-12-10 09:52:12 +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
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
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
ced0a59375 fix issue #43
Потерялся event.Skip() в обработчике ctlSQLGrid::OnCellRightClick
из-за чего нажатие правой кнопки на ячейке не доходило вышестоящим обработчикам.
2024-06-19 18:54:49 +05:00
lsv
e2eeabf21c Add modificator Ctrl for popup menu "List columns header"
При нажатом Ctrl в буфер обмена копируются только имена столбцов с разделителем ",".
2024-06-17 20:39:40 +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
9f3cfacf96 fix LONG_PTR 2024-02-06 09:05:59 +05:00
lsv
2d7ac600c0 fix deprecated warning 2024-02-06 08:34:42 +05:00
Andrei Astafev
c75280a8de Change encoding from CP1251 to UTF-8 2024-02-05 18:50:16 +05:00
lsv
1b9c403a72 fix autoselect query
Если в многострочном комментарии встрачался символ ";"
то он ошибочно считался окончанием запроса.
2024-02-02 19:13:44 +05:00
lsv
075347b1c3 Add action Compare 2 Cells
При помощи команды можно сравнить 2 не пустые ячейки в результах запроса.
2024-02-02 19:12: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
4d7ed843aa Small changes COPY_TABLEHTML
Добавил возможность выбирать отдельные строки для копирования.
2023-10-25 21:00:56 +05:00