Search Mailing List Archives


Limit search to: Subject & Body Subject Author
Sort by: Reverse Sort
Limit to: All This Week Last Week This Month Last Month
Select Date Range     through    

[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