summaryrefslogtreecommitdiffstats
path: root/Plugins/SqlEnterpriseFormatter/formatexpr.cpp
diff options
context:
space:
mode:
authorLibravatarUnit 193 <unit193@unit193.net>2021-12-17 07:06:30 -0500
committerLibravatarUnit 193 <unit193@unit193.net>2021-12-17 07:06:30 -0500
commit1fdc150116cad39aae5c5da407c3312b47a59e3a (patch)
tree123c79a4d7ad2d45781ba03ce939f7539fb428d8 /Plugins/SqlEnterpriseFormatter/formatexpr.cpp
parentfeda8a7db8d1d7c5439aa8f8feef7cc0dd2b59a0 (diff)
New upstream version 3.3.3+dfsg1.upstream/3.3.3+dfsg1
Diffstat (limited to 'Plugins/SqlEnterpriseFormatter/formatexpr.cpp')
-rw-r--r--Plugins/SqlEnterpriseFormatter/formatexpr.cpp21
1 files changed, 21 insertions, 0 deletions
diff --git a/Plugins/SqlEnterpriseFormatter/formatexpr.cpp b/Plugins/SqlEnterpriseFormatter/formatexpr.cpp
index e79995f..53c7421 100644
--- a/Plugins/SqlEnterpriseFormatter/formatexpr.cpp
+++ b/Plugins/SqlEnterpriseFormatter/formatexpr.cpp
@@ -4,6 +4,7 @@
#include "parser/ast/sqlitecolumntype.h"
#include "parser/ast/sqliteselect.h"
#include "parser/ast/sqliteraise.h"
+#include "parser/ast/sqlitefilterover.h"
#include "sqlenterpriseformatter.h"
QRegularExpression FormatExpr::WORD_ONLY_RE = QRegularExpression("^[a-zA-Z]+$");
@@ -82,6 +83,8 @@ void FormatExpr::formatInternal()
withFuncId(expr->function).withParFuncLeft();
if (expr->distinctKw)
withKeyword("DISTINCT");
+ else if (expr->allKw)
+ withKeyword("ALL");
if (expr->star)
withOperator("*").withParFuncRight();
@@ -90,6 +93,24 @@ void FormatExpr::formatInternal()
break;
}
+ case SqliteExpr::Mode::WINDOW_FUNCTION:
+ {
+ withFuncId(expr->function).withParFuncLeft();
+ if (expr->distinctKw)
+ withKeyword("DISTINCT");
+ else if (expr->allKw)
+ withKeyword("ALL");
+
+ if (expr->star)
+ withOperator("*").withParFuncRight();
+ else
+ withStatementList(expr->exprList, "funcArgs", FormatStatement::ListSeparator::EXPR_COMMA).withParFuncRight();
+
+ if (expr->filterOver)
+ withStatement(expr->filterOver);
+
+ break;
+ }
case SqliteExpr::Mode::SUB_EXPR:
withParExprLeft().withStatement(expr->expr1).withParExprRight();
break;