Subject: [Pljava-dev] Build problems with pljava-1.4.0

From: james at eracks.com (James Colannino)
Date: Fri, 20 Jun 2008 11:46:01 -0700

Hey everyone.  I apologize if this is a stupid question, but I'm new to 
databases in general, and don't yet know much about PLJava.  I'm trying 
to build PLJava against PostgreSQL, because there are no suitable binary 
packages available for my distribution, but when I try to run make, I 
get the errors listed below.  Does anyone have any idea as to what could 
be going wrong?  Thanks!

/usr/local/src/pljava-1.4.0/src/java/pljava/org/postgresql/pljava/jdbc/ObjectResultSet.java:290: 
reference to updateBlob is ambiguous, both method 
updateBlob(int,java.sql.Blob) in java.sql.ResultSet and method 
updateBlob(int,java.io.InputStream) in java.sql.ResultSet match
		this.updateBlob(columnIndex, new BlobValue(x, length));
		    ^
/usr/local/src/pljava-1.4.0/src/java/pljava/org/postgresql/pljava/jdbc/ObjectResultSet.java:320: 
reference to updateClob is ambiguous, both method 
updateClob(int,java.sql.Clob) in java.sql.ResultSet and method 
updateClob(int,java.io.Reader) in java.sql.ResultSet match
		this.updateClob(columnIndex, new ClobValue(x, length));
		    ^
/usr/local/src/pljava-1.4.0/src/java/pljava/org/postgresql/pljava/jdbc/TriggerResultSet.java:22: 
org.postgresql.pljava.jdbc.TriggerResultSet is not abstract and does not 
override abstract method updateNClob(java.lang.String,java.io.Reader) in 
java.sql.ResultSet
public class TriggerResultSet extends SingleRowResultSet
        ^
/usr/local/src/pljava-1.4.0/src/java/pljava/org/postgresql/pljava/jdbc/BlobValue.java:20: 
org.postgresql.pljava.jdbc.BlobValue is not abstract and does not 
override abstract method getBinaryStream(long,long) in java.sql.Blob
public class BlobValue extends InputStream implements Blob
        ^
/usr/local/src/pljava-1.4.0/src/java/pljava/org/postgresql/pljava/jdbc/SQLOutputToTuple.java:35: 
org.postgresql.pljava.jdbc.SQLOutputToTuple is not abstract and does not 
override abstract method writeSQLXML(java.sql.SQLXML) in java.sql.SQLOutput
public class SQLOutputToTuple implements SQLOutput
        ^
/usr/local/src/pljava-1.4.0/src/java/pljava/org/postgresql/pljava/jdbc/SPIStatement.java:25: 
org.postgresql.pljava.jdbc.SPIStatement is not abstract and does not 
override abstract method isPoolable() in java.sql.Statement
public class SPIStatement implements Statement
        ^
/usr/local/src/pljava-1.4.0/src/java/pljava/org/postgresql/pljava/jdbc/SPIConnection.java:42: 
org.postgresql.pljava.jdbc.SPIConnection is not abstract and does not 
override abstract method 
createStruct(java.lang.String,java.lang.Object[]) in java.sql.Connection
public class SPIConnection implements Connection
        ^
/usr/local/src/pljava-1.4.0/src/java/pljava/org/postgresql/pljava/jdbc/SQLInputFromTuple.java:34: 
org.postgresql.pljava.jdbc.SQLInputFromTuple is not abstract and does 
not override abstract method readRowId() in java.sql.SQLInput
public class SQLInputFromTuple extends JavaWrapper implements SQLInput
        ^
/usr/local/src/pljava-1.4.0/src/java/pljava/org/postgresql/pljava/jdbc/SPIDatabaseMetaData.java:19: 
org.postgresql.pljava.jdbc.SPIDatabaseMetaData is not abstract and does 
not override abstract method 
getFunctionColumns(java.lang.String,java.lang.String,java.lang.String,java.lang.String) 
in java.sql.DatabaseMetaData
public class SPIDatabaseMetaData implements DatabaseMetaData
        ^
/usr/local/src/pljava-1.4.0/src/java/pljava/org/postgresql/pljava/jdbc/SQLOutputToChunk.java:42: 
org.postgresql.pljava.jdbc.SQLOutputToChunk is not abstract and does not 
override abstract method writeSQLXML(java.sql.SQLXML) in java.sql.SQLOutput
public class SQLOutputToChunk implements SQLOutput
        ^
/usr/local/src/pljava-1.4.0/src/java/pljava/org/postgresql/pljava/jdbc/SPIResultSet.java:27: 
org.postgresql.pljava.jdbc.SPIResultSet is not abstract and does not 
override abstract method updateNClob(java.lang.String,java.io.Reader) in 
java.sql.ResultSet
public class SPIResultSet extends ResultSetBase
        ^
/usr/local/src/pljava-1.4.0/src/java/pljava/org/postgresql/pljava/jdbc/SPIResultSetMetaData.java:21: 
org.postgresql.pljava.jdbc.SPIResultSetMetaData is not abstract and does 
not override abstract method isWrapperFor(java.lang.Class) in 
java.sql.Wrapper
public class SPIResultSetMetaData extends AbstractResultSetMetaData
        ^
/usr/local/src/pljava-1.4.0/src/java/pljava/org/postgresql/pljava/jdbc/SQLInputFromChunk.java:40: 
org.postgresql.pljava.jdbc.SQLInputFromChunk is not abstract and does 
not override abstract method readRowId() in java.sql.SQLInput
public class SQLInputFromChunk implements SQLInput
        ^
/usr/local/src/pljava-1.4.0/src/java/pljava/org/postgresql/pljava/jdbc/SyntheticResultSet.java:21: 
org.postgresql.pljava.jdbc.SyntheticResultSet is not abstract and does 
not override abstract method 
updateNClob(java.lang.String,java.io.Reader) in java.sql.ResultSet
public class SyntheticResultSet extends ResultSetBase
        ^
/usr/local/src/pljava-1.4.0/src/java/pljava/org/postgresql/pljava/jdbc/SingleRowReader.java:22: 
org.postgresql.pljava.jdbc.SingleRowReader is not abstract and does not 
override abstract method updateNClob(java.lang.String,java.io.Reader) in 
java.sql.ResultSet
public class SingleRowReader extends SingleRowResultSet
        ^
/usr/local/src/pljava-1.4.0/src/java/pljava/org/postgresql/pljava/jdbc/SingleRowWriter.java:26: 
org.postgresql.pljava.jdbc.SingleRowWriter is not abstract and does not 
override abstract method updateNClob(java.lang.String,java.io.Reader) in 
java.sql.ResultSet
public class SingleRowWriter extends SingleRowResultSet
        ^
/usr/local/src/pljava-1.4.0/src/java/pljava/org/postgresql/pljava/jdbc/SPIPreparedStatement.java:38: 
org.postgresql.pljava.jdbc.SPIPreparedStatement is not abstract and does 
not override abstract method setNClob(int,java.io.Reader) in 
java.sql.PreparedStatement
public class SPIPreparedStatement extends SPIStatement implements 
PreparedStatement
        ^
/usr/local/src/pljava-1.4.0/src/java/pljava/org/postgresql/pljava/jdbc/SyntheticResultSetMetaData.java:20: 
org.postgresql.pljava.jdbc.SyntheticResultSetMetaData is not abstract 
and does not override abstract method isWrapperFor(java.lang.Class) in 
java.sql.Wrapper
public class SyntheticResultSetMetaData extends AbstractResultSetMetaData
        ^
/usr/local/src/pljava-1.4.0/src/java/pljava/org/postgresql/pljava/jdbc/ClobValue.java:23: 
org.postgresql.pljava.jdbc.ClobValue is not abstract and does not 
override abstract method getCharacterStream(long,long) in java.sql.Clob
public class ClobValue extends Reader implements Clob
        ^
/usr/local/src/pljava-1.4.0/src/java/pljava/org/postgresql/pljava/jdbc/SPIParameterMetaData.java:16: 
org.postgresql.pljava.jdbc.SPIParameterMetaData is not abstract and does 
not override abstract method isWrapperFor(java.lang.Class) in 
java.sql.Wrapper
public class SPIParameterMetaData implements ParameterMetaData
        ^
20 errors
make[1]: *** [.timestamp] Error 1
make: *** [pljava_all] Error 2

James
-- 
eRacks Open Source Systems
http://www.eracks.com/

---

From: mark81 at gmail.com (Mark Mitchell)
Date: Fri, 20 Jun 2008 16:49:02 -0400

I don't believe PLJava supports the JDBC 4.0 API that is in Java 6 (I
assume that is the JDK you are building against).  Try building
against a Java 5 JDK and those errors should go away.

-Mark

On Fri, Jun 20, 2008 at 2:46 PM, James Colannino <james at eracks.com> wrote:
> _______________________________________________
> Pljava-dev mailing list
> Pljava-dev at pgfoundry.org
> http://pgfoundry.org/mailman/listinfo/pljava-dev
>

---

From: james at eracks.com (James Colannino)
Date: Fri, 20 Jun 2008 13:54:00 -0700

> against a Java 5 JDK and those errors should go away.

Ah, ok.  Thanks Mark and Kris!

James