[ 
https://issues.apache.org/jira/browse/DERBY-4338?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Dag H. Wanvik updated DERBY-4338:
---------------------------------

    Attachment: derby-4338-c.stat
                derby-4338-c.diff

Uploading version "c", which adds a new testcase,
testWrongKeywordLexing_derby4338, and a fix for that problem, cf. the
new method isolateAnyInitialIdentifier in Statement.java used instead
of the Java tokenizer which wasn't really suitable in this case. A
regexp could have been used though, but in this simple case, that
seemed overkill.

I also added a testcase to show how the client before this fix fails to
scan past the escape starting after an end-of-line comment. See the
"call" examples in CommentTest.testInitialComment_derby4338.

Investigating this lead to my filing DERBY-4362, btw.




> Network client raises error "executeQuery method can not be used for update" 
> when sql is preceded by /* */ comments
> -------------------------------------------------------------------------------------------------------------------
>
>                 Key: DERBY-4338
>                 URL: https://issues.apache.org/jira/browse/DERBY-4338
>             Project: Derby
>          Issue Type: Bug
>          Components: Network Client
>    Affects Versions: 10.4.1.3, 10.4.2.0, 10.5.1.1, 10.5.2.0, 10.5.3.0
>            Reporter: Will Gomes
>            Assignee: Dag H. Wanvik
>             Fix For: 10.6.0.0
>
>         Attachments: derby-4338-a.diff, derby-4338-a.stat, derby-4338-b.diff, 
> derby-4338-b.stat, derby-4338-c.diff, derby-4338-c.stat
>
>
> Network derby client does not properly detect a sql select statement preceded 
> by /* */ comments.  As a result the sql appears to be detected as an update 
> statement, and results in  the following error:
>  org.apache.derby.client.am.SqlException: executeQuery method can not be used 
> for update.
>       at 
> org.apache.derby.client.am.Statement.checkForAppropriateSqlMode(Unknown 
> Source)
>       at org.apache.derby.client.am.PreparedStatement.flowExecute(Unknown 
> Source)
>       at org.apache.derby.client.am.PreparedStatement.executeQueryX(Unknown 
> Source)
> The problem appears to be in Statment.parseSqlAndSetSqlModes(), which only 
> appears to check for "--" style comments.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to