Commit graph

174 commits

Author SHA1 Message Date
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
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
560bf4c080 Change support version 2025-11-16 12:28:18 +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
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
7db41df697 Press ESC close context help window (Linux) 2025-10-15 11:31:54 +05:00
lsv
5f8e21d794 fix compile error for linux 2025-10-15 09:32:13 +05:00
lsv
51ec580dce PG18 support, enfoced, virtual cols 2025-10-03 14:56:27 +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
ece60b55de View change last timestamp for functions
Выводит время последнего изменения функции/процедуры, если включено track_commit_timestamp=on.
2025-09-12 14:59:39 +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
20ff51db29 fix publication
Исправлен вывод SQL команд создания публикаций.
2025-08-14 19:35:28 +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
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