You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@calcite.apache.org by "Julian Hyde (JIRA)" <ji...@apache.org> on 2015/12/02 19:07:11 UTC

[jira] [Comment Edited] (CALCITE-997) Unable to execute SQL query

    [ https://issues.apache.org/jira/browse/CALCITE-997?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15033254#comment-15033254 ] 

Julian Hyde edited comment on CALCITE-997 at 12/2/15 6:06 PM:
--------------------------------------------------------------

Please find the Java code which i have ran.

{code}import org.apache.calcite.avatica.util.Casing;
import org.apache.calcite.avatica.util.Quoting;
import org.apache.calcite.sql.SqlNode;
import org.apache.calcite.sql.parser.SqlParseException;
import org.apache.calcite.sql.parser.SqlParser;
import org.apache.calcite.sql.parser.SqlParser.ConfigBuilder;

public class TestSqlParser {

	public static void main(String[] args) {

		String sql =  
				"insert into planning_point_data_cache (ts_business_name_id,planning_point_seq,detail_id,detail_id,period_id,cache_value)" +
				" select ppd.ts_business_name_id,denorm.input_ppt_cache_seq,denorm.detail_id,denorm.period_id,sum(ppd.value) " +
				"from rule_output_input_map_normalize denorm join planning_point_data ppd on denorm.input_ppt_seq=ppd.planning_point_seq" +
				" where denorm.param_order='raghu' and denorm.input_ppt_cache_seq>0 group by ppd.ts_business_name_id";
				
				
				
		Quoting quoting = Quoting.DOUBLE_QUOTE;
		Casing unquotedCasing = Casing.TO_UPPER;
		Casing quotedCasing = Casing.UNCHANGED;
		SqlParser parser = SqlParser.create(sql,
		SqlParser.configBuilder().setQuoting(quoting)
		.setUnquotedCasing(unquotedCasing)
		.setQuotedCasing(quotedCasing).build());

		try {
		System.out.println("Here goes");
		SqlNode sqlNode = parser.parseQuery();
		System.out.println ("Done Parsing:" + sqlNode);
		} catch (SqlParseException e) {
		e.printStackTrace();
		}
		}

}{code}


was (Author: eraghavender):
Please find the Java code which i have ran.

import org.apache.calcite.avatica.util.Casing;
import org.apache.calcite.avatica.util.Quoting;
import org.apache.calcite.sql.SqlNode;
import org.apache.calcite.sql.parser.SqlParseException;
import org.apache.calcite.sql.parser.SqlParser;
import org.apache.calcite.sql.parser.SqlParser.ConfigBuilder;

public class TestSqlParser {

	public static void main(String[] args) {

		String sql =  
				"insert into planning_point_data_cache (ts_business_name_id,planning_point_seq,detail_id,detail_id,period_id,cache_value)" +
				" select ppd.ts_business_name_id,denorm.input_ppt_cache_seq,denorm.detail_id,denorm.period_id,sum(ppd.value) " +
				"from rule_output_input_map_normalize denorm join planning_point_data ppd on denorm.input_ppt_seq=ppd.planning_point_seq" +
				" where denorm.param_order='raghu' and denorm.input_ppt_cache_seq>0 group by ppd.ts_business_name_id";
				
				
				
		Quoting quoting = Quoting.DOUBLE_QUOTE;
		Casing unquotedCasing = Casing.TO_UPPER;
		Casing quotedCasing = Casing.UNCHANGED;
		SqlParser parser = SqlParser.create(sql,
		SqlParser.configBuilder().setQuoting(quoting)
		.setUnquotedCasing(unquotedCasing)
		.setQuotedCasing(quotedCasing).build());

		try {
		System.out.println("Here goes");
		SqlNode sqlNode = parser.parseQuery();
		System.out.println ("Done Parsing:" + sqlNode);
		} catch (SqlParseException e) {
		e.printStackTrace();
		}
		}

}

> Unable to execute SQL query
> ---------------------------
>
>                 Key: CALCITE-997
>                 URL: https://issues.apache.org/jira/browse/CALCITE-997
>             Project: Calcite
>          Issue Type: Bug
>          Components: avatica
>    Affects Versions: 1.4.0-incubating
>         Environment: JavaSE1.7
>            Reporter: Raghavender
>            Assignee: Julian Hyde
>
> Hi All,
> I am trying to run below queries using SQLParser object, the first query is executing as expected but when am adding sum(ppd.value) function  I am getting exception, but same query I am able to run in SQL SERVER.
>    
>   Working query:     
> {code}
> insert into planning_point_data_cache (ts_business_name_id,planning_point_seq,detail_id,detail_id,period_id,cache_value)
>                           select ppd.ts_business_name_id,denorm.input_ppt_cache_seq,denorm.detail_id,denorm.period_id,cache_value
>                           from rule_output_input_map_normalize denorm join planning_point_data ppd on denorm.input_ppt_seq=ppd.planning_point_seq
>                           where denorm.param_order='raghu' and denorm.input_ppt_cache_seq 0 group by ppd.ts_business_name_id.
> {code}
>                          
>   Problem facing query: 
> {code}
> insert into planning_point_data_cache(ts_business_name_id,planning_point_seq,detail_id,detail_id,period_id,cache_value)
>                           selectppd.ts_business_name_id,denorm.input_ppt_cache_seq,denorm.detail_id,denorm.period_id,sum(ppd.value)
>                           from rule_output_input_map_normalize denorm join planning_point_data ppd ondenorm.input_ppt_seq=ppd.planning_point_seq
>                           where denorm.param_order='raghu' and denorm.input_ppt_cache_seq 0 group byppd.ts_business_name_id,ppd.value
> {code}
>    
> Below is the stack trace:
> {noformat}
> org.apache.calcite.sql.parser.SqlParseException: Encountered ". value" at line 1, column 221.
> Was expecting one of:
>     ")" ...
>     "ORDER" ...
>     "LIMIT" ...
>     "OFFSET" ...
>     "FETCH" ...
>     "," ...
>     "UNION" ...
>     "INTERSECT" ...
>     "EXCEPT" ...
>     "." ...
>     "NOT" ...
>     "IN" ...
>     "BETWEEN" ...
>     "LIKE" ...
>     "SIMILAR" ...
>     "=" ...
>     ">" ...
>     "<" ...
>     "<=" ...
>     ">=" ...
>     "<>" ...
>     "+" ...
>     "-" ...
>     "*" ...
>     "/" ...
>     "||" ...
>     "AND" ...
>     "OR" ...
>     "IS" ...
>     "MEMBER" ...
>     "SUBMULTISET" ...
>     "MULTISET" ...
>     "[" ...
>     "." <IDENTIFIER> ...
>     "." <QUOTED_IDENTIFIER> ...
>     "." <BACK_QUOTED_IDENTIFIER> ...
>     "." <BRACKET_QUOTED_IDENTIFIER> ...
>     "." <UNICODE_QUOTED_IDENTIFIER> ...
>     "." "*" ...
>     "(" ...
>     
> 	at org.apache.calcite.sql.parser.impl.SqlParserImpl.convertException(SqlParserImpl.java:388)
> 	at org.apache.calcite.sql.parser.impl.SqlParserImpl.normalizeException(SqlParserImpl.java:118)
> 	at org.apache.calcite.sql.parser.SqlParser.parseQuery(SqlParser.java:130)
> 	at TestSqlParser.main(TestSqlParser.java:30)
> Caused by: org.apache.calcite.sql.parser.impl.ParseException: Encountered ". value" at line 1, column 221.
> Was expecting one of:
>     ")" ...
>     "ORDER" ...
>     "LIMIT" ...
>     "OFFSET" ...
>     "FETCH" ...
>     "," ...
>     "UNION" ...
>     "INTERSECT" ...
>     "EXCEPT" ...
>     "." ...
>     "NOT" ...
>     "IN" ...
>     "BETWEEN" ...
>     "LIKE" ...
>     "SIMILAR" ...
>     "=" ...
>     ">" ...
>     "<" ...
>     "<=" ...
>     ">=" ...
>     "<>" ...
>     "+" ...
>     "-" ...
>     "*" ...
>     "/" ...
>     "||" ...
>     "AND" ...
>     "OR" ...
>     "IS" ...
>     "MEMBER" ...
>     "SUBMULTISET" ...
>     "MULTISET" ...
>     "[" ...
>     "." <IDENTIFIER> ...
>     "." <QUOTED_IDENTIFIER> ...
>     "." <BACK_QUOTED_IDENTIFIER> ...
>     "." <BRACKET_QUOTED_IDENTIFIER> ...
>     "." <UNICODE_QUOTED_IDENTIFIER> ...
>     "." "*" ...
>     "(" ...
>     
> 	at org.apache.calcite.sql.parser.impl.SqlParserImpl.generateParseException(SqlParserImpl.java:16646)
> 	at org.apache.calcite.sql.parser.impl.SqlParserImpl.jj_consume_token(SqlParserImpl.java:16475)
> 	at org.apache.calcite.sql.parser.impl.SqlParserImpl.FunctionParameterList(SqlParserImpl.java:725)
> 	at org.apache.calcite.sql.parser.impl.SqlParserImpl.NamedFunctionCall(SqlParserImpl.java:4146)
> 	at org.apache.calcite.sql.parser.impl.SqlParserImpl.AtomicRowExpression(SqlParserImpl.java:2718)
> 	at org.apache.calcite.sql.parser.impl.SqlParserImpl.Expression3(SqlParserImpl.java:2562)
> 	at org.apache.calcite.sql.parser.impl.SqlParserImpl.Expression2(SqlParserImpl.java:2394)
> 	at org.apache.calcite.sql.parser.impl.SqlParserImpl.Expression(SqlParserImpl.java:2366)
> 	at org.apache.calcite.sql.parser.impl.SqlParserImpl.SelectExpression(SqlParserImpl.java:1326)
> 	at org.apache.calcite.sql.parser.impl.SqlParserImpl.SelectItem(SqlParserImpl.java:1298)
> 	at org.apache.calcite.sql.parser.impl.SqlParserImpl.SelectList(SqlParserImpl.java:1284)
> 	at org.apache.calcite.sql.parser.impl.SqlParserImpl.SqlSelect(SqlParserImpl.java:819)
> 	at org.apache.calcite.sql.parser.impl.SqlParserImpl.LeafQuery(SqlParserImpl.java:578)
> 	at org.apache.calcite.sql.parser.impl.SqlParserImpl.LeafQueryOrExpr(SqlParserImpl.java:2351)
> 	at org.apache.calcite.sql.parser.impl.SqlParserImpl.QueryOrExpr(SqlParserImpl.java:2270)
> 	at org.apache.calcite.sql.parser.impl.SqlParserImpl.OrderedQueryOrExpr(SqlParserImpl.java:496)
> 	at org.apache.calcite.sql.parser.impl.SqlParserImpl.SqlInsert(SqlParserImpl.java:1009)
> 	at org.apache.calcite.sql.parser.impl.SqlParserImpl.SqlStmt(SqlParserImpl.java:754)
> 	at org.apache.calcite.sql.parser.impl.SqlParserImpl.SqlStmtEof(SqlParserImpl.java:776)
> 	at org.apache.calcite.sql.parser.impl.SqlParserImpl.parseSqlStmtEof(SqlParserImpl.java:177)
> 	at org.apache.calcite.sql.parser.SqlParser.parseQuery(SqlParser.java:123)
> 	... 1 more
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)