db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Daniel John Debrunner (JIRA)" <j...@apache.org>
Subject [jira] Commented: (DERBY-1585) derbylang/procedureInTrigger: not able to create trigger due to an open ResultSet
Date Tue, 04 Dec 2007 18:07:51 GMT

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

Daniel John Debrunner commented on DERBY-1585:
----------------------------------------------

Section 4.27.5 of the TECHNICAL CORRIGENDUM 1 to the SQL 2003 Standard details what happens
to dynamic result sets in detail, the SQL 2003 foundation document is missing these details.


If the dynamic result sets are unreachable, which they will be for a CALL statement as a trigger's
single action statement, then they must be destroyed, which is ResultSet.close() in JDBC terms.

Thus I think the general idea of the close.diff is correct, but I think a cleaner implementation
would be to encapsulate the logic in the close of the activation for the CALL statement. (also
need to ensure that all result sets are closed, regardless of any exceptions).

> derbylang/procedureInTrigger: not able to create trigger due to an open ResultSet
> ---------------------------------------------------------------------------------
>
>                 Key: DERBY-1585
>                 URL: https://issues.apache.org/jira/browse/DERBY-1585
>             Project: Derby
>          Issue Type: Bug
>          Components: SQL
>    Affects Versions: 10.2.1.6
>         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:  
> test/junit.jar:test/dbprocedures.jar:test/jmxremote.jar:test/javadbtests.jar: test/Dots.jar:test/mail.jar:test/activation.jar:test/Perfmon.jar:
test/jakarta-oro-2.0.8.jar:test/commons-logging.jar:test/jagops.jar: test/jdmkrt.jar:test/db2jcc_license_c.jar:test/jet.jar:test/jetbatch.jar:
test/db2jcc.jar:test/jag.jar:test/jagclient.jar:test/jagutils.jar:test/GenCfg.jar: test/jmxremote_optional.jar:test/jmx.jar:test/hadbjdbc4.jar:derbyTesting.jar:
derby.jar:derbyLocale_zh_TW.jar:derbytools.jar:derbyLocale_ko_KR.jar: derbyLocale_zh_CN.jar:derbyLocale_es.jar:derbyLocale_de_DE.jar:derbyLocale_ja_JP.jar:
derbynet.jar:derbyLocale_pt_BR.jar:derbyclient.jar:derbyLocale_fr.jar:derbyrun.jar: 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
>            Assignee: Daniel John Debrunner
>         Attachments: close.diff, 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.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message