aboutsummaryrefslogtreecommitdiffstats
path: root/Plugins/SqlEnterpriseFormatter/formatexpr.cpp
diff options
context:
space:
mode:
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;