Skip to content

Commit c3d9e48

Browse files
committed
run sql query for any exception
Signed-off-by: dbulahov <[email protected]>
1 parent cfcc571 commit c3d9e48

File tree

4 files changed

+15
-10
lines changed

4 files changed

+15
-10
lines changed

common/src/main/java/org/eclipse/daanse/olap/connection/ConnectionBase.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -114,15 +114,16 @@ public QueryComponent parseStatement(
114114
parser = getContext().getMdxParserProvider().newParser(queryToParse, funTable.getPropertyWords());
115115
MdxStatement mdxStatement = parser.parseMdxStatement();
116116
return getQueryProvider().createQuery(statement, mdxStatement, strictValidation);
117-
} catch (MdxParserException mdxPE) {
117+
} catch (Exception mdxPE) {
118118

119119
Optional<SqlGuardFactory> oSqlGuardFactory = getContext().getSqlGuardFactory();
120120
if (oSqlGuardFactory.isEmpty()) {
121121
throw new FailedToParseQueryException(queryToParse, mdxPE);
122122
} else {
123123
List<DatabaseSchema> ds = (List<DatabaseSchema>) this.getCatalogReader().getDatabaseSchemas();
124124
org.eclipse.daanse.sql.guard.api.elements.DatabaseCatalog dc = new DatabaseCatalogImpl("", ds);
125-
SqlGuard guard = oSqlGuardFactory.get().create("", "", dc, List.of(), this.getContext().getDialect());
125+
//TODO need resolve function list from other place
126+
SqlGuard guard = oSqlGuardFactory.get().create("", "", dc, List.of("sum", "avg", "min", "max", "count", "concat"), this.getContext().getDialect());
126127
// TODO add white list functions
127128
try {
128129
String sanetizedSql = guard.guard(queryToParse);

common/src/test/java/org/eclipse/daanse/olap/function/def/crossjoin/CrossJoinTest.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@
3232
import java.util.Collections;
3333
import java.util.Comparator;
3434
import java.util.List;
35+
import java.util.Optional;
3536

3637
import org.eclipse.daanse.mdx.model.api.expression.operation.FunctionOperationAtom;
3738
import org.eclipse.daanse.mdx.model.api.expression.operation.OperationAtom;
@@ -64,6 +65,7 @@
6465
import org.eclipse.daanse.olap.function.core.FunctionParameterR;
6566
import org.eclipse.daanse.olap.query.component.ResolvedFunCallImpl;
6667
import org.eclipse.daanse.olap.api.execution.ExecutionContext;
68+
import org.eclipse.daanse.olap.api.execution.ExecutionMetadata;
6769
import org.eclipse.daanse.olap.execution.ExecutionImpl;
6870
import org.junit.jupiter.api.AfterEach;
6971
import org.junit.jupiter.api.BeforeEach;
@@ -137,7 +139,8 @@ void testListTupleListTupleIterCalc() {
137139
when(rolapConnection.getContext()).thenReturn(context);
138140
when(statement.getDaanseConnection()).thenReturn(rolapConnection);
139141
when(excMock.getDaanseStatement()).thenReturn(statement);
140-
ExecutionContext executionContext = mock(ExecutionContext.class);
142+
ExecutionMetadata executionMetadata = mock(ExecutionMetadata.class);
143+
ExecutionContext executionContext = ExecutionContext.root(Optional.empty(), executionMetadata);
141144
when(excMock.asContext()).thenReturn(executionContext);
142145
CrossJoinIterCalc calc =
143146
new CrossJoinIterCalc( getResolvedFunCall(), null, crossJoinFunDef.getCtag() );

format/src/test/java/org/eclipse/daanse/olap/format/FormatterFactoryTest.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -44,16 +44,16 @@ class FormatterFactoryTest {
4444
void shouldCreateFormatterByClassName() {
4545
FormatterCreateContext cellFormatterContext =
4646
new FormatterCreateContext.Builder("name")
47-
.formatterAttr("org.eclipse.daanse.rolap.common.format.CellFormatterTestImpl")
47+
.formatterAttr("org.eclipse.daanse.olap.format.CellFormatterTestImpl")
4848
.build();
4949
FormatterCreateContext memberFormatterContext =
5050
new FormatterCreateContext.Builder("name")
51-
.formatterAttr("org.eclipse.daanse.rolap.common.format.MemberFormatterTestImpl")
51+
.formatterAttr("org.eclipse.daanse.olap.format.MemberFormatterTestImpl")
5252
.build();
5353
FormatterCreateContext propertyFormatterContext =
5454
new FormatterCreateContext.Builder("name")
5555
.formatterAttr(
56-
"org.eclipse.daanse.rolap.common.format.PropertyFormatterTestImpl")
56+
"org.eclipse.daanse.olap.format.PropertyFormatterTestImpl")
5757
.build();
5858

5959
CellFormatter cellFormatter =
@@ -109,18 +109,18 @@ void shouldCreateFormatterByScript() {
109109
void shouldCreateFormatterByClassNameIfBothSpecified() {
110110
FormatterCreateContext cellFormatterContext =
111111
new FormatterCreateContext.Builder("name")
112-
.formatterAttr("org.eclipse.daanse.rolap.common.format.CellFormatterTestImpl")
112+
.formatterAttr("org.eclipse.daanse.olap.format.CellFormatterTestImpl")
113113
.script("return null;", "JavaScript")
114114
.build();
115115
FormatterCreateContext memberFormatterContext =
116116
new FormatterCreateContext.Builder("name")
117-
.formatterAttr("org.eclipse.daanse.rolap.common.format.MemberFormatterTestImpl")
117+
.formatterAttr("org.eclipse.daanse.olap.format.MemberFormatterTestImpl")
118118
.script("return null;", "JavaScript")
119119
.build();
120120
FormatterCreateContext propertyFormatterContext =
121121
new FormatterCreateContext.Builder("name")
122122
.formatterAttr(
123-
"org.eclipse.daanse.rolap.common.format.PropertyFormatterTestImpl")
123+
"org.eclipse.daanse.olap.format.PropertyFormatterTestImpl")
124124
.script("return null;", "JavaScript")
125125
.build();
126126

xmla/bridge/src/test/java/org/eclipse/daanse/olap/xmla/bridge/ContextGroupXmlaService_OSGiServiceTest.java renamed to xmla/bridge/src/test/java/org/eclipse/daanse/olap/xmla/bridge/integration/ContextGroupXmlaService_OSGiServiceTest.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,9 @@
1111
* SmartCity Jena - initial
1212
* Stefan Bischof (bipolis.org) - initial
1313
*/
14-
package org.eclipse.daanse.olap.xmla.bridge;
14+
package org.eclipse.daanse.olap.xmla.bridge.integration;
1515

16+
import org.eclipse.daanse.olap.xmla.bridge.ContextGroupXmlaService;
1617
import org.eclipse.daanse.xmla.api.XmlaService;
1718
import org.junit.jupiter.api.Test;
1819
import org.junit.jupiter.api.extension.ExtendWith;

0 commit comments

Comments
 (0)