db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "A B (JIRA)" <j...@apache.org>
Subject [jira] Commented: (DERBY-2249) Place holder to attach the long running test which will test Derby's improved optimizer
Date Fri, 16 Feb 2007 17:27:05 GMT

    [ https://issues.apache.org/jira/browse/DERBY-2249?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12473760
] 

A B commented on DERBY-2249:
----------------------------

I don't how (or if?) the discussion of where to put the new test and of what to call it ended,
but in any event I was able to build it with the build.xml file (after removing the references
to "mailjdbc" and "sttest" from DERBY-2249_diff.txt) so thank you for providing it.  I then
started playing around with the test and my initial comments are below.

** 1) In an attempt to get the test to run quickly just so I could see what it does, I changed
the values in StaticValues.java to the following:

    public static int NUM_OF_ROWS=100; //Total number of rows expected in each table
    public static int NUM_OF_TABLES=8; //Total number of tables to be created
    public static int ITER=3;          //Number of iterations of each query

When I then tried to run the test, I saw several failures (see below).  Are there any restrictions
on what these values can or should be?  When I specified them as shown above I saw the following
errors:

  1) While creating views:

   SQLState = 42X05, java.sql.SQLException: Table/View 'MYTABLE16' does not exist. (x2)
   SQLState = 42X05, java.sql.SQLException: Table/View 'MYTABLE32' does not exist. (x4)
   SQLState = 42X05, java.sql.SQLException: Table/View 'MYTABLE9' does not exist.
   SQLState = 42X05, java.sql.SQLException: Table/View 'MYTABLE11' does not exist.
   SQLState = 42X05, java.sql.SQLException: Table/View 'MYTABLE13' does not exist.
   SQLState = 42X05, java.sql.SQLException: Table/View 'MYTABLE15' does not exist.

  2) While running query "Select from single view":

   SQLState= 42X05
   ErrorCode= 30000
   Message= Table/View 'V16' does not exist.

  3) While printing results:

   QueryName       Using PreparedStatment  Using Statement Rows Expected
   ------------------------------------------------------------------------------
   Exception in thread "main" java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
        at java.util.ArrayList.RangeCheck(ArrayList.java(Inlined Compiled Code))
        at java.util.ArrayList.get(ArrayList.java(Compiled Code))
        at org.apache.derbyTesting.system.langtest.RunLangTest.printResults(RunLangTest.java:141)
        at org.apache.derbyTesting.system.langtest.RunLangTest.main(RunLangTest.java:121)

I tried increasing the number of tables to 32 but I still saw the same errors (just with different
table/view names).  I then put it back to 64 (the default) and the test ran to completion.

** 2) The "R E S U L T S" output at the end of the test is very nice.  While the test is running,
though, a lot of info is printed to the screen, including the queries themselves.  All of
that info (esp. the queries themselves) is a bit overwhelming (to me, at least ;) I wonder
if it might be better to just use query numbers like we do in the results? Or else completely
disable the in-progress output and just print the results at the end, since that has all of
the relevant information? Perhaps we could add a test parameter that allows for echoing of
the query text if the user chooses ("verbose")?  Certainly not a requirement, though; just
a "wish" item.

** 3) It was not clear to me from the README that specification of "-qlist" means that the
test will search for a file named 'query.list' in the *current* directory (I thought I was
supposed to pass the path to query.list in as an argument).  It also was not clear to me that
if I did *not* specify "-qlist" the test would _still_ search for a file named 'query.list'
in the current directory, with the apparent intent of running the default queries AND the
queries in 'query.list'.  Is that correct?

** 4) Is there more info available about what is expected in the "query.list" file if one
is specified?  I tried creating a query.list file that had a couple of queries pulled from
"Query2.java" but the result was a failure with a syntax error (it looks like maybe the "select"
keyword is being stripped?).  I tried putting quotes around the query but that didn't help.
 Also, if we want to specify more than one query in 'query.list', what's the delimiter? Is
that even possible? I think it would be good if all of the relevant information about 'query.list'
could be included in the README file.

** 5) I think it would be great if more comments could be added to the various queries in
the QueryX.java files.  For example, I opened up Query2.java and thought all of the queries
were the same.  Only after staring at them for a while did I realize that there were identical
*except* for the views that they use (v8 vs v16 vs v32, etc).  A comment to that effect might
save people who look at the queries some time.  Similarly for utils/TestViews.java (ex. what's
the difference between "v8" and "v8_2"?)

Note that since this new test is not going to run as part of derbyall nor as part of suites.All,
it seems reasonable to commit the new files (once we decide where to put them) as they are
and then to address the issues described below as follow-up patches.  After all, "progress
not perfection" is the goal here, with the underlying assumption that we don't break anything
in the process ;)  So once the decision has been made about where to put the new files, I'd
be willing to commit them, assuming that no one objects.  Once committed you (or anyone else
who is so inclined) could post follow-up patches to address the above comments.

> Place holder to attach the long running test which will test Derby's improved optimizer
> ---------------------------------------------------------------------------------------
>
>                 Key: DERBY-2249
>                 URL: https://issues.apache.org/jira/browse/DERBY-2249
>             Project: Derby
>          Issue Type: Test
>          Components: Test
>    Affects Versions: 10.3.0.0
>            Reporter: Manjula Kutty
>         Assigned To: Manjula Kutty
>            Priority: Trivial
>         Attachments: build.xml, DERBY-2249_diff.txt, LangTest.zip
>
>
> Will be adding a test for the improved optimizer particularly to test the fix for DERBY-805
and DERBY-1205. Once the files are committed will provide a link to both of those issues.

-- 
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