### Question:
SqlParser { public SqlNode parseStmt() throws SqlParseException { return parseQuery(); } private  SqlParser(SqlAbstractParserImpl parser,
      Config config); static SqlParser create(String s); static SqlParser create(String sql, Config config); static SqlParser create(Reader reader, Config config); SqlNode parseExpression(); SqlNode parseQuery(); SqlNode parseQuery(String sql); SqlNode parseStmt(); SqlNodeList parseStmtList(); SqlAbstractParserImpl.Metadata getMetadata(); static ConfigBuilder configBuilder(); static ConfigBuilder configBuilder(Config config); static final int DEFAULT_IDENTIFIER_MAX_LENGTH; @Deprecated // to be removed before 2.0
  static final boolean DEFAULT_ALLOW_BANG_EQUAL; }### Answer:
@Test public void testSqlOptions() throws SqlParseException { SqlNode node = getSqlParser("alter system set schema = true").parseStmt(); SqlSetOption opt = (SqlSetOption) node; assertThat(opt.getScope(), equalTo("SYSTEM")); SqlPrettyWriter writer = new SqlPrettyWriter(CalciteSqlDialect.DEFAULT); assertThat(writer.format(opt.getName()), equalTo("\"SCHEMA\"")); writer = new SqlPrettyWriter(CalciteSqlDialect.DEFAULT); assertThat(writer.format(opt.getValue()), equalTo("TRUE")); writer = new SqlPrettyWriter(CalciteSqlDialect.DEFAULT); assertThat(writer.format(opt), equalTo("ALTER SYSTEM SET \"SCHEMA\" = TRUE")); sql("alter system set \"a number\" = 1") .ok("ALTER SYSTEM SET `a number` = 1") .node(isDdl()); check("alter system set flag = false", "ALTER SYSTEM SET `FLAG` = FALSE"); check("alter system set approx = -12.3450", "ALTER SYSTEM SET `APPROX` = -12.3450"); check("alter system set onOff = on", "ALTER SYSTEM SET `ONOFF` = `ON`"); check("alter system set onOff = off", "ALTER SYSTEM SET `ONOFF` = `OFF`"); check("alter system set baz = foo", "ALTER SYSTEM SET `BAZ` = `FOO`"); check("alter system set \"a\".\"number\" = 1", "ALTER SYSTEM SET `a`.`number` = 1"); sql("set approx = -12.3450") .ok("SET `APPROX` = -12.3450") .node(isDdl()); node = getSqlParser("reset schema").parseStmt(); opt = (SqlSetOption) node; assertThat(opt.getScope(), equalTo(null)); writer = new SqlPrettyWriter(CalciteSqlDialect.DEFAULT); assertThat(writer.format(opt.getName()), equalTo("\"SCHEMA\"")); assertThat(opt.getValue(), equalTo(null)); writer = new SqlPrettyWriter(CalciteSqlDialect.DEFAULT); assertThat(writer.format(opt), equalTo("RESET \"SCHEMA\"")); check("alter system RESET flag", "ALTER SYSTEM RESET `FLAG`"); sql("reset onOff") .ok("RESET `ONOFF`") .node(isDdl()); check("reset \"this\".\"is\".\"sparta\"", "RESET `this`.`is`.`sparta`"); check("alter system reset all", "ALTER SYSTEM RESET `ALL`"); check("reset all", "RESET `ALL`"); checkFails("alter system set aString = 'abc' ^||^ 'def' ", "(?s)Encountered \"\\|\\|\" at line 1, column 34\\..*"); checkFails("alter system set x = 1^,^ y = 2", "(?s)Encountered \",\" at line 1, column 23\\..*"); }