You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by vo...@apache.org on 2016/08/24 08:49:07 UTC
[15/19] ignite git commit: Minors.
Minors.
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/15873234
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/15873234
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/15873234
Branch: refs/heads/ignite-3716
Commit: 15873234dd68cb43fcda4f3de2e689484511ba26
Parents: 5e4dd65
Author: vozerov-gridgain <vo...@gridgain.com>
Authored: Tue Aug 23 16:32:15 2016 +0300
Committer: vozerov-gridgain <vo...@gridgain.com>
Committed: Tue Aug 23 16:32:15 2016 +0300
----------------------------------------------------------------------
.../processors/odbc/OdbcRequestHandler.java | 4 +-
.../odbc/escape/OdbcEscapeParseResult.java | 73 +++++
.../processors/odbc/escape/OdbcEscapeType.java | 26 ++
.../processors/odbc/escape/OdbcEscapeUtils.java | 265 +++++++++++++++++
.../processors/odbc/escape/OdbcParser.java | 291 -------------------
.../OdbcScalarFunctionEscapeSequenceTest.java | 36 +--
6 files changed, 384 insertions(+), 311 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/15873234/modules/core/src/main/java/org/apache/ignite/internal/processors/odbc/OdbcRequestHandler.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/odbc/OdbcRequestHandler.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/odbc/OdbcRequestHandler.java
index dd47a8e..b37beda 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/odbc/OdbcRequestHandler.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/odbc/OdbcRequestHandler.java
@@ -22,7 +22,7 @@ import org.apache.ignite.cache.query.QueryCursor;
import org.apache.ignite.cache.query.SqlFieldsQuery;
import org.apache.ignite.internal.GridKernalContext;
import org.apache.ignite.internal.processors.cache.QueryCursorImpl;
-import org.apache.ignite.internal.processors.odbc.escape.OdbcParser;
+import org.apache.ignite.internal.processors.odbc.escape.OdbcEscapeUtils;
import org.apache.ignite.internal.processors.query.GridQueryFieldMetadata;
import org.apache.ignite.internal.processors.query.GridQueryTypeDescriptor;
import org.apache.ignite.internal.util.GridSpinBusyLock;
@@ -161,7 +161,7 @@ public class OdbcRequestHandler {
long qryId = QRY_ID_GEN.getAndIncrement();
try {
- String sql = OdbcParser.parse(req.sqlQuery());
+ String sql = OdbcEscapeUtils.parse(req.sqlQuery());
SqlFieldsQuery qry = new SqlFieldsQuery(sql);
http://git-wip-us.apache.org/repos/asf/ignite/blob/15873234/modules/core/src/main/java/org/apache/ignite/internal/processors/odbc/escape/OdbcEscapeParseResult.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/odbc/escape/OdbcEscapeParseResult.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/odbc/escape/OdbcEscapeParseResult.java
new file mode 100644
index 0000000..cf05651
--- /dev/null
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/odbc/escape/OdbcEscapeParseResult.java
@@ -0,0 +1,73 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.ignite.internal.processors.odbc.escape;
+
+import org.apache.ignite.internal.util.typedef.internal.S;
+
+/**
+ * ODBC escape sequence parse result.
+ */
+public class OdbcEscapeParseResult {
+ /** Original start position. */
+ private final int originalStart;
+
+ /** Original length. */
+ private final int originalLen;
+
+ /** Resulting text. */
+ private final String res;
+
+ /**
+ * Constructor.
+ *
+ * @param originalStart Original start position.
+ * @param originalLen Original length.
+ * @param res Resulting text.
+ */
+ public OdbcEscapeParseResult(int originalStart, int originalLen, String res) {
+ this.originalStart = originalStart;
+ this.originalLen = originalLen;
+ this.res = res;
+ }
+
+ /**
+ * @return Original start position.
+ */
+ public int originalStart() {
+ return originalStart;
+ }
+
+ /**
+ * @return Original length.
+ */
+ public int originalLength() {
+ return originalLen;
+ }
+
+ /**
+ * @return Resulting text.
+ */
+ public String result() {
+ return res;
+ }
+
+ /** {@inheritDoc} */
+ @Override public String toString() {
+ return S.toString(OdbcEscapeParseResult.class, this);
+ }
+}
http://git-wip-us.apache.org/repos/asf/ignite/blob/15873234/modules/core/src/main/java/org/apache/ignite/internal/processors/odbc/escape/OdbcEscapeType.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/odbc/escape/OdbcEscapeType.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/odbc/escape/OdbcEscapeType.java
new file mode 100644
index 0000000..2df413f
--- /dev/null
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/odbc/escape/OdbcEscapeType.java
@@ -0,0 +1,26 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.ignite.internal.processors.odbc.escape;
+
+/**
+ * ODBC escape sequence type.
+ */
+public enum OdbcEscapeType {
+ /** Scalar function. */
+ FN
+}
http://git-wip-us.apache.org/repos/asf/ignite/blob/15873234/modules/core/src/main/java/org/apache/ignite/internal/processors/odbc/escape/OdbcEscapeUtils.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/odbc/escape/OdbcEscapeUtils.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/odbc/escape/OdbcEscapeUtils.java
new file mode 100644
index 0000000..b26b334
--- /dev/null
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/odbc/escape/OdbcEscapeUtils.java
@@ -0,0 +1,265 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.ignite.internal.processors.odbc.escape;
+
+import org.apache.ignite.IgniteException;
+
+import java.util.LinkedList;
+
+/**
+ * ODBC escape sequence parse.
+ */
+public class OdbcEscapeUtils {
+ /**
+ * Parse escape sequence.
+ *
+ * @param text Original text.
+ * @return Result.
+ */
+ public static String parse(String text) {
+ if (text == null)
+ throw new IgniteException("Text cannot be null.");
+
+ return parse0(text.trim(), 0, false).result();
+ }
+
+ /**
+ * Internal parse routine.
+ *
+ * @param text Text.
+ * @param startPos Start position.
+ * @param earlyExit When set to {@code true} we must return as soon as single expression is parsed.
+ * @return Parse result.
+ */
+ private static OdbcEscapeParseResult parse0(String text, int startPos, boolean earlyExit) {
+ StringBuilder res = new StringBuilder();
+
+ int curPos = startPos;
+
+ int plainPos = startPos;
+ int openPos = -1;
+
+ LinkedList<OdbcEscapeParseResult> nested = null;
+
+ while (curPos < text.length()) {
+ char curChar = text.charAt(curPos);
+
+ if (curChar == '{') {
+ if (openPos == -1) {
+ // Top-level opening brace. Append previous portion and remember current position.
+ res.append(text, plainPos, curPos);
+
+ openPos = curPos;
+ }
+ else {
+ // Nested opening brace -> perform recursion.
+ OdbcEscapeParseResult nestedRes = parse0(text, curPos, true);
+
+ if (nested == null)
+ nested = new LinkedList<>();
+
+ nested.add(nestedRes);
+
+ curPos += nestedRes.originalLength();
+
+ plainPos = curPos;
+
+ continue;
+ }
+ }
+ else if (curChar == '}') {
+ if (openPos == -1)
+ // Close without open -> exception.
+ throw new IgniteException("Malformed escape sequence " +
+ "(closing curly brace without opening curly brace): " + text);
+ else {
+ String parseRes;
+
+ if (nested == null)
+ // Found sequence without nesting, process it.
+ parseRes = parseExpression(text, openPos, curPos - openPos);
+ else {
+ // Special case to process nesting.
+ String res0 = appendNested(text, openPos, curPos + 1, nested);
+
+ nested = null;
+
+ parseRes = parseExpression(res0, 0, res0.length()-1);
+ }
+
+ if (earlyExit)
+ return new OdbcEscapeParseResult(startPos, curPos - startPos + 1, parseRes);
+ else
+ res.append(parseRes);
+
+ openPos = -1;
+
+ plainPos = curPos + 1;
+ }
+ }
+
+ curPos++;
+ }
+
+ if (openPos != -1)
+ throw new IgniteException("Malformed escape sequence (closing curly brace missing): " + text);
+
+ if (curPos > plainPos)
+ res.append(text, plainPos, curPos);
+
+ return new OdbcEscapeParseResult(startPos, curPos - startPos + 1, res.toString());
+ }
+
+ /**
+ * Parse concrete expression.
+ *
+ * @param text Text.
+ * @param startPos Start position within text.
+ * @param len Length.
+ * @return Result.
+ */
+ private static String parseExpression(String text, int startPos, int len) {
+ assert validSubstring(text, startPos, len);
+
+ char firstChar = text.charAt(startPos);
+
+ if (firstChar == '{') {
+ char lastChar = text.charAt(startPos + len);
+
+ if (lastChar != '}')
+ throw new IgniteException("Failed to parse escape sequence because it is not enclosed: " +
+ substring(text, startPos, len));
+
+ OdbcEscapeType typ = sequenceType(text, startPos, len);
+
+ switch (typ) {
+ case FN:
+ return parseScalarExpression(text, startPos, len);
+
+ default: {
+ assert false : "Unknown expression type: " + typ;
+
+ return null;
+ }
+ }
+ }
+ else {
+ // Nothing to escape, return original string.
+ if (startPos == 0 || text.length() == len)
+ return text;
+ else
+ return text.substring(startPos, startPos + len);
+ }
+ }
+
+ /**
+ * Parse concrete expression.
+ *
+ * @param text Text.
+ * @param startPos Start position.
+ * @param len Length.
+ * @return Parsed expression.
+ */
+ private static String parseScalarExpression(String text, int startPos, int len) {
+ assert validSubstring(text, startPos, len);
+
+ return substring(text, startPos + 3, len - 3).trim();
+ }
+
+ /**
+ * Append nested results.
+ *
+ * @param text Original text.
+ * @param startPos Start position.
+ * @param endPos End position.
+ * @param nestedRess Nested results.
+ * @return Result.
+ */
+ private static String appendNested(String text, int startPos, int endPos,
+ LinkedList<OdbcEscapeParseResult> nestedRess) {
+ StringBuilder res = new StringBuilder();
+
+ int curPos = startPos;
+
+ for (OdbcEscapeParseResult nestedRes : nestedRess) {
+ // Append text between current position and replace.
+ res.append(text, curPos, nestedRes.originalStart());
+
+ // Append replaced text.
+ res.append(nestedRes.result());
+
+ // Advance position.
+ curPos = nestedRes.originalStart() + nestedRes.originalLength();
+ }
+
+ // Append remainder.
+ res.append(text, curPos, endPos);
+
+ return res.toString();
+ }
+
+ /**
+ * Get escape sequence type.
+ *
+ * @param text Text.
+ * @param startPos Start position.
+ * @return Escape sequence type.
+ */
+ private static OdbcEscapeType sequenceType(String text, int startPos, int len) {
+ assert validSubstring(text, startPos, len);
+ assert text.charAt(startPos) == '{';
+
+ if (text.startsWith("fn", startPos + 1))
+ return OdbcEscapeType.FN;
+
+ throw new IgniteException("Unsupported escape sequence: " + text.substring(startPos, startPos + len));
+ }
+
+ /**
+ * Perform "substring" using start position and length.
+ *
+ * @param text Text.
+ * @param startPos Start position.
+ * @param len Length.
+ * @return Substring.
+ */
+ private static String substring(String text, int startPos, int len) {
+ assert validSubstring(text, startPos, len);
+
+ return text.substring(startPos, startPos + len);
+ }
+
+ /**
+ * Check whether substring is valid.
+ *
+ * @param text Substring.
+ * @param startPos Start position.
+ * @param len Length.
+ * @return {@code True} if valid.
+ */
+ private static boolean validSubstring(String text, int startPos, int len) {
+ return text != null && startPos + len <= text.length();
+ }
+
+ /**
+ * Private constructor.
+ */
+ private OdbcEscapeUtils() {
+ // No-op.
+ }
+}
http://git-wip-us.apache.org/repos/asf/ignite/blob/15873234/modules/core/src/main/java/org/apache/ignite/internal/processors/odbc/escape/OdbcParser.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/odbc/escape/OdbcParser.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/odbc/escape/OdbcParser.java
deleted file mode 100644
index 0e9f5fa..0000000
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/odbc/escape/OdbcParser.java
+++ /dev/null
@@ -1,291 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.ignite.internal.processors.odbc.escape;
-
-import java.util.LinkedList;
-import org.apache.ignite.IgniteException;
-
-/**
- * ODBC escape sequence parse.
- */
-public class OdbcParser {
- /**
- * Parse escape sequence.
- *
- * @param text Original text.
- * @return Result.
- */
- public static String parse(String text) {
- if (text == null)
- throw new IgniteException("Text cannot be null.");
-
- return parse0(text.trim(), 0, false).res;
- }
-
- /**
- * Internal parse routine.
- *
- * @param text Text.
- * @param startPos Start position.
- * @param earlyExit When set to {@code true} we must return as soon as single expression is parsed.
- * @return Parse result.
- */
- private static ParseResult parse0(String text, int startPos, boolean earlyExit) {
- StringBuilder res = new StringBuilder();
-
- int curPos = startPos;
-
- int plainPos = startPos;
- int openPos = -1;
-
- LinkedList<ParseResult> nested = null;
-
- while (curPos < text.length()) {
- char curChar = text.charAt(curPos);
-
- if (curChar == '{') {
- if (openPos == -1) {
- // Top-level opening brace. Append previous portion and remember current position.
- res.append(text, plainPos, curPos);
-
- openPos = curPos;
- }
- else {
- // Nested opening brace -> perform recursion.
- ParseResult nestedRes = parse0(text, curPos, true);
-
- if (nested == null)
- nested = new LinkedList<>();
-
- nested.add(nestedRes);
-
- curPos += nestedRes.originalLen;
-
- plainPos = curPos;
-
- continue;
- }
- }
- else if (curChar == '}') {
- if (openPos == -1)
- // Close without open -> exception.
- throw new IgniteException("Malformed escape sequence " +
- "(closing curly brace without opening curly brace): " + text);
- else {
- String parseRes;
-
- if (nested == null)
- // Found sequence without nesting, process it.
- parseRes = parseExpression(text, openPos, curPos - openPos);
- else {
- // Special case to process nesting.
- String res0 = appendNested(text, openPos, curPos + 1, nested);
-
- nested = null;
-
- parseRes = parseExpression(res0, 0, res0.length()-1);
- }
-
- if (earlyExit)
- return new ParseResult(startPos, curPos - startPos + 1, parseRes);
- else
- res.append(parseRes);
-
- openPos = -1;
-
- plainPos = curPos + 1;
- }
- }
-
- curPos++;
- }
-
- if (openPos != -1)
- throw new IgniteException("Malformed escape sequence (closing curly brace missing): " + text);
-
- if (curPos > plainPos)
- res.append(text, plainPos, curPos);
-
- return new ParseResult(startPos, curPos - startPos + 1, res.toString());
- }
-
- /**
- * Parse concrete expression.
- *
- * @param text Text.
- * @param startPos Start position within text.
- * @param len Length.
- * @return Result.
- */
- private static String parseExpression(String text, int startPos, int len) {
- assert validSubstring(text, startPos, len);
-
- char firstChar = text.charAt(startPos);
-
- if (firstChar == '{') {
- char lastChar = text.charAt(startPos + len);
-
- if (lastChar != '}')
- throw new IgniteException("Failed to parse escape sequence because it is not enclosed: " +
- substring(text, startPos, len));
-
- SequenceType typ = sequenceType(text, startPos, len);
-
- switch (typ) {
- case FN:
- return parseScalarExpression(text, startPos, len);
-
- default: {
- assert false : "Unknown expression type: " + typ;
-
- return null;
- }
- }
- }
- else {
- // Nothing to escape, return original string.
- if (startPos == 0 || text.length() == len)
- return text;
- else
- return text.substring(startPos, startPos + len);
- }
- }
-
- /**
- * Parse concrete expression.
- *
- * @param text Text.
- * @param startPos Start position.
- * @param len Length.
- * @return Parsed expression.
- */
- private static String parseScalarExpression(String text, int startPos, int len) {
- assert validSubstring(text, startPos, len);
-
- return substring(text, startPos + 3, len - 3).trim();
- }
-
- /**
- * Append nested results.
- *
- * @param text Original text.
- * @param startPos Start position.
- * @param endPos End position.
- * @param nestedRess Nested results.
- * @return Result.
- */
- private static String appendNested(String text, int startPos, int endPos, LinkedList<ParseResult> nestedRess) {
- StringBuilder res = new StringBuilder();
-
- int curPos = startPos;
-
- for (ParseResult nestedRes : nestedRess) {
- // Append text between current position and replace.
- res.append(text, curPos, nestedRes.originalStart);
-
- // Append replaced text.
- res.append(nestedRes.res);
-
- // Advance position.
- curPos = nestedRes.originalStart + nestedRes.originalLen;
- }
-
- // Append remainder.
- res.append(text, curPos, endPos);
-
- return res.toString();
- }
-
- /**
- * Get escape sequence type.
- *
- * @param text Text.
- * @param startPos Start position.
- * @return Escape sequence type.
- */
- private static SequenceType sequenceType(String text, int startPos, int len) {
- assert validSubstring(text, startPos, len);
- assert text.charAt(startPos) == '{';
-
- if (text.startsWith("fn", startPos + 1))
- return SequenceType.FN;
-
- throw new IgniteException("Unsupported escape sequence: " + text.substring(startPos, startPos + len));
- }
-
- /**
- * Perform "substring" using start position and length.
- *
- * @param text Text.
- * @param startPos Start position.
- * @param len Length.
- * @return Substring.
- */
- private static String substring(String text, int startPos, int len) {
- assert validSubstring(text, startPos, len);
-
- return text.substring(startPos, startPos + len);
- }
-
- /**
- * Check whether substring is valid.
- *
- * @param text Substring.
- * @param startPos Start position.
- * @param len Length.
- * @return {@code True} if valid.
- */
- private static boolean validSubstring(String text, int startPos, int len) {
- return text != null && startPos + len <= text.length();
- }
-
- /**
- * Escape sequence type.
- */
- private enum SequenceType {
- /** Scalar function. */
- FN
- }
-
- /**
- * Parse result.
- */
- private static class ParseResult {
- /** Original start position. */
- private final int originalStart;
-
- /** Original length. */
- private final int originalLen;
-
- /** Resulting text. */
- private final String res;
-
- /**
- * Constructor.
- *
- * @param originalStart Original start position.
- * @param originalLen Original length.
- * @param res Resulting text.
- */
- public ParseResult(int originalStart, int originalLen, String res) {
- this.originalStart = originalStart;
- this.originalLen = originalLen;
- this.res = res;
- }
- }
-}
http://git-wip-us.apache.org/repos/asf/ignite/blob/15873234/modules/core/src/test/java/org/apache/ignite/internal/processors/odbc/OdbcScalarFunctionEscapeSequenceTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/odbc/OdbcScalarFunctionEscapeSequenceTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/odbc/OdbcScalarFunctionEscapeSequenceTest.java
index 011d00f..7d31fbb 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/odbc/OdbcScalarFunctionEscapeSequenceTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/odbc/OdbcScalarFunctionEscapeSequenceTest.java
@@ -20,7 +20,7 @@ package org.apache.ignite.internal.processors.odbc;
import java.util.concurrent.Callable;
import junit.framework.TestCase;
import org.apache.ignite.IgniteException;
-import org.apache.ignite.internal.processors.odbc.escape.OdbcParser;
+import org.apache.ignite.internal.processors.odbc.escape.OdbcEscapeUtils;
import org.apache.ignite.testframework.GridTestUtils;
/** */
@@ -31,7 +31,7 @@ public class OdbcScalarFunctionEscapeSequenceTest extends TestCase {
String sqlQry= "select * from table;";
String expRes = "select * from table;";
- String actualRes = OdbcParser.parse(sqlQry);
+ String actualRes = OdbcEscapeUtils.parse(sqlQry);
assertEquals("Scalar function escape sequence parsing fails", expRes, actualRes);
}
@@ -41,7 +41,7 @@ public class OdbcScalarFunctionEscapeSequenceTest extends TestCase {
String sqlQry = "select {fn test()} from table;";
String expRes = "select test() from table;";
- String actualRes = OdbcParser.parse(sqlQry);
+ String actualRes = OdbcEscapeUtils.parse(sqlQry);
assertEquals("Scalar function escape sequence parsing fails", expRes, actualRes);
}
@@ -51,7 +51,7 @@ public class OdbcScalarFunctionEscapeSequenceTest extends TestCase {
String sqlQry = "select {fn test()}";
String expRes = "select test()";
- String actualRes = OdbcParser.parse(sqlQry);
+ String actualRes = OdbcEscapeUtils.parse(sqlQry);
assertEquals("Scalar function escape sequence parsing fails", expRes, actualRes);
}
@@ -61,7 +61,7 @@ public class OdbcScalarFunctionEscapeSequenceTest extends TestCase {
String sqlQry = "{fn test()}";
String expRes = "test()";
- String actualRes = OdbcParser.parse(sqlQry);
+ String actualRes = OdbcEscapeUtils.parse(sqlQry);
assertEquals("Scalar function escape sequence parsing fails", expRes, actualRes);
}
@@ -71,7 +71,7 @@ public class OdbcScalarFunctionEscapeSequenceTest extends TestCase {
String sqlQry = "select {fn func(field1)}, {fn func(field2)} from table;";
String expRes = "select func(field1), func(field2) from table;";
- String actualRes = OdbcParser.parse(sqlQry);
+ String actualRes = OdbcEscapeUtils.parse(sqlQry);
assertEquals("Scalar function escape sequence parsing fails", expRes, actualRes);
}
@@ -80,7 +80,7 @@ public class OdbcScalarFunctionEscapeSequenceTest extends TestCase {
String sqlQry = "select {fn func(field1)}, {fn func(field2)}";
String expRes = "select func(field1), func(field2)";
- String actualRes = OdbcParser.parse(sqlQry);
+ String actualRes = OdbcEscapeUtils.parse(sqlQry);
assertEquals("Scalar function escape sequence parsing fails", expRes, actualRes);
}
@@ -90,7 +90,7 @@ public class OdbcScalarFunctionEscapeSequenceTest extends TestCase {
String sqlQry = "{fn func(field1)} {fn func(field2)}";
String expRes = "func(field1) func(field2)";
- String actualRes = OdbcParser.parse(sqlQry);
+ String actualRes = OdbcEscapeUtils.parse(sqlQry);
assertEquals("Scalar function escape sequence parsing fails", expRes, actualRes);
}
@@ -100,7 +100,7 @@ public class OdbcScalarFunctionEscapeSequenceTest extends TestCase {
String sqlQry = "select {fn func1(field1, {fn func2(field2)}, field3)} from SomeTable;";
String expRes = "select func1(field1, func2(field2), field3) from SomeTable;";
- String actualRes = OdbcParser.parse(sqlQry);
+ String actualRes = OdbcEscapeUtils.parse(sqlQry);
assertEquals("Scalar function escape sequence parsing fails", expRes, actualRes);
}
@@ -110,7 +110,7 @@ public class OdbcScalarFunctionEscapeSequenceTest extends TestCase {
String sqlQry = "select {fn func1(field1, {fn func2(field2)}, field3)}";
String expRes = "select func1(field1, func2(field2), field3)";
- String actualRes = OdbcParser.parse(sqlQry);
+ String actualRes = OdbcEscapeUtils.parse(sqlQry);
assertEquals("Scalar function escape sequence parsing fails", expRes, actualRes);
}
@@ -120,7 +120,7 @@ public class OdbcScalarFunctionEscapeSequenceTest extends TestCase {
String sqlQry = "select {fn func1(field1, {fn func2({fn func3(field2)}, field3)})} from SomeTable;";
String expRes = "select func1(field1, func2(func3(field2), field3)) from SomeTable;";
- String actualRes = OdbcParser.parse(sqlQry);
+ String actualRes = OdbcEscapeUtils.parse(sqlQry);
assertEquals("Scalar function escape sequence parsing fails", expRes, actualRes);
}
@@ -130,7 +130,7 @@ public class OdbcScalarFunctionEscapeSequenceTest extends TestCase {
String sqlQry = "select {fn func1(field1, {fn func2({fn func3(field2)}, field3)})}";
String expRes = "select func1(field1, func2(func3(field2), field3))";
- String actualRes = OdbcParser.parse(sqlQry);
+ String actualRes = OdbcEscapeUtils.parse(sqlQry);
assertEquals("Scalar function escape sequence parsing fails", expRes, actualRes);
}
@@ -140,7 +140,7 @@ public class OdbcScalarFunctionEscapeSequenceTest extends TestCase {
String sqlQry = "{fn func1({fn func2({fn func3(field1)})})}";
String expRes = "func1(func2(func3(field1)))";
- String actualRes = OdbcParser.parse(sqlQry);
+ String actualRes = OdbcEscapeUtils.parse(sqlQry);
assertEquals("Scalar function escape sequence parsing fails", expRes, actualRes);
}
@@ -150,7 +150,7 @@ public class OdbcScalarFunctionEscapeSequenceTest extends TestCase {
String sqlQry = "select {fn func1({fn func2(field1)}, {fn func3(field2)})} from table;";
String expRes = "select func1(func2(field1), func3(field2)) from table;";
- String actualRes = OdbcParser.parse(sqlQry);
+ String actualRes = OdbcEscapeUtils.parse(sqlQry);
assertEquals("Scalar function escape sequence parsing fails", expRes, actualRes);
}
@@ -160,7 +160,7 @@ public class OdbcScalarFunctionEscapeSequenceTest extends TestCase {
String sqlQry = "{fn func1({fn func2(field1)}, {fn func3(field2)})}";
String expRes = "func1(func2(field1), func3(field2))";
- String actualRes = OdbcParser.parse(sqlQry);
+ String actualRes = OdbcEscapeUtils.parse(sqlQry);
assertEquals("Scalar function escape sequence parsing fails", expRes, actualRes);
}
@@ -170,7 +170,7 @@ public class OdbcScalarFunctionEscapeSequenceTest extends TestCase {
String sqlQry = "{fn func1({fn func2({fn func3(field1)})})} {fn func1({fn func2(field2)})}";
String expRes = "func1(func2(func3(field1))) func1(func2(field2))";
- String actualRes = OdbcParser.parse(sqlQry);
+ String actualRes = OdbcEscapeUtils.parse(sqlQry);
assertEquals("Scalar function escape sequence parsing fails", expRes, actualRes);
}
@@ -181,7 +181,7 @@ public class OdbcScalarFunctionEscapeSequenceTest extends TestCase {
@Override public Void call() throws Exception {
String sqlQry = "select {fn func1(field1, {fn func2(field2), field3)} from SomeTable;";
- OdbcParser.parse(sqlQry);
+ OdbcEscapeUtils.parse(sqlQry);
fail("Scalar function escape sequence parsing should failed");
@@ -196,7 +196,7 @@ public class OdbcScalarFunctionEscapeSequenceTest extends TestCase {
@Override public Void call() throws Exception {
String sqlQry = "select {fn func1(field1, func2(field2)}, field3)} from SomeTable;";
- OdbcParser.parse(sqlQry);
+ OdbcEscapeUtils.parse(sqlQry);
fail("Scalar function escape sequence parsing should failed");