You are viewing a plain text version of this content. The canonical link for it is here.
Posted to derby-dev@db.apache.org by "Bryan Pendleton (JIRA)" <ji...@apache.org> on 2013/07/02 07:04:20 UTC

[jira] [Updated] (DERBY-6216) XPLAIN feature does not work and gives ERROR XCL16: ResultSet not open

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

Bryan Pendleton updated DERBY-6216:
-----------------------------------

    Attachment: preparedTests.diff

I added several tests of the behavior with PreparedStatements.

I'm not sure I understand the behavior completely. But the
current behavior may be acceptable, for now; at least it
doesn't crash.

In addition to the new tests, I also added code to set the
isXplainOnlyMode member variable in BasicNoPutResultSetImpl

As Knut Anders observed, it's not completely obvious where
that variable should be set. Candidate locations include: the
constructor, the open() method, the reopen() method, and
perhaps other places.

The isXplainOnlyMode variable appears to be holding the
expected value, but the behavior of complex ResultSet
trees is intricate and indicates I may not have the right
location for this code yet.
                
> XPLAIN feature does not work and gives ERROR XCL16: ResultSet not open
> ----------------------------------------------------------------------
>
>                 Key: DERBY-6216
>                 URL: https://issues.apache.org/jira/browse/DERBY-6216
>             Project: Derby
>          Issue Type: Bug
>          Components: Tools
>    Affects Versions: 10.6.2.3, 10.7.1.4, 10.8.3.1, 10.9.1.0
>         Environment: Solaris 10, MacOS X 10.6, Windows XP
>            Reporter: Brett Bergquist
>            Assignee: Bryan Pendleton
>              Labels: derby_triage10_11, features
>         Attachments: addTests.diff, emptyRS.diff, preparedTests.diff, xplain-only.diff
>
>
> I am running Derby 10.9.1.0 and am trying to figure out a  performance problem with query taking too long.   I don’t actually want to run the query so from the documentation, I try:
> call syscs_util.syscs_set_runtimestatistics(1);
> call syscs_util.syscs_set_xplain_schema('STATS');
> call syscs_util.syscs_set_xplain_mode(1);
> --- my query here
> call syscs_util.syscs_set_runtimestatistics(0);
> call syscs_util.syscs_set_xplain_schema('');
> call syscs_util.syscs_set_xplain_mode(0);
> When it runs my query, I get:
> ERROR XCL16: ResultSet not open. Operation 'getMetaData' not permitted. Verify that autocommit is OFF.
> I try the following with IJ just to see:
> call syscs_util.syscs_set_runtimestatistics(1);
> call syscs_util.syscs_set_xplain_schema('STATS');
> call syscs_util.syscs_set_xplain_mode(1);
> select sql_text from syscs_diag.transaction_table where status != 'IDLE';
> call syscs_util.syscs_set_runtimestatistics(0);
> call syscs_util.syscs_set_xplain_schema('');
> call syscs_util.syscs_set_xplain_mode(0);
> Note I have tried this with real tables as apposed to the syscs_diag.transaction_table with the same result.  The only reason that I posted this with this table is that it is a table that is accessible for any database.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira