db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Rick Hillegas <rick.hille...@gmail.com>
Subject Re: Presentation and Question
Date Sun, 23 Aug 2020 15:54:48 GMT
Hey Ludo,

Before over-rotating on the Lucene support, please keep the following in 

* The Derby Lucene support is an optional feature. Derby runs fine 
without Lucene jars on the classpath. The optional tools can be excluded 
from your installation. In fact, you have to go out of your way to 
include them.

* If you do want to use the Derby Lucene support, then use the Lucene 
jars which are bundled in the Derby source distro. They are the ones 
that have been tested. They can be found at the following location in 
the source tree:




* More information on the Derby optional Lucene support can be found at 

* The Lucene 8 jars will almost certainly not work with Derby. Lucene 
does not make the same backward compatibility guarantees as Derby does. 
If your mission is to upgrade Derby to be able to use Lucene 8, then you 
are signing up for the task of altering the Derby code as well. At this 
point, you are not talking about an rpm package for Derby. You are 
talking about an rpm package for your own forked version of Derby. If 
you want to contribute these changes to the community, that would be 
great, and I will be happy to coach you through the process. But we are 
talking about a new Derby release here. I don't think that upgrading 
Derby to support Lucene 8 is your ultimate goal. Please correct me if I 
misunderstand your goal.

The same is true for javacc. Note that javacc is not used by the Derby 
product. It is only used to compile Derby. There are issues involved in 
upgrading javacc to a higher version. The higher versions produce parser 
diagnostics which are harder to read. That is why we have not upgraded 
to javacc 5.0.

When we went through the rpm exercise the last time, there were two 

* The rpm must install all the code needed to compile the package. This 
should still be true. The Lucene jars and the javacc needed to compile 
Derby are bundled in the Derby source distro. The build scripts 
deliberately use the bundled Lucene jars and the bundled javacc. They do 
not use the versions of Lucene or javacc installed elsewhere on the 

* The executable code in the rpm must run on the Linux platform. This 
also should still be true, provided that the Derby version is 10.15 and 
the OS uses Java 9 or higher. If the operating system is at Java 8, then 
you want Derby 10.14 instead.

The problems you are wrestling with sound more complicated than that. 
Before forging ahead, I recommend that you verify that your goal really 
includes all of this complexity.

Hope this helps,

On 8/23/20 12:01 AM, Ludovic Hirlimann wrote:
> On 8/22/20 12:55 AM, Rick Hillegas wrote:
>> Hi Ludo,
>> Derby bundles libraries for Lucene 4.7 and javacc 4.0.
> So Lucene 8 ships within Fedora, So I probably have to patch what ships
> with derby to work properly with 8.
> And do the same thing with javacc.
> Ta
> Ludo

View raw message