You are viewing a plain text version of this content. The canonical link for it is here.
Posted to derby-commits@db.apache.org by fu...@apache.org on 2006/04/29 01:24:45 UTC
svn commit: r398036 - in /db/derby/code/branches/10.1/java:
build/org/apache/derbyBuild/ engine/org/apache/derby/impl/sql/execute/
testing/org/apache/derbyTesting/functionTests/master/
testing/org/apache/derbyTesting/functionTests/tests/lang/
Author: fuzzylogic
Date: Fri Apr 28 16:24:45 2006
New Revision: 398036
URL: http://svn.apache.org/viewcvs?rev=398036&view=rev
Log:
DERBY-85: Merge revision 378109 to 10.1 branch
Modified:
db/derby/code/branches/10.1/java/build/org/apache/derbyBuild/build.xml
db/derby/code/branches/10.1/java/engine/org/apache/derby/impl/sql/execute/CreateTriggerConstantAction.java
db/derby/code/branches/10.1/java/testing/org/apache/derbyTesting/functionTests/master/triggerGeneral.out
db/derby/code/branches/10.1/java/testing/org/apache/derbyTesting/functionTests/tests/lang/triggerGeneral.sql
Modified: db/derby/code/branches/10.1/java/build/org/apache/derbyBuild/build.xml
URL: http://svn.apache.org/viewcvs/db/derby/code/branches/10.1/java/build/org/apache/derbyBuild/build.xml?rev=398036&r1=398035&r2=398036&view=diff
==============================================================================
--- db/derby/code/branches/10.1/java/build/org/apache/derbyBuild/build.xml (original)
+++ db/derby/code/branches/10.1/java/build/org/apache/derbyBuild/build.xml Fri Apr 28 16:24:45 2006
@@ -33,7 +33,7 @@
srcdir="${derby.build.src.dir}"
destdir="${out.dir}">
<classpath>
- <pathelement path="${compile.classpath};${java.home}/../lib/tools.jar"/>
+ <pathelement path="${java14compile.classpath};${java.home}/../lib/tools.jar"/>
</classpath>
<include name="org/apache/derbyBuild/**"/>
</javac>
Modified: db/derby/code/branches/10.1/java/engine/org/apache/derby/impl/sql/execute/CreateTriggerConstantAction.java
URL: http://svn.apache.org/viewcvs/db/derby/code/branches/10.1/java/engine/org/apache/derby/impl/sql/execute/CreateTriggerConstantAction.java?rev=398036&r1=398035&r2=398036&view=diff
==============================================================================
--- db/derby/code/branches/10.1/java/engine/org/apache/derby/impl/sql/execute/CreateTriggerConstantAction.java (original)
+++ db/derby/code/branches/10.1/java/engine/org/apache/derby/impl/sql/execute/CreateTriggerConstantAction.java Fri Apr 28 16:24:45 2006
@@ -191,6 +191,21 @@
SchemaDescriptor triggerSd = getSchemaDescriptorForCreate(dd, activation, triggerSchemaName);
+ if (spsCompSchemaId == null) {
+ SchemaDescriptor def = lcc.getDefaultSchema();
+ if (def.getUUID() == null) {
+ // Descriptor for default schema is stale,
+ // look it up in the dictionary
+ def = dd.getSchemaDescriptor(def.getDescriptorName(), tc,
+ false);
+ }
+ spsCompSchemaId = def.getUUID();
+ }
+ if (SanityManager.DEBUG) {
+ SanityManager.ASSERT(spsCompSchemaId != null,
+ "spsCompSchemaId is null");
+ }
+
String tabName;
if (triggerTable != null)
{
Modified: db/derby/code/branches/10.1/java/testing/org/apache/derbyTesting/functionTests/master/triggerGeneral.out
URL: http://svn.apache.org/viewcvs/db/derby/code/branches/10.1/java/testing/org/apache/derbyTesting/functionTests/master/triggerGeneral.out?rev=398036&r1=398035&r2=398036&view=diff
==============================================================================
--- db/derby/code/branches/10.1/java/testing/org/apache/derbyTesting/functionTests/master/triggerGeneral.out (original)
+++ db/derby/code/branches/10.1/java/testing/org/apache/derbyTesting/functionTests/master/triggerGeneral.out Fri Apr 28 16:24:45 2006
@@ -1239,4 +1239,16 @@
Running DERBY-388 Test.
DERBY-388 Test Passed.
0 rows inserted/updated/deleted
-ij>
+ij> -- Derby-85: It turns out that if a table t1 exists in a non-default schema
+-- and the default schema (e.g., "SOMEUSER") doesn't exist yet (because no
+-- objects have been created in that schema), then attempts to create a
+-- trigger on t1 using its qualified name will lead to a null pointer
+-- exception in the Derby engine.
+connect 'wombat;user=someuser';
+ij(CONNECTION1)> autocommit off;
+ij(CONNECTION1)> create table myschema.mytable (i int);
+0 rows inserted/updated/deleted
+ij(CONNECTION1)> create trigger mytrigger after update on myschema.mytable for each row mode db2sql select * from sys.systables;
+0 rows inserted/updated/deleted
+ij(CONNECTION1)> rollback;
+ij(CONNECTION1)>
Modified: db/derby/code/branches/10.1/java/testing/org/apache/derbyTesting/functionTests/tests/lang/triggerGeneral.sql
URL: http://svn.apache.org/viewcvs/db/derby/code/branches/10.1/java/testing/org/apache/derbyTesting/functionTests/tests/lang/triggerGeneral.sql?rev=398036&r1=398035&r2=398036&view=diff
==============================================================================
--- db/derby/code/branches/10.1/java/testing/org/apache/derbyTesting/functionTests/tests/lang/triggerGeneral.sql (original)
+++ db/derby/code/branches/10.1/java/testing/org/apache/derbyTesting/functionTests/tests/lang/triggerGeneral.sql Fri Apr 28 16:24:45 2006
@@ -591,3 +591,14 @@
-- Just call the procedure; it will do the rest.
call d388();
+-- Derby-85: It turns out that if a table t1 exists in a non-default schema
+-- and the default schema (e.g., "SOMEUSER") doesn't exist yet (because no
+-- objects have been created in that schema), then attempts to create a
+-- trigger on t1 using its qualified name will lead to a null pointer
+-- exception in the Derby engine.
+connect 'wombat;user=someuser';
+autocommit off;
+create table myschema.mytable (i int);
+create trigger mytrigger after update on myschema.mytable for each row mode db2sql select * from sys.systables;
+rollback;
+