Search Mailing List Archives
[protege-discussion] Oracle backend
Jonathan Carter
jonathan.carter at e-asolutions.com
Wed Jul 1 15:52:38 PDT 2009
Thanks very much for posting this.
Good to know that this is a repeatable issue and that there is
something that can be done. It would be good to see this make its way
into the next update to Protege.
Jonathan
_______________________________________
Jonathan Carter - Head of Technical Architecture
Enterprise Architecture Solutions Ltd
_______________________________________
Proud sponsors of The Essential Project.
The free open-source Enterprise Architecture Management Platform
www.enterprise-architecture.org
_______________________________________
On 1 Jul 2009, at 23:34, scott o wrote:
> I encountered Oracle backend problems in Protege 3.4.1 (Build 537)
> when changing the project format from pont/pins to database similar
> to those described in:
> https://mailman.stanford.edu/pipermail/protege-discussion/2009-June/003303.html
>
> The problems I encountered were these:
> 1 - Index creation failed because varchar2 fields exceeded the block
> size of the database instance,
> 2 - inserts failed on null facets because the table creation
> statements restricted null values,
> 3 - select and insert statements failed during attempts to match
> empty strings representing null facets.
>
> I modified the DefaultDatabaseFrameDb.java class for a workable
> solution:
> 1 - Separated the index creation on the base table to have an index
> for each frame/facet/slot column (the resulting index does not
> exceed the block size defined as 8k in my database - Oracle
> databases with larger block sizes may not encounter the problem - I
> have not tested performance on large datasets),
> 2 - Removed the NOT NULL constraint on the frame/facet/slot columns
> (facet values can be null, i.e. empty strings - Oracle treats empty
> strings as nulls),
> 3a - Modified each select/insert statement to hard-code "facet is
> null" when the facet instance is null (Oracle does not match facet =
> '' when the column value is null),
> 3b - adjusted the statement parameter assignments accordingly (order
> of parameters in the prepared statement needed to change to
> accommodate the change to the null facet handling).
>
> I have done limited testing, but these fixes seem to work.
>
> _______________________________________________
> protege-discussion mailing list
> protege-discussion at lists.stanford.edu
> https://mailman.stanford.edu/mailman/listinfo/protege-discussion
>
> Instructions for unsubscribing: http://protege.stanford.edu/doc/faq.html#01a.03
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.stanford.edu/pipermail/protege-discussion/attachments/20090701/df281e38/attachment.html>
More information about the protege-discussion
mailing list