Commit graph

67 commits

Author SHA1 Message Date
lsv
2583f616d9 fix warning clang 2026-03-18 09:09:01 +05:00
lsv
979d709843 Added division of digits for thousands. Only integers. Only Result query.
Для результатов запросов для целых чисел добавлено визуальное разделение тысяч.
Величина отделения задаётся в точках и храниться в pgadmin3opt.json
в параметре "thousandsWidthSeparator" раздела "ctlSQLGrid" разрешенные величины от -15 до 15.
Значение по умолчанию 0.
В отличии от стандартного разделителя тысяч этот влияет только на отображении чисел.
2026-02-25 14:38:09 +05:00
lsv
44988fa8dc Added a new command for the Log window that enable/disable the auto hint.
Добавлена команда (hotkey F9) отключение/включение автоматически всплывающих подсказок для лога сервера.
По умолчанию подсказки отключены.
Описание команды храниться в JSON в разделе LogNavigatePanel.
Добавляется после первого открытия окна лога сервера.
2026-02-06 17:33:54 +05:00
lsv
a8ddbc4999 Fix generate Insert SQL instruction. Copying result lines based on a template.
1. При некоторых настройках при генерации Insert инструкций, пустые строки заменялись на null.
   Этот коммит исправлет проблему.
2. Результаты запросов можно оформить произвольным образом используя шаблоны указанные в однострочных
   коментариях.
   Формат шаблона: --@gen:Имя шаблона в контестном меню результата:Тут текст шаблона - cols = @colname@,@colname2,a@\n
   Для добавлнения перевода строк в вывод можно использовать \n.
   Коментарии указывается в теле запроса (можно указать перед запросом).
   Можно указать строку из которой нужно сделать выбрать содержимое:
       @colname[-1]@ - содержимое колонки colname предыдущей строки(относительная адресация).
       @colname[0]@  - содержимое колонки colname 1 строки (или выделенного диапазона строк).
                       Адресация с начинается с 0. Это абсолютная адресация строк.
       @colname2,a@  - Указание что результат нужно будет выровнять.
                       Флаг "а" глобальный его можно указать у любой колонки.
       Флаги указываются в самом конце определения колонки после запятой. Пример: @col1[-1],a@

   Если перечень имен колонок запроса не совпадает со списком полей шаблона то шаблон не будет добавлен
   в контекстное меню Generate.
   Полученный текст копируется в буфер обмена.
   При генерации текста используются настройки "Вид кавычек" и "Что брать в кавычки".
   Шаблоны сохраняются перед выполнением SQL команды и после редактирования шаблона
   запрос нужно выполнить повторно.
2026-01-14 17:17:08 +05:00
lsv
087ad55c34 fix GUI for linux.
Исправления в отображения окна сравнения двух ячеек результата.
Размер панели инструмента в окне запросов увеличен до 32 при использовании svg иконок.
Функция для чтения логов приведена к одному виду (LogView).
2026-01-13 14:50:26 +05:00
lsv
9f6da5c40a Underlining the query results with a red line if they were truncated due to the set maximum column size.
Результаты запроса которые были усечены из-за превышения
максимального размера колонки будут подчёркнуты красной линией.
2025-12-24 16:19:17 +05:00
lsv
1f7decd73f Added the possibility of contextual help on user functions.
Добавлена возможность просмотра скриптов создания пользовательских объектов
в контестной помощи. В скриптах имена других объектов заменяются на ссылки.
Описание Readme.md
2025-11-21 16:23:26 +05:00
lsv
400cbc2cc7 Add autocomplite dlgFunction. Fix multibyte char support.
Добавлено использование автоподстановки в окно редактирования процедур и функции.
Добавлена поддержка UTF-8.
Добавлена поддержка unicode для идентификаторов.
Добавлено сохранение выбранных опций в диалоге Выравнивания.
2025-11-11 10:06:55 +05:00
lsv
183a800f45 Extended use shortcut
Быстрый поиск по F4 выполняется теперь не только по посещенным узлам, но и не явно по серверам и их хостам.
В выпадающем списке сервера не указываются, поиск производится при наборе фразы.
2025-10-24 15:12:01 +05:00
lsv
0f91ec5e67 fix warning for mingw32 2025-10-16 09:24:07 +05:00
lsv
5f8e21d794 fix compile error for linux 2025-10-15 09:32:13 +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
c36176aafa Marking selected text with color by pressing Ctrl-B.
Выделенный текст можно отметить цветом. Снятия выделения повторным нажатием.
При нажатии без выделения текста, циклический переход к выделенному тексту ниже.
2025-09-17 15:13:41 +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
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
96e23cc7b4 View tab simbol as arrow.
Если в результатах запроса есть символ \t то он отображается как стрелка.
2025-02-10 09:58:31 +05:00
lsv
c01b1118f0 Added rule "subroutine_reference" for PCRE editor.
Подсветка синтаксиса добавлена для этого правила PCRE.
2025-01-04 22:52:38 +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
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
e2eeabf21c Add modificator Ctrl for popup menu "List columns header"
При нажатом Ctrl в буфер обмена копируются только имена столбцов с разделителем ",".
2024-06-17 20:39:40 +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
Andrei Astafev
c75280a8de Change encoding from CP1251 to UTF-8 2024-02-05 18:50:16 +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
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
e23903504e Add ellipsize in gridcell
Для знанчений, которые не могут быть отображены полностью в ячейке результата,
то справа или слева выводиться "..."
2023-10-13 21:29:10 +05:00
lsv
641cbcf282 Add ShortCut functional
Появилась возможность быстрой навигации по дереву объектов.
При нажатии F4 появляется список с 50 последними элементами выбранными в дереве.
2023-09-27 19:49:20 +05:00
lsv
debed953cf Performance improvement and usability
Повышение производительности вывода результатов запроса и дерева объектов.
Мелкие исправления.
2023-06-29 21:00:44 +05:00
lsv
d07487eac9 Add support High DPI
Выполнен переход на wxWidgets 3.2 для улучшения поддержки DPI.
Также обновлена среда разработки до Microsoft Visual Studio 2022.
2023-06-25 18:36:16 +05:00
lsv
de9f725b13 Draw DBname in browse
Для улучшения наглядности и понимания в какой БД мы находимся в строке
браузера объектов при выделении элемента будет напротив отображаться имя
БД. Это поведение можно отключить в настройках.
2023-05-23 14:09:21 +05:00
lsv
2fbed7a6a4 Add alignment command
Добавлена возможность запуска внешней команды для выравнивания текста
по разделителям. На java написан скрипт для выравнивания списков
align.jar. Запускать командой @java.exe -jar <PATH>\align.jar
которую нужно поместить в bat файл
2023-05-02 22:17:29 +05:00
Rob
2354cdaa01 Support compile under Linux by disabling wxJSON and GIT stuff 2023-02-14 02:22:20 +01:00
lsv
83e372aae5 Add action CopyTableToHtml
Копирование результатов запроса в буфер обмена в виде таблицы html.
2023-02-02 10:46:33 +05:00