SourceForge.net Logo

openCRX v1.11 with PostgreSQL on Linux


Puzzling behavior of PostgreSQL

Based on our analysis PostgreSQL is not behaving consistently across platforms. The replies to the following (trivial) select statements are irritating:

Select Statement expected reply pg 8.1
on Windows
pg 8.1
on Kubuntu 7.0.4
pg 8.2
on Kubuntu 7.0.4
select '0' > '/'
true true true true
select '0' > '/a'
true true false false
select '0' > '/aa'
true true false false

The replies of pg 8.1 on Windows are correct, some of the replies of pg on Linux are (in our opinion) not correct. This puzzling behavior is the reason why the standard distribution of openCRX v1.11.0 does not work with PostgreSQL on Linux.

A note to the PostgreSQL community:
We are aware of locale-specific sorting, but the results of the above 3 select statements should be true for any locale as

'0' > '/' implies '0' > '/(.)+'

(unless '/' is treated as some kind of special escape character in a particular locale so that '/a < '0' is true for such a locale; to our best knowledge, such a locale does not exist).

^top


How to get openCRX v1.11.0 up and running with PostgreSQL on Linux

We made an updated library available that works around the above-mentioned PostgreSQL bug. Follow the steps below to get openCRX v1.11 up and running with PostgreSQL on Linux:

  1. Download the file openmdx-1.18.2-CR20006378-openmdx-base.jre-1.5.zip from Sourceforge.
  2. The above ZIP file contains the file openmdx-base.jar which you copy to the openCRX directory opencrx-1.11.0/opt/openmdx-1.18.2/jre-1.5/core/lib (replace the existing file openmdx-base.jar) .
  3. In case you already built the openCRX EARs at an earlier time, delete them (they are located in the directory opencrx-1.11.0\jre-1.5\core\deployment-unit).
  4. Build new EARs with ant assemble (see also Building Runtime Binaries).

^top

http://www.crixp.com/ http://www.openmdx.org/