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 "Kristian Waagan (JIRA)" <ji...@apache.org> on 2011/05/30 21:11:48 UTC
[jira] [Updated] (DERBY-5253) Engine code references
org.apache.derby.shared.common.sanity.SanityManager
[ https://issues.apache.org/jira/browse/DERBY-5253?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Kristian Waagan updated DERBY-5253:
-----------------------------------
Attachment: derby-5253-1a-engine_imports.diff
Attached patch 1a, which replaces the imports from common with imports from iapi.
Patch ready for review. I intend to commit this pretty soon.
> Engine code references org.apache.derby.shared.common.sanity.SanityManager
> --------------------------------------------------------------------------
>
> Key: DERBY-5253
> URL: https://issues.apache.org/jira/browse/DERBY-5253
> Project: Derby
> Issue Type: Bug
> Components: Miscellaneous
> Affects Versions: 10.9.0.0
> Reporter: Kristian Waagan
> Assignee: Kristian Waagan
> Priority: Minor
> Attachments: derby-5253-1a-engine_imports.diff
>
>
> Derby engine code is importing org.apache.derby.shared.common.sanity.SanityManager, causing sealing violations. See DERBY-4669 why this fix is inadequate.
> Even though this won't fix the/all problems, using shared.common.sanity.SanityManager on the client and iapi.services.sanity.SanityManager in the engine code is a simple rule to follow. Violations are also easily addressed.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
Re: [jira] [Updated] (DERBY-5253) Engine code references org.apache.derby.shared.common.sanity.SanityManager
Posted by Knut Anders Hatlen <kn...@oracle.com>.
dag.wanvik@oracle.com (Dag H. Wanvik) writes:
> "Kristian Waagan (JIRA)" <ji...@apache.org> writes:
>
>> Attached patch 1a, which replaces the imports from common with imports from iapi.
>
> So, if the "shared" and "common" stuff can't be used by the embedded
> driver/engine code, how is it shared? Shared between client driver and
> tools?
The "shared" and "common" stuff is actually used by the engine code,
since the iapi SanityManager class is a sub-class of
shared.common.sanity.SanityManager. The sanity classes were given a
special exception from the rule because they're not in the production
jars. See this thread:
http://mail-archives.apache.org/mod_mbox/db-derby-dev/200603.mbox/%3C44160E0C.3010500@sun.com%3E
I think the reason for the names "common" and "shared" was that the code
was intended to be shared between the drivers, but the details on how
this could be done without causing shadowing problems had not been
worked out yet. There are some proposals on how to solve it on
DERBY-289. Also lots of long threads on derby-dev (search the archive
for "shared" between Sep 2005 and Nov 2005 in case you're interested),
but it never got completed.
--
Knut Anders
Re: [jira] [Updated] (DERBY-5253) Engine code references org.apache.derby.shared.common.sanity.SanityManager
Posted by "Dag H. Wanvik" <da...@oracle.com>.
"Kristian Waagan (JIRA)" <ji...@apache.org> writes:
> Attached patch 1a, which replaces the imports from common with imports from iapi.
So, if the "shared" and "common" stuff can't be used by the embedded
driver/engine code, how is it shared? Shared between client driver and
tools?
Dag