[EMAIL PROTECTED] schrieb:
Peter Nabbefeld <[EMAIL PROTECTED]> writes:
[snip]
Is the default schema the owner of the trigger then? Or why is the
default schema needed, if I set a trigger on a table in a non-default
schema?
Creating a trigger reequires a "compile schema". And the default
schema is used. (Even if you write something like CREATE TRIGGER
schemaX.t1...)
A schema that is being used but does not exist (has not been
created persistently) has a null UUID.
JDBC Connection's don't have a UUID that represents the identity of
the
owner. Derby's engine code is centered around the
LanguageConnectionContext (LCC) and not the JDBC Connection object. The
JDBC object could be seen as just a wrapper on top of LCC. Thus most of
the connection's state that is relevant to the SQL language layer is
held in the LCC.
I cannot find any UUID getter methods neither in LLC nor its
superclass, while from my point of view there should exist some ...
LCC->SchemaDescriptor->getUUId()
http://incubator.apache.org/derby/javadoc/engine/org/apache/derby/iapi/sql/conn/LanguageConnectionContext.html
http://incubator.apache.org/derby/javadoc/engine/org/apache/derby/iapi/sql/dictionary/SchemaDescriptor.html
I've looked at it. As I've seen, LLC supports only to get the default
schema (so it seems to be difficult to get a non-default schema for
compilation; probably "getSchema(String name)" should be added to LLC).
However, if there is no default user schema, default schema should be
"APP", not null (if I've understood the comment for "protected
SchemaDescriptor initDefaultSchemaDescriptor() ..." in
GenericLanguageConnectionContext correct).
Kind regards
Peter