From 1a3e3d3c40112d4dd92a6427eb84ad7fdbd4aa92 Mon Sep 17 00:00:00 2001 From: Martin Kleusberg Date: Mon, 4 Sep 2017 10:25:05 +0200 Subject: [PATCH] Support SQL auto-completion for tables from different schemata This improves commit 44eb2d4f9922fd1a854d959602c6a2455eab0dc5 by adding support for auto completion in the SQL editors for all tables that are not in the "main" schema. --- src/MainWindow.cpp | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/src/MainWindow.cpp b/src/MainWindow.cpp index ece791a7..0ab918a8 100644 --- a/src/MainWindow.cpp +++ b/src/MainWindow.cpp @@ -390,15 +390,18 @@ void MainWindow::populateStructure() return; // Update table and column names for syntax highlighting - objectMap tab = db.getBrowsableObjects("main"); SqlUiLexer::TablesAndColumnsMap tablesToColumnsMap; - for(auto it=tab.constBegin();it!=tab.constEnd();++it) + for(auto it=db.schemata.constBegin();it!=db.schemata.constEnd();++it) { - QString objectname = (*it)->name(); + objectMap tab = db.getBrowsableObjects(it.key()); + for(auto it=tab.constBegin();it!=tab.constEnd();++it) + { + QString objectname = (*it)->name(); - sqlb::FieldInfoList fi = (*it)->fieldInformation(); - foreach(const sqlb::FieldInfo& f, fi) - tablesToColumnsMap[objectname].append(f.name); + sqlb::FieldInfoList fi = (*it)->fieldInformation(); + foreach(const sqlb::FieldInfo& f, fi) + tablesToColumnsMap[objectname].append(f.name); + } } SqlTextEdit::sqlLexer->setTableNames(tablesToColumnsMap); ui->editLogApplication->reloadKeywords();