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 "Deepa Remesh (JIRA)" <de...@db.apache.org> on 2006/09/09 00:54:23 UTC

[jira] Updated: (DERBY-1585) derbylang/procedureInTrigger: not able to create trigger due to an open ResultSet

     [ http://issues.apache.org/jira/browse/DERBY-1585?page=all ]

Deepa Remesh updated DERBY-1585:
--------------------------------

    Attachment: derby1585_v1.diff
                derby1585_v1.status

Attaching a patch 'derby1585_v1.diff' to resolve the intermittent failure seen in the test lang/procedureInTrigger.sql.

The intermittent failure was happening when a result set returned by a procedure called from a trigger remains open. Then when we create another trigger on the same table, we get following exception:
ERROR X0X95: Operation 'CREATE TRIGGER' cannot be performed on object 'T1' because there is an open ResultSet dependent on that object.

The purpose of the test is only to test after/before triggers that call a procedure which executes a select statement. As we are calling the procedure from a trigger, there is no need to use a procedure that returns a result set. The result set cannot be accessed from the trigger. So I changed this test to call a new procedure which executes a select, uses the result set and closes it. I believe this will solve the intermittent failure.  

This patch modifies only tests. I ran the changed test multiple times on jdk142, jdk15, and j9_22 vm successfully. I modified the master file for jdk16 but have some trouble with jdk16 environment on my machine. So I haven't run the test on jdk16.

Please take a look at this patch and commit if okay.

> derbylang/procedureInTrigger: not able to create trigger due to an open ResultSet
> ---------------------------------------------------------------------------------
>
>                 Key: DERBY-1585
>                 URL: http://issues.apache.org/jira/browse/DERBY-1585
>             Project: Derby
>          Issue Type: Bug
>          Components: Regression Test Failure, Test
>    Affects Versions: 10.2.1.0
>         Environment: ------------------ Java Information ------------------
> Java Version:    1.6.0-rc
> Java Vendor:     Sun Microsystems Inc.
> Java home:       /usr/local/java/jdk1.6.0_b91/jre
> Java classpath:  /export/home/tmp/jagtmp/autoderbyN_regression/install/lib/test/junit.jar:/export/home/tmp/jagtmp/autoderbyN_regression/install/lib/test/dbprocedures.jar:/export/home/tmp/jagtmp/autoderbyN_regression/install/lib/test/jmxremote.jar:/export/home/tmp/jagtmp/autoderbyN_regression/install/lib/test/javadbtests.jar:/export/home/tmp/jagtmp/autoderbyN_regression/install/lib/test/Dots.jar:/export/home/tmp/jagtmp/autoderbyN_regression/install/lib/test/mail.jar:/export/home/tmp/jagtmp/autoderbyN_regression/install/lib/test/activation.jar:/export/home/tmp/jagtmp/autoderbyN_regression/install/lib/test/Perfmon.jar:/export/home/tmp/jagtmp/autoderbyN_regression/install/lib/test/jakarta-oro-2.0.8.jar:/export/home/tmp/jagtmp/autoderbyN_regression/install/lib/test/commons-logging.jar:/export/home/tmp/jagtmp/autoderbyN_regression/install/lib/test/jagops.jar:/export/home/tmp/jagtmp/autoderbyN_regression/install/lib/test/jdmkrt.jar:/export/home/tmp/jagtmp/autoderbyN_regression/install/lib/test/db2jcc_license_c.jar:/export/home/tmp/jagtmp/autoderbyN_regression/install/lib/test/jet.jar:/export/home/tmp/jagtmp/autoderbyN_regression/install/lib/test/jetbatch.jar:/export/home/tmp/jagtmp/autoderbyN_regression/install/lib/test/db2jcc.jar:/export/home/tmp/jagtmp/autoderbyN_regression/install/lib/test/jag.jar:/export/home/tmp/jagtmp/autoderbyN_regression/install/lib/test/jagclient.jar:/export/home/tmp/jagtmp/autoderbyN_regression/install/lib/test/jagutils.jar:/export/home/tmp/jagtmp/autoderbyN_regression/install/lib/test/GenCfg.jar:/export/home/tmp/jagtmp/autoderbyN_regression/install/lib/test/jmxremote_optional.jar:/export/home/tmp/jagtmp/autoderbyN_regression/install/lib/test/jmx.jar:/export/home/tmp/jagtmp/autoderbyN_regression/install/lib/test/hadbjdbc4.jar:/export/home/tmp/jagtmp/autoderbyN_regression/install/lib/derbyTesting.jar:/export/home/tmp/jagtmp/autoderbyN_regression/install/lib/derby.jar:/export/home/tmp/jagtmp/autoderbyN_regression/install/lib/derbyLocale_zh_TW.jar:/export/home/tmp/jagtmp/autoderbyN_regression/install/lib/derbytools.jar:/export/home/tmp/jagtmp/autoderbyN_regression/install/lib/derbyLocale_ko_KR.jar:/export/home/tmp/jagtmp/autoderbyN_regression/install/lib/derbyLocale_zh_CN.jar:/export/home/tmp/jagtmp/autoderbyN_regression/install/lib/derbyLocale_es.jar:/export/home/tmp/jagtmp/autoderbyN_regression/install/lib/derbyLocale_de_DE.jar:/export/home/tmp/jagtmp/autoderbyN_regression/install/lib/derbyLocale_ja_JP.jar:/export/home/tmp/jagtmp/autoderbyN_regression/install/lib/derbynet.jar:/export/home/tmp/jagtmp/autoderbyN_regression/install/lib/derbyLocale_pt_BR.jar:/export/home/tmp/jagtmp/autoderbyN_regression/install/lib/derbyclient.jar:/export/home/tmp/jagtmp/autoderbyN_regression/install/lib/derbyLocale_fr.jar:/export/home/tmp/jagtmp/autoderbyN_regression/install/lib/derbyrun.jar:/export/home/tmp/jagtmp/autoderbyN_regression/install/lib/derbyLocale_it.jar:
> OS name:         Linux
> OS architecture: i386
> OS version:      2.6.9-34.ELsmp
> java.specification.name: Java Platform API Specification
> java.specification.version: 1.6
> --------- Derby Information --------
> JRE - JDBC: Java SE 6 - JDBC 4.0
> [/export/home/tmp/jagtmp/autoderbyN_regression/install/lib/derby.jar] 10.2.0.4 alpha - (423199)
> [/export/home/tmp/jagtmp/autoderbyN_regression/install/lib/derbytools.jar] 10.2.0.4 alpha - (423199)
> [/export/home/tmp/jagtmp/autoderbyN_regression/install/lib/derbynet.jar] 10.2.0.4 alpha - (423199)
> [/export/home/tmp/jagtmp/autoderbyN_regression/install/lib/derbyclient.jar] 10.2.0.4 alpha - (423199)
> [/export/home/tmp/jagtmp/autoderbyN_regression/install/lib/test/db2jcc_license_c.jar] 2.4 - (17)
> [/export/home/tmp/jagtmp/autoderbyN_regression/install/lib/test/db2jcc.jar] 2.4 - (17)
> ------------------------------------------------------
> ----------------- Locale Information -----------------
> Current Locale :  [English/United States [en_US]]
> Found support for locale: [de_DE]
> 	 version: 10.2.0.4 alpha - (423199)
> Found support for locale: [es]
> 	 version: 10.2.0.4 alpha - (423199)
> Found support for locale: [fr]
> 	 version: 10.2.0.4 alpha - (423199)
> Found support for locale: [it]
> 	 version: 10.2.0.4 alpha - (423199)
> Found support for locale: [ja_JP]
> 	 version: 10.2.0.4 alpha - (423199)
> Found support for locale: [ko_KR]
> 	 version: 10.2.0.4 alpha - (423199)
> Found support for locale: [pt_BR]
> 	 version: 10.2.0.4 alpha - (423199)
> Found support for locale: [zh_CN]
> 	 version: 10.2.0.4 alpha - (423199)
> Found support for locale: [zh_TW]
> 	 version: 10.2.0.4 alpha - (423199)
> ------------------------------------------------------
>            Reporter: Henri van de Scheur
>         Assigned To: Deepa Remesh
>             Fix For: 10.2.1.0
>
>         Attachments: derby1585_v1.diff, derby1585_v1.status
>
>
> ********* Diff file derbyall/derbylang/procedureInTrigger.diff
> *** Start: procedureInTrigger jdk1.6.0-rc derbyall:derbylang 2006-07-19 13:52:20 ***
> 714a715,730
> > ERROR X0X95: Operation 'CREATE TRIGGER' cannot be performed on object 'T1' because there is an open ResultSet dependent on that object.
> > ij> --- delete a row. check that trigger is fired - procedure should be called once
> > delete from t1 where i=10;
> > 1 row inserted/updated/deleted
> > ij> --- check delete is successful
> > select * from t1;
> > I          |B              
> > ---------------------------
> > 5          |two            
> > 6          |four           
> > 8          |eight          
> > ij> drop trigger select_from_trig_table;
> > ERROR 42X94: TRIGGER 'SELECT_FROM_TRIG_TABLE' does not exist.
> > ij> --- use procedures which alter/drop trigger table and some other table
> > create trigger alter_table_trig AFTER delete on t1 
> > 	for each STATEMENT mode db2sql call alter_table_proc();
> 716,732d731
> < ij> --- delete a row. check that trigger is fired - procedure should be called once
> < delete from t1 where i=10;
> < selectRows - 1 arg - 1 rs
> < 1 row inserted/updated/deleted
> < ij> --- check delete is successful
> < select * from t1;
> < I          |B              
> < ---------------------------
> < 5          |two            
> < 6          |four           
> < 8          |eight          
> < ij> drop trigger select_from_trig_table;
> < 0 rows inserted/updated/deleted
> < ij> --- use procedures which alter/drop trigger table and some other table
> < create trigger alter_table_trig AFTER delete on t1 
> < 	for each STATEMENT mode db2sql call alter_table_proc();
> < 0 rows inserted/updated/deleted
> Test Failed.
> *** End:   procedureInTrigger jdk1.6.0-rc derbyall:derbylang 2006-07-19 13:52:34 ***

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