Добавлено два узла Partial GroupAggregate, Finalize GroupAggregate.
Добавлено наглядное представление Memoize.
Добавлена поддержка колеса мыши.
Если в план более 300 узлов, то включается оптимизация отрисовки и возможно появление
артефактов при прокрутке экрана.
1. Добавлена подстановка соединений таблиц(и представлений) по их FK.
Подстановка работает в двух вариантах:
1.1 После ключевого слова ON:самая правая таблица соединяется с любой левой.
1.2 После ключевого слова WHERE AND OR все таблицы соединяются со всеми.
2. Дополнение условия соединения после символа = .
Представления можно соединить только если поле представления является полем таблицы.
3. Стандартное автодополнение теперь выдаёт список таблиц и представление после JOIN.
1. Добавлена возможность быстрой подстановки слов на латинице по нажатию
Alt+RIGHT. Возможность включается настройкой "Use word hints".
Список слов составляется при загрузке запроса и по мере ввода новых слов.
2. Добавлена возможность заменять при выполнении запроса переменные вида
$1, $2, ... или :variableName1 на пользовательские значения введённые
в диалоге. Пока можно заменять переменные в запросах select,update,delete,insert.
Перед отправкой запроса на сервер переменные заменяются простой текстовой заменой.
Запрос который выполнен на сервере можно посмотреть на вкладке История.
Возможность включается настройкой "Replace variables in a query".
Выделить правой кнопкой выполненый запрос не получиться т.к. текст выполненого запроса
и текст в редакторе будет отличаться.
Если установлено расширение pgpro_pwr в схему profile, то появляется возможность
получить для базы данных AWR отчет.
Отчет формируется функциями get_report и get_diffreport.
Добавлен в проект выравниватель списков 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;
Для результатов запроса, можно построить график по трём колонкам:
L | X | Y
----------
L1 | x1| y1
L1 | x2| y2
L2 | x3| y3
L2 | x4| y4
...
Колонки должны быть отсортированы по L,X
Типы колонок:
L - текст (это легенда серии данных)
X - дата или числа
Y - числа
График строится по четырём и более колонкам (серии данных вертикальные):
X | L1| L2| ...| Lx
--------------------
x1| y1| y5|....| y.
x2| y2| y6|....| y.
x3| y3| y7|....| y.
x4| y4| y8|....| y.
Серии данных располагаются вертикально. Легенда это заголовок столбца
Колонка Х общая для всех серий.
При нажатии провой кнопкой на любой строке и колонке в окне Активность,
значение под мышью становиться точным фильтром для этой колонки.
Сбросить фильтр можно по кнопке в панели инструментов.