Commit graph

57 commits

Author SHA1 Message Date
lsv
42c20fdf53 fix bug clipboard for linux 2026-04-20 16:37:50 +05:00
lsv
5218e8c953 fix GTK bug
Нажатие правой кнопки не передавалось окну.
2026-04-13 18:44:52 +05:00
lsv
d47a0fb61c Support hotkey for context help window.
Улучшена поддержка клавиши для навигации в контекстной справке.
Краткий список:
PAGEDOWN,PAGEUP,UP,DOWN,HOME,END - скроллинг окна.
+ - увеличить размер окна.
S - screenshot контекстной справки.
C - копирование в html формате.
2026-04-13 15:03:25 +05:00
lsv
15e2fb00ad fix for linux 2026-03-18 09:09:34 +05:00
lsv
2cde1c04f4 Auto execute plugin puttyforward for linux.
При наличии такого плагина:
```
; SSH (Unix): tunnel putty forward
;
Title=[Putty tunnel forward]
Command=putty -load "$$TITLE"
appliesto=puttyforward
Description=Putty forward tunnel from local port.
KeyFile=
Platform=unix
ServerType=postgresql
Database=No
SetPassword=No
;
```
При попытке подключения к БД если существует конфигурация
туннеля описанного в putty то будет проверятся наличие открытого порта на localhost
и если он закрыт то запускается выше указанный плагин для организации туннеля.
2026-03-17 11:57:33 +05:00
lsv
903fd8ea9e fix 2026-03-04 16:02:27 +05:00
lsv
9571d4527a support single quote for PreviewHtml 2026-03-04 15:34:39 +05:00
lsv
2989801a84 Copy screenshot context help press 's'.fix asserts.
Копирование окна контекстной помощи в буфер обмена по нажатию 's'.
2026-03-04 11:53:56 +05:00
lsv
e54809faf2 Add help for options pgadmin3opt.Press Ctrl+F1 2026-03-03 10:18:09 +05:00
lsv
c1b222ee43 Zoom in on the contexl help window by press "+" 2026-03-03 10:15:09 +05:00
lsv
f434a890fe In the query results, integers can be viewed in a human-readable form.
В расширенном представлении ячейки большие числа будут показаны в удобочитаемом виде.
2026-02-27 12:12:37 +05:00
lsv
90c328085e A hotkey Ctrl-F1 to JSON options.
Добавлена справка "Ctrl-F1" по командам редактирования настроек JSON.
2026-02-27 12:08:43 +05:00
lsv
409bcc95ce Limitation of the coloring of hints in the query results.
Ограничения добавлены для повышения производительности.
Раскраска отключается при размерах строки более 32000 символа (MAX_TEXT_LEN_COLORIZE)
При более 500000 вызывается диалог подтверждения вывода окна подказки (MAX_TEXT_LEN_WARNING).
Вывод подказки для csv пока не ограничен.
2025-12-24 16:06:33 +05:00
lsv
1156992cc4 The method of copying in the context help has been changed.
Для Linux для копирования выделеного текста нажать Ctrl+C это стандартное поведение элемента.
Для Windows используется старый способ правая кнопка мыши.
2025-12-12 17:22:39 +05:00
lsv
d64fe4d6c2 Navigation keys in the context help.
Добавлен по страничный скроллинг (PgDn,PgUp), строчный (Up,Down) и начало,конец текста (Home,End).
2025-12-03 15:14:56 +05:00
lsv
8df9354b4c Correction of the lost ";" during formatting SQL.
При форматировании SQL терялся символ ";". Мелкие правки для перевода сообщений.
2025-12-02 15:21:11 +05:00
lsv
20e91cda3c Using anchors in the function help.
Добавлена возможность использовать файлы справки на прямую, но с учётом структуры справки Postgresql.
2025-12-02 13:54:25 +05:00
lsv
1f7decd73f Added the possibility of contextual help on user functions.
Добавлена возможность просмотра скриптов создания пользовательских объектов
в контестной помощи. В скриптах имена других объектов заменяются на ссылки.
Описание Readme.md
2025-11-21 16:23:26 +05:00
lsv
ffeda8c9b6 Add align option Compat view for All Line mode. Some optimuzation.
Добавлена опция Compat view для All Line режима. В некоторых случаях она делает более красивое выравнивание.
Для примера:
f(iObjId,  1073,'text',null  )  ;
f(iObjId+1,130 ,'te'  ,iObjId)  ;
f(iObjId+2,1   ,'te2' ,iObjId+1);

Исправлено добавление пробелов в конце строки в режиме All Line.
2025-11-11 10:26:39 +05:00
lsv
7db41df697 Press ESC close context help window (Linux) 2025-10-15 11:31:54 +05:00
lsv
e65781aa65 Support compile mingw32 2025-09-23 16:20:12 +05:00
levinsv
f02ecba5b4 Add hightlight event frmStatus
1. Добавлена подсветка клиентов c окрытой транзакцией превышающей время idle_in_transaction_session_timeout.
   Цвет выбирается в настройках.
2. Добавлен фильтр показывающий только строки с подсветкой.
2025-08-19 16:25:26 +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
077de1ad7c Extended hints
В результатах запроса, нажатием правой кнопки мыши можно вызвать окно
подсказки, с возможностью выделения содержимого и его копирования (Rbutton).
2025-07-31 20:57:13 +05:00
lsv
c2c44c18f1 Using Pk to self-intersrc tables.
Для автоподстановки PK используется для соединения таблиц самих с собой.
2025-07-31 20:50:47 +05:00
lsv
431017de6b Converting servers information to a Linux file format.
Для переноса информации на линукс версию можно выполнить pgAdmin3.exe с
ключем -el. В логе будет информацио а о файле где была сохранена информация.
2025-03-18 19:34:04 +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
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
1f3c598d61 Save filter frmGridEditor
При открытии таблицы на редактирование с фильтром, значение заданного
фильтра сохраняется в pgadmin3opt.json.
Мелкие правки dlgTransformText
2024-12-10 09:51:51 +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
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
763f587834 Add new dialog Transformation text.
В окне редактирования запросов можно вызвать диалог транформации текста (Ctrl+M).
Где при помощи PCRE регулярных выражений можно изменить выделенный текст или текст из буфера обмена.
Регулярные выражения имеют подсветку синтаксиса и подсветку найденных групп.
В выражении замены можно ссылаться на найденные группы при помощи \g{номер_группы}
Настройки цветов можно редактировать в pgadmin3opt.json файле.
2024-09-24 11:17:15 +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
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
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
4ffd790d48 Beautiful big numbers
Можно включить более понятное отображение больших чисел на странице Статистика.
Для этого устновите флажок "Beautiful big numbers on the statistics page"

Небольшие исправления в диалоге выбора соединения (dlgSelectConnection.cpp)
2023-08-06 17:42:50 +05:00
lsv
6f7e04671e Add new option "Hide query history"
Добавлена возможность скрыть строку с историей запросов.
История зпросов будет сохраняться вне зависимости от это опции.
2023-08-02 20:13:29 +05:00
lsv
de9f725b13 Draw DBname in browse
Для улучшения наглядности и понимания в какой БД мы находимся в строке
браузера объектов при выделении элемента будет напротив отображаться имя
БД. Это поведение можно отключить в настройках.
2023-05-23 14:09:21 +05:00
lsv
c197ea45c1 List alignment algorithm
Добавлен в проект выравниватель списков IN и других упорядоченных данных.
Вызывается комбинацией Ctrl+Shift+A (если внешний выравниватель не задан).
Интегрировать код выравнивателя пришлось из-за бага wxWidgets.
Ошибочное поведение появляется при вызове внешних утилит,
если им передаётся большой объём текста (более 6 кб).
Выравниватель может зациклиться на произвольных наборах данных.
Используйте с осторожностью.
Выравниватель имеет диалог настройки работы:
При выборе первого пункта диалога все переводы строк остаются как есть.
При выборе второго пункта первая строка будет образцом длинны
и под неё будут подгонятся все прочие строки.
Первый вариант используется для выравнивания insert команд.
Второй для списков IN.
Третий параметр используется, если иногда встречаются короткие строки алгоритм пытается найти выше строку которая больше или равна
текущей.
Например эти строки будут смотреться лучше:
int rs = 0;
int ls = 0;
int type = 0;
int up_item = -1;
bool br = false;
private:
int align = LEFT;
int maxlen = 0;
wxString it;
2023-05-22 21:38:14 +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