db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Knut Anders Hatlen (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (DERBY-5170) Client doesn't handle double quotes in savepoint names
Date Thu, 31 Mar 2011 18:42:08 GMT

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

Knut Anders Hatlen updated DERBY-5170:
--------------------------------------

    Attachment: derby-5170-1a.diff

Attaching a patch that makes the repro test case pass with the client driver too.

The Connection class generates SQL statements to create, release and roll back to savepoints,
but it doesn't quote the savepoint names properly. The ResultSet class had a private helper
method that did proper quoting of SQL identifiers. I moved this method to a utility class
so that it could be used by the Connection class too.

> Client doesn't handle double quotes in savepoint names
> ------------------------------------------------------
>
>                 Key: DERBY-5170
>                 URL: https://issues.apache.org/jira/browse/DERBY-5170
>             Project: Derby
>          Issue Type: Bug
>          Components: JDBC
>    Affects Versions: 10.7.1.1
>            Reporter: Knut Anders Hatlen
>            Assignee: Knut Anders Hatlen
>         Attachments: derby-5170-1a.diff
>
>
> I added the following test case to SavepointJdbc30Test and saw that it failed with the
client driver:
>     public void testQuotes() throws SQLException {
>         setAutoCommit(false);
>         Statement s = createStatement();
>         s.execute("create table test_quotes(x int)");
>         s.execute("insert into test_quotes values 1");
>         Savepoint sp = getConnection().setSavepoint("a \" b ' c");
>         s.execute("insert into test_quotes values 2");
>         getConnection().rollback(sp);
>         JDBC.assertSingleValueResultSet(
>                 s.executeQuery("select * from test_quotes"),
>                 "1");
>     }
> Embedded had no problems with the savepoint, but the client raised this error when calling
setSavepoint():
> java.sql.SQLSyntaxErrorException: Syntax error: Encountered "b" at line 1, column 16.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

Mime
View raw message