Commit graph

132 commits

Author SHA1 Message Date
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
lsv
9676013083 Change LogView indication
Имена недоступных серверов подсвечиваются.
Информационное окно об отсутствии соединения не показывается.
Таймаут между попытками установки соединения сокращен до 2 минут.
2023-09-27 19:49:45 +05:00
lsv
641cbcf282 Add ShortCut functional
Появилась возможность быстрой навигации по дереву объектов.
При нажатии F4 появляется список с 50 последними элементами выбранными в дереве.
2023-09-27 19:49:20 +05:00
lsv
0caf3dbf7f STORAGE clause support, COMPRESS clause support 2023-08-15 20:40:22 +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
d5388d72d7 PG16 support inherit_option, set_option
Добавлена поддержка новых опций для членов ролей.
2023-08-02 20:14:02 +05:00
lsv
6f7e04671e Add new option "Hide query history"
Добавлена возможность скрыть строку с историей запросов.
История зпросов будет сохраняться вне зависимости от это опции.
2023-08-02 20:13:29 +05:00
lsv
e320b2ebf2 fix GDI leaks 2023-07-30 10:33:41 +05:00
lsv
627311178c Add OnFatalException method
Добавил обработку аврийных завершений.
Мелкие правки.
2023-06-29 21:15:55 +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
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
Sergey
b5236a0b1a for linux compile
Исправления для компиляции под linux (ubunta)
2023-01-30 18:49:49 +05:00