[ http://issues.apache.org/jira/browse/DERBY-1315?page=all ]
Daniel John Debrunner updated DERBY-1315: ----------------------------------------- Component/s: SQL (was: Test) This is not a test issue, it's a bug in the SQL system. > largeCodeGen fails with embedded and framework DerbyNetClient > ------------------------------------------------------------- > > Key: DERBY-1315 > URL: http://issues.apache.org/jira/browse/DERBY-1315 > Project: Derby > Issue Type: Bug > Components: SQL > Affects Versions: 10.2.0.0 > Environment: Linux - Suse 2.6.5-7.252 > Reporter: Ramandeep Kaur > Priority: Minor > Attachments: 1315-comparison.html, largeCodeGen.java, > largeCodeGen.out, largeCodeGen.sql, largeCodeGen.tmp, largeCodeGen.tmpmstr > > > The test case lang/largeCodeGen.java was run as is without giving any > -Djvmflags="-mx512M -ms512M" and gave the following error: > *** Start: largeCodeGen jdk1.4.2 largeDataTests:largeDataTests 2006-04-29 > 08:30:04 *** > 27a28 > > JVMST109: Insufficient space in Javaheap to satisfy allocation request > Test Failed. > *** End: largeCodeGen jdk1.4.2 largeDataTests:largeDataTests 2006-04-29 > 08:32:01 *** > > Then the test case lang/largeCodeGen.java was run with -Djvmflags="-mx512M > -ms512M", and it gave the following error: > < PASS: IN clause with 97000 parameters > 20 del > < PASS: PREPARE: IN clause with 98000 parameters > 21 del > < PASS: IN clause with 98000 parameters > 22 del > < FAILED QUERY: IN clause with 99000 parameters. > 22a19 > > FAILED QUERY: IN clause with 97000 parameters. > Test Failed. > Then I modified test case lang/largeCodeGen.java to set > PRINT_FAILURE_EXCEPTION to true and ran the test again. This time I got the > following error and stack trace: > MasterFileName = master/largeCodeGen.out > 15a16,18 > > java.sql.SQLException: Statement too complex. Try rewriting the query to > > remove > complexity. Eliminating many duplicate expressions or breaking up the query > and > storing interim results in a temporary table can often help resolve this error > . SQLSTATE: XBCM4: Java class file format limit(s) exceeded: method:e1 > code_leng > th (65577 > 65535) in generated class > org.apache.derby.exe.ac46a08075x010bx203ax > d010x000050a9065e9. > > Caused by: org.apache.derby.client.am.SqlException: Statement too complex. > > Try > rewriting the query to remove complexity. Eliminating many duplicate > expression > s or breaking up the query and storing interim results in a temporary table > can > often help resolve this error. SQLSTATE: XBCM4: Java class file format > limit(s) > exceeded: method:e1 code_length (65577 > 65535) in generated class > org.apache.derby.exe.ac46a08075x010bx203axd010x000050a9065e9 . > > ... 4 more > 19 del > < PASS: IN clause with 97000 parameters > 20 del > < PASS: PREPARE: IN clause with 98000 parameters > 21 del > < PASS: IN clause with 98000 parameters > 22 del > < FAILED QUERY: IN clause with 99000 parameters. > 22a22,29 > > FAILED QUERY: IN clause with 97000 parameters. > > java.sql.SQLException: The parameter position '31,465' is out of range. > > The > number of parameters for this prepared statement is '31,464'. > > at > > org.apache.derby.client.am.PreparedStatement.setInt(PreparedStatement > .java(Compiled Code)) > > Caused by: org.apache.derby.client.am.SqlException: The parameter position > > '31 > ,465' is out of range. The number of parameters for this prepared statement > is > '31,464'. > > at > > org.apache.derby.client.am.PreparedStatement.checkForValidParameterIn > dex(PreparedStatement.java(Compiled Code)) > > at > > org.apache.derby.client.am.PreparedStatement.checkSetterPreconditions > (PreparedStatement.java(Inlined Compiled Code)) > > at > > org.apache.derby.client.am.PreparedStatement.setIntX(PreparedStatemen > t.java(Inlined Compiled Code)) > > ... 5 more > 27a35,37 > > java.sql.SQLException : Statement too complex. Try rewriting the query to > > remove > complexity. Eliminating many duplicate expressions or breaking up the query > and > storing interim results in a temporary table can often help resolve this > error > . SQLSTATE: XBCM4: Java class file format limit(s) exceeded: > method:fillResultSe > t code_length (69127 > 65535) in generated class > org.apache.derby.exe.ac46a08075x010bx203axd010x000050a9065e11. > > Caused by: org.apache.derby.client.am.SqlException: Statement too complex. > > Try > rewriting the query to remove complexity. Eliminating many duplicate > expression > s or breaking up the query and storing interim results in a temporary table > can > often help resolve this error. SQLSTATE: XBCM4: Java class file format > limit(s) > exceeded: method:fillResultSet code_length (69127 > 65535) in generated class > org.apache.derby.exe.ac46a08075x010bx203axd010x000050a9065e11 . > > ... 3 more > 28 add > > java.sql.SQLException: Java exception: ': java.lang.OutOfMemoryError'. > > Caused by: org.apache.derby.client.am.SqlException: Java exception: ': > java.lang.OutOfMemoryError '. > > ... 3 more > Test Failed. -- 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