Received: from candle.pha.pa.us (pgman@s5-03.ppp.op.net [209.152.195.67]) by hub.org (8.9.3/8.9.3) with ESMTP id VAA48998 for ; Fri, 2 Jun 2000 21:41:22 -0400 (EDT) (envelope-from pgman@candle.pha.pa.us) Received: (from pgman@localhost) by candle.pha.pa.us (8.9.0/8.9.0) id VAA09587; Fri, 2 Jun 2000 21:40:55 -0400 (EDT) From: Bruce Momjian Message-Id: <200006030140.VAA09587@candle.pha.pa.us> Subject: Re: Simple bug in JDBC interface In-Reply-To: <39382A29.ABD8A3DB@software.com> "from Elias Ross at Jun 2, 2000 02:42:01 pm" To: elias.ross@software.com Date: Fri, 2 Jun 2000 21:40:55 -0400 (EDT) CC: PostgreSQL-interfaces X-Mailer: ELM [version 2.4ME+ PL77 (25)] MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=US-ASCII X-Archive-Number: 200006/13 Peter, can you please comment on this? > > Sorry if I'm e-mailing the wrong person. > > This is to do with loading "exotic types" through JDBC. > > It has to do with how it tries to load the class: (perhaps under old > hierarchy?) > postgresql.geometric.PGpoint > when in fact it SHOULD be loading > ORG.postgresql.geometric.PGpoint > ^^^ > > ///// EXAMPLE: > > import java.io.*; > import java.sql.*; > > /* > This error: > > Failed to create object for point java.lang.ClassNotFoundException: > postgresql.geometric.PGpoint > at java.lang.Throwable.fillInStackTrace(Native Method) > at java.lang.Throwable.(Throwable.java:82) > at java.lang.Exception.(Exception.java:33) > at java.sql.SQLException.(SQLException.java:98) > at > org.postgresql.util.PSQLException.(PSQLException.java:53) > at org.postgresql.Connection.getObject(Connection.java:624) > at org.postgresql.jdbc2.ResultSet.getObject(ResultSet.java:741) > at PostgresTest.(PostgresTest.java:23) > at PostgresTest.main(PostgresTest.java:31) > > > in psql: > > testdb=# \d users > minid | char(15) | > status | char(3) | > location | point | > */ > > public class PostgresTest { > > public PostgresTest() > throws Exception > { > Class.forName("org.postgresql.Driver"); > Connection c = > DriverManager.getConnection("jdbc:postgresql://beryl:5432/testdb", > "postgres", ""); > Statement s = c.createStatement(); > BufferedReader r = new BufferedReader(new > InputStreamReader(System.in)); > // while (true) { > // System.out.print("Enter query: "); > // System.out.flush(); > String query; > //query = r.readLine(); > query = "select * from users"; > ResultSet res = s.executeQuery(query); > if (res != null) { > while (res.next()) { > System.out.println("" + > res.getString(1) + " " + res.getString(2) + " " + res.getObject(3)); > } > } > //} > } > > public static void main(String args[]) { > try { > PostgresTest pt = new PostgresTest(); > } catch (Exception e) { > e.printStackTrace(); > } > } > > } > -- Bruce Momjian | http://www.op.net/~candle pgman@candle.pha.pa.us | (610) 853-3000 + If your life is a hard drive, | 830 Blythe Avenue + Christ can be your backup. | Drexel Hill, Pennsylvania 19026