BUG #2220: PostgreSQL-JDBC 8.1-404 fails to compile with ecj
The following bug has been logged online:
Bug reference: 2220
Logged by: Bernhard Rosenkraenzer
Email address: bero@arklinux.org
PostgreSQL version: 8.1.2
Operating system: Linux (Ark Linux 2006.1-pre)
Description: PostgreSQL-JDBC 8.1-404 fails to compile with ecj
Details:
PostgreSQL-JDBC 8.1-404 fails to compile (ecj bytecode compiler w/ gij 4.1
JDK):
[javac] 1. ERROR in
/usr/src/ark/BUILD/postgresql-jdbc-8.1-404.src/org/postgresql/jdbc3g/Jdbc3gA
rray.java
[javac] (at line 17)
[javac] public class Jdbc3gArray extends
org.postgresql.jdbc2.AbstractJdbc2Array implements java.sql.Array
[javac] ^^^^^^^^^^^
[javac] The type Jdbc3gArray must implement the inherited abstract
method Array.getArray(long, int, Map)
[javac] ----------
[javac] 2. ERROR in
/usr/src/ark/BUILD/postgresql-jdbc-8.1-404.src/org/postgresql/jdbc3g/Jdbc3gA
rray.java
[javac] (at line 17)
[javac] public class Jdbc3gArray extends
org.postgresql.jdbc2.AbstractJdbc2Array implements java.sql.Array
[javac] ^^^^^^^^^^^
[javac] The type Jdbc3gArray must implement the inherited abstract
method Array.getArray(Map)
[javac] ----------
[javac] 3. ERROR in
/usr/src/ark/BUILD/postgresql-jdbc-8.1-404.src/org/postgresql/jdbc3g/Jdbc3gA
rray.java
[javac] (at line 17)
[javac] public class Jdbc3gArray extends
org.postgresql.jdbc2.AbstractJdbc2Array implements java.sql.Array
[javac] ^^^^^^^^^^^
[javac] The type Jdbc3gArray must implement the inherited abstract
method Array.getResultSet(long, int, Map)
[javac] ----------
[javac] 4. ERROR in
/usr/src/ark/BUILD/postgresql-jdbc-8.1-404.src/org/postgresql/jdbc3g/Jdbc3gA
rray.java
[javac] (at line 17)
[javac] public class Jdbc3gArray extends
org.postgresql.jdbc2.AbstractJdbc2Array implements java.sql.Array
[javac] ^^^^^^^^^^^
[javac] The type Jdbc3gArray must implement the inherited abstract
method Array.getResultSet(Map)
[javac] ----------
[javac] 5. ERROR in
/usr/src/ark/BUILD/postgresql-jdbc-8.1-404.src/org/postgresql/jdbc3g/Jdbc3gA
rray.java
[javac] (at line 24)
[javac] public Object getArray(Map < String, Class < ? >> map)
throws SQLException
[javac] ^^^^^
[javac] The type Class is not generic; it cannot be parameterized with
arguments <?>
[javac] ----------
[javac] 6. ERROR in
/usr/src/ark/BUILD/postgresql-jdbc-8.1-404.src/org/postgresql/jdbc3g/Jdbc3gA
rray.java
[javac] (at line 29)
[javac] public Object getArray(long index, int count, Map < String,
Class < ? >> map) throws SQLException
[javac]
^^^^^
[javac] The type Class is not generic; it cannot be parameterized with
arguments <?>
[javac] ----------
[javac] 7. ERROR in
/usr/src/ark/BUILD/postgresql-jdbc-8.1-404.src/org/postgresql/jdbc3g/Jdbc3gA
rray.java
[javac] (at line 34)
[javac] public ResultSet getResultSet(Map < String, Class < ? >>
map) throws SQLException
[javac] ^^^^^
[javac] The type Class is not generic; it cannot be parameterized with
arguments <?>
[javac] ----------
[javac] 8. ERROR in
/usr/src/ark/BUILD/postgresql-jdbc-8.1-404.src/org/postgresql/jdbc3g/Jdbc3gA
rray.java
[javac] (at line 39)
[javac] public ResultSet getResultSet(long index, int count, Map <
String, Class < ? >> map)
[javac] throws SQLException
[javac]
^^^^^
[javac] The type Class is not generic; it cannot be parameterized with
arguments <?>
[javac] ----------
[javac] ----------
[javac] 9. ERROR in
/usr/src/ark/BUILD/postgresql-jdbc-8.1-404.src/org/postgresql/jdbc3g/Jdbc3gC
allableStatement.java
[javac] (at line 15)
[javac] class Jdbc3gCallableStatement extends
Jdbc3gPreparedStatement implements CallableStatement
[javac] ^^^^^^^^^^^^^^^^^^^^^^^
[javac] The type Jdbc3gCallableStatement must implement the inherited
abstract method CallableStatement.getObject(String, Map)
[javac] ----------
[javac] 10. ERROR in
/usr/src/ark/BUILD/postgresql-jdbc-8.1-404.src/org/postgresql/jdbc3g/Jdbc3gC
allableStatement.java
[javac] (at line 15)
[javac] class Jdbc3gCallableStatement extends
Jdbc3gPreparedStatement implements CallableStatement
[javac] ^^^^^^^^^^^^^^^^^^^^^^^
[javac] The type Jdbc3gCallableStatement must implement the inherited
abstract method CallableStatement.getO
[javac] bject(int, Map)
[javac] ----------
[javac] 11. ERROR in
/usr/src/ark/BUILD/postgresql-jdbc-8.1-404.src/org/postgresql/jdbc3g/Jdbc3gC
allableStatement.java
[javac] (at line 26)
[javac] public Object getObject(int i, Map < String, Class < ? >>
map) throws SQLException
[javac]
[javac] ^^^^^
[javac] The type Class is not generic; it cannot be parameterized with
arguments <?>
[javac] ----------
[javac] 12. ERROR in
/usr/src/ark/BUILD/postgresql-jdbc-8.1-404.src/org/postgresql/jdbc3g/Jdbc3gC
allableStatement.java
[javac] (at line 31)
[javac] public Object getObject(String s, Map < String, Class < ? >>
map) throws SQLException
[javac] ^^^^^
[javac] The type Class is not generic; it cannot be parameterized with
arguments <?>
[javac] ----------
[javac] ----------
[javac] 13. ERROR in
/usr/src/ark/BUILD/postgresql-jdbc-8.1-404.src/org/postgresql/jdbc3g/Jdbc3gC
onnection.java
[javac] (at line 21)
[javac] public class Jdbc3gConnection extends
org.postgresql.jdbc3.AbstractJdbc3Connection im
[javac] plements java.sql.Connection
[javac] ^^^^^^^^^^^^^^^^
[javac] The type Jdbc3gConnection must implement the inherited abstract
method Connection.setTypeMap(Map)
[javac] ----------
[javac] 14. ERROR in
/usr/src/ark/BUILD/postgresql-jdbc-8.1-404.src/org/postgresql/jdbc3g/Jdbc3gC
onnection.java
[javac] (at line 56)
[javac] public void setTypeMap(Map < String, Class < ? >> map)
throws SQLException
[javac] ^^^^^
[javac] The type Class is not generic; it cannot be parameterized with
arguments <?>
[javac] ----------
[javac] ----------
[javac] 15. ERROR in
/usr/src/ark/BUILD/postgresql-jdbc-8.1-404.src/org/postgresql/jdbc3g/Jdbc3gR
esultSet.java
[javac] (at line 23)
[javac] public class Jdbc3gResultSet extends
org.postgresql.jdbc3.AbstractJdbc3ResultSet implements java.sql.ResultSet
[javac] ^^^^^^^^^^^^^^^
[javac] The type Jdbc3gResultSet must implement the inherited abstract
method ResultSet.getObject(String, Map)
[javac] ----------
[javac] 16. ERROR in
/usr/src/ark/BUILD/postgresql-jdbc-8.1-404.src/org/postgresql/jdbc3g/Jdbc3gR
esultSet.java
[javac] (at line 23)
[javac] public class Jdbc3gResultSet extends
org.postgresql.jdbc3.AbstractJdbc3ResultSet implements java.sql.ResultSet
[javac] ^^^^^^^^^^^^^^^
[javac] The type Jdbc3gResultSet must implement the inherited abstract
method ResultSet.getObject(int, Map)
[javac] ----------
[javac] 17. ERROR in
/usr/src/ark/BUILD/postgresql-jdbc-8.1-404.src/org/postgresql/jdbc3g/Jdbc3gR
esultSet.java
[javac] (at line 63)
[javac] public Object getObject(String s, Map < String, Class < ? >>
map) throws SQLException
[javac] ^^^^^
[javac] The type Class is not generic; it cannot be parameterized with
arguments <?>
[javac] ----------
[javac] 18. ERROR in
/usr/src/ark/BUILD/postgresql-jdbc-8.1-404.src/org/postgresql/jdbc3g/Jdbc3gR
esultSet.java
[javac] (at line 68)
[javac] public Object getObject(int i, Map < String, Class < ? >>
map) throws SQLException
[javac]
[javac] ^^^^^
[javac] The type Class is not generic; it cannot be parameterized with
arguments <?>
The ones about Class not being generic are probably just GNU classpath
lagging a bit behind the Java specs, but the abstract method errors look
like genuine bugs.
On Sun, 29 Jan 2006, Bernhard Rosenkraenzer wrote:
Bug reference: 2220
Description: PostgreSQL-JDBC 8.1-404 fails to compile with ecj
Details:PostgreSQL-JDBC 8.1-404 fails to compile (ecj bytecode compiler w/ gij 4.1
JDK):
This is because the driver dynamically decides what version of the driver
to build (JDBC2, JDBC3, or JDBC3 w/ generics) at runtime based on the
current JVM. You are running ant with a 1.5 JVM, but ecj's default
-source argument is 1.4, so it's trying to build 1.5 code, but
interpreting it as 1.4 code which cleary fails. Adding "source=1.5" in
the <javac> tag in build.xml fixes this, but that's not a general
solution because it clearly won't be able to build other versions. Do you
have a better solution for runtime determination or specification of the
version we should try to build.
Kris Jurka
You need to file jdbc reports on the jdbc users lists.
---------------------------------------------------------------------------
Bernhard Rosenkraenzer wrote:
The following bug has been logged online:
Bug reference: 2220
Logged by: Bernhard Rosenkraenzer
Email address: bero@arklinux.org
PostgreSQL version: 8.1.2
Operating system: Linux (Ark Linux 2006.1-pre)
Description: PostgreSQL-JDBC 8.1-404 fails to compile with ecj
Details:PostgreSQL-JDBC 8.1-404 fails to compile (ecj bytecode compiler w/ gij 4.1
JDK):[javac] 1. ERROR in
/usr/src/ark/BUILD/postgresql-jdbc-8.1-404.src/org/postgresql/jdbc3g/Jdbc3gA
rray.java
[javac] (at line 17)
[javac] public class Jdbc3gArray extends
org.postgresql.jdbc2.AbstractJdbc2Array implements java.sql.Array
[javac] ^^^^^^^^^^^
[javac] The type Jdbc3gArray must implement the inherited abstract
method Array.getArray(long, int, Map)
[javac] ----------
[javac] 2. ERROR in
/usr/src/ark/BUILD/postgresql-jdbc-8.1-404.src/org/postgresql/jdbc3g/Jdbc3gA
rray.java
[javac] (at line 17)
[javac] public class Jdbc3gArray extends
org.postgresql.jdbc2.AbstractJdbc2Array implements java.sql.Array
[javac] ^^^^^^^^^^^
[javac] The type Jdbc3gArray must implement the inherited abstract
method Array.getArray(Map)
[javac] ----------
[javac] 3. ERROR in
/usr/src/ark/BUILD/postgresql-jdbc-8.1-404.src/org/postgresql/jdbc3g/Jdbc3gA
rray.java
[javac] (at line 17)
[javac] public class Jdbc3gArray extends
org.postgresql.jdbc2.AbstractJdbc2Array implements java.sql.Array
[javac] ^^^^^^^^^^^
[javac] The type Jdbc3gArray must implement the inherited abstract
method Array.getResultSet(long, int, Map)
[javac] ----------
[javac] 4. ERROR in
/usr/src/ark/BUILD/postgresql-jdbc-8.1-404.src/org/postgresql/jdbc3g/Jdbc3gA
rray.java
[javac] (at line 17)
[javac] public class Jdbc3gArray extends
org.postgresql.jdbc2.AbstractJdbc2Array implements java.sql.Array
[javac] ^^^^^^^^^^^
[javac] The type Jdbc3gArray must implement the inherited abstract
method Array.getResultSet(Map)
[javac] ----------
[javac] 5. ERROR in
/usr/src/ark/BUILD/postgresql-jdbc-8.1-404.src/org/postgresql/jdbc3g/Jdbc3gA
rray.java
[javac] (at line 24)
[javac] public Object getArray(Map < String, Class < ? >> map)
throws SQLException
[javac] ^^^^^
[javac] The type Class is not generic; it cannot be parameterized with
arguments <?>
[javac] ----------
[javac] 6. ERROR in
/usr/src/ark/BUILD/postgresql-jdbc-8.1-404.src/org/postgresql/jdbc3g/Jdbc3gA
rray.java
[javac] (at line 29)
[javac] public Object getArray(long index, int count, Map < String,
Class < ? >> map) throws SQLException
[javac]
^^^^^
[javac] The type Class is not generic; it cannot be parameterized with
arguments <?>
[javac] ----------
[javac] 7. ERROR in
/usr/src/ark/BUILD/postgresql-jdbc-8.1-404.src/org/postgresql/jdbc3g/Jdbc3gA
rray.java
[javac] (at line 34)
[javac] public ResultSet getResultSet(Map < String, Class < ? >>
map) throws SQLException
[javac] ^^^^^
[javac] The type Class is not generic; it cannot be parameterized with
arguments <?>
[javac] ----------
[javac] 8. ERROR in
/usr/src/ark/BUILD/postgresql-jdbc-8.1-404.src/org/postgresql/jdbc3g/Jdbc3gA
rray.java
[javac] (at line 39)
[javac] public ResultSet getResultSet(long index, int count, Map <
String, Class < ? >> map)
[javac] throws SQLException
[javac]
^^^^^
[javac] The type Class is not generic; it cannot be parameterized with
arguments <?>
[javac] ----------
[javac] ----------
[javac] 9. ERROR in
/usr/src/ark/BUILD/postgresql-jdbc-8.1-404.src/org/postgresql/jdbc3g/Jdbc3gC
allableStatement.java
[javac] (at line 15)
[javac] class Jdbc3gCallableStatement extends
Jdbc3gPreparedStatement implements CallableStatement
[javac] ^^^^^^^^^^^^^^^^^^^^^^^
[javac] The type Jdbc3gCallableStatement must implement the inherited
abstract method CallableStatement.getObject(String, Map)
[javac] ----------
[javac] 10. ERROR in
/usr/src/ark/BUILD/postgresql-jdbc-8.1-404.src/org/postgresql/jdbc3g/Jdbc3gC
allableStatement.java
[javac] (at line 15)
[javac] class Jdbc3gCallableStatement extends
Jdbc3gPreparedStatement implements CallableStatement
[javac] ^^^^^^^^^^^^^^^^^^^^^^^
[javac] The type Jdbc3gCallableStatement must implement the inherited
abstract method CallableStatement.getO
[javac] bject(int, Map)
[javac] ----------
[javac] 11. ERROR in
/usr/src/ark/BUILD/postgresql-jdbc-8.1-404.src/org/postgresql/jdbc3g/Jdbc3gC
allableStatement.java
[javac] (at line 26)
[javac] public Object getObject(int i, Map < String, Class < ? >>
map) throws SQLException
[javac]
[javac] ^^^^^
[javac] The type Class is not generic; it cannot be parameterized with
arguments <?>
[javac] ----------
[javac] 12. ERROR in
/usr/src/ark/BUILD/postgresql-jdbc-8.1-404.src/org/postgresql/jdbc3g/Jdbc3gC
allableStatement.java
[javac] (at line 31)
[javac] public Object getObject(String s, Map < String, Class < ? >>
map) throws SQLException
[javac] ^^^^^
[javac] The type Class is not generic; it cannot be parameterized with
arguments <?>
[javac] ----------
[javac] ----------
[javac] 13. ERROR in
/usr/src/ark/BUILD/postgresql-jdbc-8.1-404.src/org/postgresql/jdbc3g/Jdbc3gC
onnection.java
[javac] (at line 21)
[javac] public class Jdbc3gConnection extends
org.postgresql.jdbc3.AbstractJdbc3Connection im
[javac] plements java.sql.Connection
[javac] ^^^^^^^^^^^^^^^^
[javac] The type Jdbc3gConnection must implement the inherited abstract
method Connection.setTypeMap(Map)
[javac] ----------
[javac] 14. ERROR in
/usr/src/ark/BUILD/postgresql-jdbc-8.1-404.src/org/postgresql/jdbc3g/Jdbc3gC
onnection.java
[javac] (at line 56)
[javac] public void setTypeMap(Map < String, Class < ? >> map)
throws SQLException
[javac] ^^^^^
[javac] The type Class is not generic; it cannot be parameterized with
arguments <?>
[javac] ----------
[javac] ----------
[javac] 15. ERROR in
/usr/src/ark/BUILD/postgresql-jdbc-8.1-404.src/org/postgresql/jdbc3g/Jdbc3gR
esultSet.java
[javac] (at line 23)
[javac] public class Jdbc3gResultSet extends
org.postgresql.jdbc3.AbstractJdbc3ResultSet implements java.sql.ResultSet
[javac] ^^^^^^^^^^^^^^^
[javac] The type Jdbc3gResultSet must implement the inherited abstract
method ResultSet.getObject(String, Map)
[javac] ----------
[javac] 16. ERROR in
/usr/src/ark/BUILD/postgresql-jdbc-8.1-404.src/org/postgresql/jdbc3g/Jdbc3gR
esultSet.java
[javac] (at line 23)
[javac] public class Jdbc3gResultSet extends
org.postgresql.jdbc3.AbstractJdbc3ResultSet implements java.sql.ResultSet
[javac] ^^^^^^^^^^^^^^^
[javac] The type Jdbc3gResultSet must implement the inherited abstract
method ResultSet.getObject(int, Map)
[javac] ----------
[javac] 17. ERROR in
/usr/src/ark/BUILD/postgresql-jdbc-8.1-404.src/org/postgresql/jdbc3g/Jdbc3gR
esultSet.java
[javac] (at line 63)
[javac] public Object getObject(String s, Map < String, Class < ? >>
map) throws SQLException
[javac] ^^^^^
[javac] The type Class is not generic; it cannot be parameterized with
arguments <?>
[javac] ----------
[javac] 18. ERROR in
/usr/src/ark/BUILD/postgresql-jdbc-8.1-404.src/org/postgresql/jdbc3g/Jdbc3gR
esultSet.java
[javac] (at line 68)
[javac] public Object getObject(int i, Map < String, Class < ? >>
map) throws SQLException
[javac]
[javac] ^^^^^
[javac] The type Class is not generic; it cannot be parameterized with
arguments <?>The ones about Class not being generic are probably just GNU classpath
lagging a bit behind the Java specs, but the abstract method errors look
like genuine bugs.---------------------------(end of broadcast)---------------------------
TIP 9: In versions below 8.0, the planner will ignore your desire to
choose an index scan if your joining column's datatypes do not
match
--
Bruce Momjian | http://candle.pha.pa.us
pgman@candle.pha.pa.us | (610) 359-1001
+ If your life is a hard drive, | 13 Roberts Road
+ Christ can be your backup. | Newtown Square, Pennsylvania 19073