[ 
https://issues.apache.org/jira/browse/DERBY-590?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Rick Hillegas updated DERBY-590:
--------------------------------

    Attachment: derby-590-21-aa-noTimeTravel.diff

Attaching derby-590-21-aa-noTimeTravel.diff. This patch adds a check which 
prevents you from using an earlier version of Lucene to read an index created 
by a later version of Lucene.

It's my impression that Lucene makes weaker backward compatibility guarantees 
than Derby does. And there are few products which support this kind of time 
travel. I think it is safest to disallow this up front. If we find cases in 
which this limitation can be relaxed, then we can consider loosening this 
restriction later on.

This patch also adds a new testing switch. By default, Lucene plugin test 
results hardwire the expected version number as 4.5.0. However, by setting the 
following flag, you can tell the tests that you are using a different Lucene 
version...

  -Dderby.tests.lucene.version=$luceneVersionName

...where $luceneVersionName is a string like "4.5.0" or "4.7.1".



Touches the following files:

-------------

M       java/engine/org/apache/derby/loc/messages.xml
M       java/shared/org/apache/derby/shared/common/reference/SQLState.java
M       java/optional/org/apache/derby/optional/lucene/LuceneQueryVTI.java

New error message and new check to verify that time travel isn't allowed.

-------------

M       
java/testing/org/apache/derbyTesting/functionTests/tests/lang/LuceneSupportPermsTest.java

Adds support for new derby.tests.lucene.version knob.


> How to integrate Derby with Lucene API?
> ---------------------------------------
>
>                 Key: DERBY-590
>                 URL: https://issues.apache.org/jira/browse/DERBY-590
>             Project: Derby
>          Issue Type: Improvement
>          Components: Documentation, SQL
>            Reporter: Abhijeet Mahesh
>              Labels: derby_triage10_11
>         Attachments: derby-590-01-ag-publicAccessToLuceneRoutines.diff, 
> derby-590-01-ah-publicAccessToLuceneRoutines.diff, 
> derby-590-01-am-publicAccessToLuceneRoutines.diff, 
> derby-590-02-aa-cleanupFindbugsErrors.diff, 
> derby-590-03-aa-removeTestingDiagnostic.diff, 
> derby-590-04-aa-removeIDFromListIndexes.diff, 
> derby-590-05-aa-accessDeclaredMembers.diff, 
> derby-590-06-aa-suppressAccessChecks.diff, 
> derby-590-07-aa-accessClassInPackage.sun.misc.diff, 
> derby-590-08-aa-omitLuceneFlag.diff, 
> derby-590-09-aa-localeSensitiveAnalysis.diff, 
> derby-590-10-aa-fixLocaleTest.diff, derby-590-11-aa-moveCode.diff, 
> derby-590-12-aa-newJar.diff, derby-590-13-aa-indexViews.diff, 
> derby-590-14-aa-coarseGrainedAuthorization.diff, 
> derby-590-15-aa-requireHardUpgrade.diff, 
> derby-590-16-aa-adjustUpgradeTest.diff, 
> derby-590-17-aa-closeInputStreamOnPropertiesFile.diff, 
> derby-590-18-aa-cleanupAPI.diff, derby-590-19-aa-cleanupAPI2.diff, 
> derby-590-20-aa-customQueryParser.diff, derby-590-21-aa-noTimeTravel.diff, 
> lucene_demo.diff, lucene_demo_2.diff
>
>
> In order to use derby with lucene API what should be the steps to be taken? 



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to