diff options
Diffstat (limited to 'SQLiteStudio3/coreSQLiteStudio/selectresolver.h')
| -rw-r--r-- | SQLiteStudio3/coreSQLiteStudio/selectresolver.h | 20 |
1 files changed, 8 insertions, 12 deletions
diff --git a/SQLiteStudio3/coreSQLiteStudio/selectresolver.h b/SQLiteStudio3/coreSQLiteStudio/selectresolver.h index 1edfcb9..7640fc6 100644 --- a/SQLiteStudio3/coreSQLiteStudio/selectresolver.h +++ b/SQLiteStudio3/coreSQLiteStudio/selectresolver.h @@ -8,6 +8,7 @@ #include <QString> #include <QHash> #include <QStringList> +#include <QStack> class Db; class SchemaResolver; @@ -64,6 +65,9 @@ class API_EXPORT SelectResolver */ struct API_EXPORT Table { + Table(); + Table(const Table& other); + /** * @brief Database name. * @@ -72,16 +76,18 @@ class API_EXPORT SelectResolver QString database; QString originalDatabase; QString table; - QString alias; + QString tableAlias; + QStringList oldTableAliases; int flags = 0; int operator==(const Table& other); + void pushTableAlias(); }; /** * @brief Result column resolved by the resolver. */ - struct API_EXPORT Column + struct API_EXPORT Column : public Table { enum Type { @@ -92,22 +98,12 @@ class API_EXPORT SelectResolver Type type; /** - * @brief Database name. - * - * Either sqlite name, like "main", or "temp", or an attach name. - */ - QString database; - QString originalDatabase; - QString table; - - /** * @brief Column name or expression. * * If a column is of OTHER type, then column member contains detokenized column expression. */ QString column; QString alias; - QString tableAlias; QString displayName; bool aliasDefinedInSubQuery = false; int flags = 0; |
