protected SqlNode parseExpressionAndHandleEx(String sql) { final SqlNode sqlNode; try { sqlNode = getSqlParser(sql).parseExpression(); } catch (SqlParseException e) { throw new RuntimeException("Error while parsing expression: " + sql, e); } return sqlNode; }
protected SqlNode parseStmtAndHandleEx(String sql) { final SqlNode sqlNode; try { sqlNode = getSqlParser(sql).parseStmt(); } catch (SqlParseException e) { throw new RuntimeException("Error while parsing SQL: " + sql, e); } return sqlNode; }
protected SqlNode parseExpressionAndHandleEx(String sql) { final SqlNode sqlNode; try { sqlNode = getSqlParser(sql).parseExpression(); } catch (SqlParseException e) { throw new RuntimeException("Error while parsing expression: " + sql, e); } return sqlNode; }
protected SqlNode parseStmtAndHandleEx(String sql) { final SqlNode sqlNode; try { sqlNode = getSqlParser(sql).parseStmt(); } catch (SqlParseException e) { throw new RuntimeException("Error while parsing SQL: " + sql, e); } return sqlNode; }
protected SqlParser getSqlParser(String sql) { return getSqlParser(new SourceStringReader(sql)); }
/** Returns whether a word is reserved in this parser. This method can be * used to disable tests that behave differently with different collections * of reserved words. */ protected boolean isReserved(String word) { SqlAbstractParserImpl.Metadata metadata = getSqlParser("").getMetadata(); return metadata.isReservedWord(word.toUpperCase(Locale.ROOT)); }
public void checkNode(String sql, Matcher<SqlNode> matcher) { SqlParserUtil.StringAndPos sap = SqlParserUtil.findPos(sql); try { final SqlNode sqlNode = getSqlParser(sap.sql).parseStmt(); assertThat(sqlNode, matcher); } catch (SqlParseException e) { throw new RuntimeException(e); } }
public void checkNode(String sql, Matcher<SqlNode> matcher) { SqlParserUtil.StringAndPos sap = SqlParserUtil.findPos(sql); try { final SqlNode sqlNode = getSqlParser(sap.sql).parseStmt(); assertThat(sqlNode, matcher); } catch (SqlParseException e) { throw new RuntimeException(e); } }
@Test public void testParseWithReader() throws Exception { String query = "select * from dual"; SqlParser sqlParserReader = getSqlParser(new StringReader(query)); SqlNode node1 = sqlParserReader.parseQuery(); SqlParser sqlParserString = getSqlParser(query); SqlNode node2 = sqlParserString.parseQuery(); assertEquals(node2.toString(), node1.toString()); }
++stage; SqlAbstractParserImpl.Metadata metadata = getSqlParser("").getMetadata(); int z = 0; for (String s : metadata.getTokens()) {
++stage; SqlAbstractParserImpl.Metadata metadata = getSqlParser("").getMetadata(); int z = 0; for (String s : metadata.getTokens()) {
public void checkFails( String sql, String expectedMsgPattern) { SqlParserUtil.StringAndPos sap = SqlParserUtil.findPos(sql); Throwable thrown = null; try { final SqlNode sqlNode = getSqlParser(sap.sql).parseStmt(); Util.discard(sqlNode); } catch (Throwable ex) { thrown = ex; } SqlValidatorTestCase.checkEx(thrown, expectedMsgPattern, sap); }
public void checkFails( String sql, String expectedMsgPattern) { SqlParserUtil.StringAndPos sap = SqlParserUtil.findPos(sql); Throwable thrown = null; try { final SqlNode sqlNode = getSqlParser(sap.sql).parseStmt(); Util.discard(sqlNode); } catch (Throwable ex) { thrown = ex; } SqlValidatorTestCase.checkEx(thrown, expectedMsgPattern, sap); }
/** * Tests that an expression throws an exception which matches the given * pattern. */ public void checkExpFails( String sql, String expectedMsgPattern) { SqlParserUtil.StringAndPos sap = SqlParserUtil.findPos(sql); Throwable thrown = null; try { final SqlNode sqlNode = getSqlParser(sap.sql).parseExpression(); Util.discard(sqlNode); } catch (Throwable ex) { thrown = ex; } SqlValidatorTestCase.checkEx(thrown, expectedMsgPattern, sap); } }
/** * Tests that an expression throws an exception which matches the given * pattern. */ public void checkExpFails( String sql, String expectedMsgPattern) { SqlParserUtil.StringAndPos sap = SqlParserUtil.findPos(sql); Throwable thrown = null; try { final SqlNode sqlNode = getSqlParser(sap.sql).parseExpression(); Util.discard(sqlNode); } catch (Throwable ex) { thrown = ex; } SqlValidatorTestCase.checkEx(thrown, expectedMsgPattern, sap); } }
assumeTrue("don't run this test for sub-classes", isNotSubclass()); final SqlAbstractParserImpl.Metadata metadata = getSqlParser("").getMetadata();
assumeTrue("don't run this test for sub-classes", isNotSubclass()); final SqlAbstractParserImpl.Metadata metadata = getSqlParser("").getMetadata();
@Test public void testMetadata() { SqlAbstractParserImpl.Metadata metadata = getSqlParser("").getMetadata(); assertThat(metadata.isReservedFunctionName("ABS"), is(true)); assertThat(metadata.isReservedFunctionName("FOO"), is(false));
@Test public void testSqlOptions() throws SqlParseException { SqlNode node = getSqlParser("alter system set schema = true").parseStmt(); SqlSetOption opt = (SqlSetOption) node; assertThat(opt.getScope(), equalTo("SYSTEM")); .node(isDdl()); node = getSqlParser("reset schema").parseStmt(); opt = (SqlSetOption) node; assertThat(opt.getScope(), equalTo(null));
@Test public void testMetadata() { SqlAbstractParserImpl.Metadata metadata = getSqlParser("").getMetadata(); assertTrue(metadata.isReservedFunctionName("ABS")); assertFalse(metadata.isReservedFunctionName("FOO"));