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

scott o oswa at yahoo.com
Wed Jul 1 15:34:29 PDT 2009


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.


      
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.stanford.edu/pipermail/protege-discussion/attachments/20090701/6746e20e/attachment.html>


More information about the protege-discussion mailing list