db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Knut Anders Hatlen (JIRA)" <derby-...@db.apache.org>
Subject [jira] Commented: (DERBY-1767) insertRow(), updateRow() and deleteRow() cannot handle table names and column names containing double quotes
Date Tue, 05 Sep 2006 13:24:23 GMT
    [ http://issues.apache.org/jira/browse/DERBY-1767?page=comments#action_12432606 ] 
Knut Anders Hatlen commented on DERBY-1767:

Thanks Fernanda! The patch fixes the problem. Two minor comments:
  1) UpdatableResultSetTest contains an @author tag which should be removed.
  2) I was wondering whether quoteSqlIdentifier() would be a better name for replaceQuotesWithTwoQuotes().
In that case, it should also return the surrounding double quotes.

> insertRow(), updateRow() and deleteRow() cannot handle table names and column names containing
double quotes
> ------------------------------------------------------------------------------------------------------------
>                 Key: DERBY-1767
>                 URL: http://issues.apache.org/jira/browse/DERBY-1767
>             Project: Derby
>          Issue Type: Bug
>          Components: JDBC
>    Affects Versions:
>            Reporter: Knut Anders Hatlen
>         Assigned To: Fernanda Pizzorno
>            Priority: Minor
>         Attachments: derby-1767.diff, derby-1767.stat, QuotesInNames.java
> ResultSet.insertRow(), ResultSet.updateRow() and ResultSet.deleteRow() fail with syntax
error if the table name or a column name contains a double quote character. The attached repro
gives this stack trace:
> Exception in thread "main" java.sql.SQLSyntaxErrorException: Syntax error: Encountered
"quoted" at line 1, column 24.
>         at org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(SQLExceptionFactory.java:45)
>         at org.apache.derby.impl.jdbc.SQLExceptionFactory40.wrapArgsForTransportAcrossDRDA(SQLExceptionFactory40.java:137)
>         at org.apache.derby.impl.jdbc.SQLExceptionFactory40.getSQLException(SQLExceptionFactory40.java:72)
>         at org.apache.derby.impl.jdbc.Util.generateCsSQLException(Util.java:203)
>         at org.apache.derby.impl.jdbc.TransactionResourceImpl.wrapInSQLException(TransactionResourceImpl.java:380)
>         at org.apache.derby.impl.jdbc.TransactionResourceImpl.handleException(TransactionResourceImpl.java:345)
>         at org.apache.derby.impl.jdbc.EmbedConnection.handleException(EmbedConnection.java:1378)
>         at org.apache.derby.impl.jdbc.ConnectionChild.handleException(ConnectionChild.java:81)
>         at org.apache.derby.impl.jdbc.EmbedResultSet.closeOnTransactionError(EmbedResultSet.java:4342)
>         at org.apache.derby.impl.jdbc.EmbedResultSet.insertRow(EmbedResultSet.java:3678)
>         at QuotesInNames.main(QuotesInNames.java:15)
> Caused by: java.sql.SQLException: Syntax error: Encountered "quoted" at line 1, column
>         ... 11 more

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


View raw message