Re: Simple bug in JDBC interface - Mailing list pgsql-interfaces

From Bruce Momjian
Subject Re: Simple bug in JDBC interface
Date
Msg-id 200006030140.VAA09587@candle.pha.pa.us
Whole thread Raw
Responses Re: Re: Simple bug in JDBC interface
List pgsql-interfaces
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.<init>(Throwable.java:82)
>         at java.lang.Exception.<init>(Exception.java:33)
>         at java.sql.SQLException.<init>(SQLException.java:98)
>         at
> org.postgresql.util.PSQLException.<init>(PSQLException.java:53)
>         at org.postgresql.Connection.getObject(Connection.java:624)
>         at org.postgresql.jdbc2.ResultSet.getObject(ResultSet.java:741)
>         at PostgresTest.<init>(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,
Pennsylvania19026
 


pgsql-interfaces by date:

Previous
From: "Roderick A. Anderson"
Date:
Subject: Re: ODBC driver for Windows - Problems
Next
From: Nissim
Date:
Subject: JDBC setTimestamp/getTimestamp