db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Rick Hillegas (JIRA)" <j...@apache.org>
Subject [jira] Updated: (DERBY-3676) Make the toString() method of Derby PreparedStatements print out SQL text with ? parameters replaced by the values that have been set so far
Date Tue, 08 Sep 2009 15:39:57 GMT

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

Rick Hillegas updated DERBY-3676:
---------------------------------

    Attachment: statementCacheVTI.sql

Thanks for the new patch, Mark.

I agree that

  String sqlText = ps.toString();

is more elegant than

  String sqlText ((DerbyPreparedStatement) ps).getFullSQLText();

However, like Dag, I am reluctant to change the meaning of toString(). Technically it's true
that we haven't documented anywhere that PreparedStatement.toString() matches the SQL_TEXT
column of the StatementCache vti. Still, PreparedStatement.toString() has had that meaning
for more than a decade and I have no idea who depends on that fact. (For an example of using
the StatementCache vti, see the attached ij script, statementCacheVTI.sql.)

I think that it's fine to add a new method which has the desired MySQL-like behavior and document
that new method in the DerbyPreparedStatement interface. 

Concerning Dag's other comments:

1) Yes, please let us know what getFullSQLText() will return when the parameter is a stream
or Blob/Clob.

2) We will need you to fill out an ICLA. See http://www.apache.org/licenses/#clas

Thanks,
-Rick

> Make the toString() method of Derby PreparedStatements print out SQL text with ? parameters
replaced by the values that have been set so far
> --------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: DERBY-3676
>                 URL: https://issues.apache.org/jira/browse/DERBY-3676
>             Project: Derby
>          Issue Type: Improvement
>          Components: JDBC
>            Reporter: Rick Hillegas
>         Attachments: humanstringprepared.txt, humanstringprepared.txt, humanstringprepared.txt,
humanstringprepared.txt, humanstringprepared.txt, humanstringprepared.txt, humanstringprepared.txt,
ick.txt, ick.txt, statementCacheVTI.sql
>
>
> This topic came up in the following email thread on the user list: http://www.nabble.com/PreparedStatement.toString%28%29---nice-formatting-td17250811.html#a17250811
Here's what the thread requests: 
> "In mysql, a toString() on a PreparedStatement will do this, eg "select x
> from foo where x.a = ?" will become "select x from foo where x.a = 1" with
> the appropriate setValue() call."
> At first blush, this seems like it might be a simple project for a newcomer.

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


Mime
View raw message