mirror of
https://github.com/levinsv/pgadmin3.git
synced 2026-05-15 14:15:49 -06:00
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 команды и после редактирования шаблона
запрос нужно выполнить повторно.
This commit is contained in:
parent
087ad55c34
commit
a8ddbc4999
8 changed files with 235 additions and 10 deletions
|
|
@ -34,7 +34,6 @@ public:
|
|||
}
|
||||
int CopyTableToHtml(wxString htmlquery);
|
||||
int Copy(int gensql);
|
||||
|
||||
virtual bool CheckRowPresent(int row)
|
||||
{
|
||||
return true;
|
||||
|
|
@ -62,7 +61,7 @@ public:
|
|||
wxString GetRowLabelValue(int row);
|
||||
void SetRowGroup(int row);
|
||||
GroupRows* grp;
|
||||
int generatesql; // 0 -<EFBFBD><EFBFBD><EFBFBD>, 1 - insert , 2 - in_list
|
||||
int generatesql; // 0 -copy, 1 - insert , 2 - in_list, 3 - where list
|
||||
wxString sqlquerytext;
|
||||
// Fast searh
|
||||
wxString searchStr;
|
||||
|
|
|
|||
|
|
@ -52,6 +52,8 @@ public:
|
|||
wxString AutoColsPlot(int flags,frmQuery *parent);
|
||||
wxString CheckSelColumnDate();
|
||||
wxString CopySelColumnNameType(bool onlyname);
|
||||
wxString GenerateTemplate(wxString &templ,int action);
|
||||
|
||||
void ClearFilter();
|
||||
bool IsColText(int col);
|
||||
bool hasRowNumber()
|
||||
|
|
@ -95,6 +97,7 @@ public:
|
|||
sqlResultTable();
|
||||
wxString GetValue(int row, int col);
|
||||
wxString GetValueFast(int row, int col);
|
||||
wxString GetValueWithNull(int row, int col, bool *isnull);
|
||||
wxString GetRowLabelValue( int row ) ;
|
||||
int GetNumberRows();
|
||||
int GetNumberCols();
|
||||
|
|
|
|||
|
|
@ -127,6 +127,7 @@ private:
|
|||
ctlAuiNotebook *outputPane;
|
||||
wxString outputPaneInfo;
|
||||
ctlSQLResult *sqlResult;
|
||||
wxArrayString body_template,title_template; // @gen:title menu:body generator @column_name@ end
|
||||
#define MAX_RESULT_COUNT 10
|
||||
ctlSQLResult *ctlSQL[MAX_RESULT_COUNT];
|
||||
ctlSQLBox *ctlSBox[MAX_RESULT_COUNT];
|
||||
|
|
@ -220,6 +221,7 @@ private:
|
|||
void OnCopy_InList(wxCommandEvent& event);
|
||||
void OnCopy_WhereList(wxCommandEvent& event);
|
||||
void OnCopy_TableToHtml(wxCommandEvent& ev);
|
||||
void OnGenerateTemplate(wxCommandEvent& ev);
|
||||
void OnClear_Filter(wxCommandEvent &event);
|
||||
void OnCopy_NameTypeCols(wxCommandEvent& ev);
|
||||
void OnCheck_Column_Date(wxCommandEvent& ev);
|
||||
|
|
@ -288,6 +290,7 @@ private:
|
|||
void OnAutoEditObject(wxCommandEvent &event);
|
||||
void SetEOLModeDisplay(int mode);
|
||||
void OnMacroInvoke(wxCommandEvent &event);
|
||||
void OnGenerateInvoke(wxCommandEvent &event);
|
||||
void OnMacroManage(wxCommandEvent &event);
|
||||
void OnAutoReplaceManage(wxCommandEvent &event);
|
||||
void LoadQueries();
|
||||
|
|
|
|||
|
|
@ -166,8 +166,8 @@ enum
|
|||
// This is a dummy menu item
|
||||
MNU_DUMMY = QUERY_COMPLETE + 1000,
|
||||
|
||||
//Menu Test
|
||||
MNU_GENERATESQL
|
||||
//Menu Generate
|
||||
MNU_GENERATESQL = MNU_DUMMY + 200
|
||||
};
|
||||
|
||||
#endif
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue