[ http://issues.apache.org/jira/browse/DERBY-693?page=all ]
Daniel John Debrunner updated DERBY-693:
----------------------------------------
Priority: Minor (was: Major)
Seems like a minor issue to me, maybe even a trivial one.
> Incorrect line number in the error message when parser throws syntax error in
> some specific examples
> ----------------------------------------------------------------------------------------------------
>
> Key: DERBY-693
> URL: http://issues.apache.org/jira/browse/DERBY-693
> Project: Derby
> Type: Bug
> Components: SQL
> Versions: 10.2.0.0
> Reporter: Mamta A. Satoor
> Priority: Minor
>
> After connecting to a database through ij, parser returns correct line number
> for the sql "select" the first time around but it returns incorrect line
> number when the same sql is rexecuted, as shown below
> $ java org.apache.derby.tools.ij
> ij version 10.2
> ij> connect 'jdbc:derby:c:/dellater/db1';
> ij> select
> ;
> ERROR 42X01: Syntax error: Encountered "<EOF>" at line 1, column 8.
> ij> select
> ;
> ERROR 42X01: Syntax error: Encountered "<EOF>" at line 2, column 8.
> ij>
> This is caused by UCode_CharStream's UpdateLineColumn method. When the sql
> "select" is executed the first time, the parser comes to UpdateLineColumn
> method for trailing \r and then for trailing \n for the first line "select".
> The trailing \n causes the prevCharIsLF to be set to true. Since this sql is
> incorrect by itself, parser will throw a syntax error. After the exception
> and before the processing of next sql "select", this prevCharIsLF flag does
> not get set to false(this is the problem). When the first character "s" is
> read, UpdateLineColumn checks if prevCharIsLF set to true and if yes, it
> increments(incorrectly) the line number to 2 and that is why the second time
> around, execution of "select" gives syntax error at line 2 rather than line 1.
> This also causes problem with the optimizer hints when they are used in
> incorrect context as shown below.
> $ java org.apache.derby.tools.ij
> ij version 10.2
> ij> connect 'jdbc:derby:c:/dellater/db1';
> ij> -- derby-properties
> select * from t1;
> ERROR 42X01: Syntax error: Encountered "derby-properties" at line 1, column 4.
> ij> -- derby-properties
> select * from t1;
> ERROR 42X01: Syntax error: Encountered "derby-properties" at line 2, column 4.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira