The following bug has been logged online: Bug reference: 6106 Logged by: Jon C. Email address: camilleri....@gmail.com PostgreSQL version: 9.0 Operating system: Win XP SP3 Description: JAR File has no source attachment Details:
When running ExecSQL.java on my machine an error is being displayed. Eclipse 3.6.2. Microsoft Windows XP [Version 5.1.2600] (C) Copyright 1985-2001 Microsoft Corp. C:\Documents and Settings\Jon>java -version java version "1.6.0_26" Java(TM) SE Runtime Environment (build 1.6.0_26-b03) Java HotSpot(TM) Client VM (build 20.1-b02, mixed mode, sharing) Source code package code; /** @version 1.30 2004-08-05 @author Cay Horstmann */ import java.io.*; import java.util.*; import java.sql.*; /** Executes all SQL statements in a file. Call this program as java -classpath driverPath:. ExecSQL commandFile */ class ExecSQL { public static void main (String args[]) { try { Scanner in; if (args.length == 0) in = new Scanner(System.in); else in = new Scanner(new File(args[0])); Connection conn = getConnection(); try { Statement stat = conn.createStatement(); while (true) { if (args.length == 0) System.out.println("Enter command or EXIT to exit:"); if (!in.hasNextLine()) return; String line = in.nextLine(); if (line.equalsIgnoreCase("EXIT")) return; try { boolean hasResultSet = stat.execute(line); if (hasResultSet) showResultSet(stat); } catch (SQLException e) { while (e != null) { e.printStackTrace(); e = e.getNextException(); } } } } finally { conn.close(); } } catch (SQLException e) { while (e != null) { e.printStackTrace(); e = e.getNextException(); } } catch (IOException e) { e.printStackTrace(); } } /** Gets a connection from the properties specified in the file database.properties @return the database connection */ public static Connection getConnection() throws SQLException, IOException { Properties props = new Properties(); FileInputStream in = new FileInputStream("database.properties"); props.load(in); in.close(); String drivers = props.getProperty("jdbc.drivers"); if (drivers != null) System.setProperty("jdbc.drivers", drivers); String url = props.getProperty("jdbc.url"); String username = props.getProperty("jdbc.username"); String password = props.getProperty("jdbc.password"); return DriverManager.getConnection(url, username, password); } /** Prints a result set. @param stat the statement whose result set should be printed */ public static void showResultSet(Statement stat) throws SQLException { ResultSet result = stat.getResultSet(); ResultSetMetaData metaData = result.getMetaData(); int columnCount = metaData.getColumnCount(); for (int i = 1; i <= columnCount; i++) { if (i > 1) System.out.print(", "); System.out.print(metaData.getColumnLabel(i)); } System.out.println(); while (result.next()) { for (int i = 1; i <= columnCount; i++) { if (i > 1) System.out.print(", "); System.out.print(result.getString(i)); } System.out.println(); } result.close(); } } NOTE: attached only for troubleshooting purposes, all rights reserved to the original author. Sourced from Core Java Volume 2 (7th Edition) ISBN 0-13-111826-9 Error: Source not found (Screenshot of error at http://bit.ly/pMS8lP). // Compiled from Jdbc3Connection.java (version 1.4 : 48.0, super bit) public class org.postgresql.jdbc3.Jdbc3Connection extends org.postgresql.jdbc3.AbstractJdbc3Connection implements java.sql.Connection { // Method descriptor #20 (Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/util/Propertie s;Ljava/lang/String;)V // Stack: 7, Locals: 7 public Jdbc3Connection(java.lang.String host, int port, java.lang.String user, java.lang.String database, java.util.Properties info, java.lang.String url) throws java.sql.SQLException; 0 aload_0 [this] 1 aload_1 [host] 2 iload_2 [port] 3 aload_3 [user] 4 aload 4 [database] 6 aload 5 [info] 8 aload 6 [url] 10 invokespecial org.postgresql.jdbc3.AbstractJdbc3Connection(java.lang.String, int, java.lang.String, java.lang.String, java.util.Properties, java.lang.String) [1] 13 return Line numbers: [pc: 0, line: 24] [pc: 13, line: 25] Local variable table: [pc: 0, pc: 14] local: this index: 0 type: org.postgresql.jdbc3.Jdbc3Connection [pc: 0, pc: 14] local: host index: 1 type: java.lang.String [pc: 0, pc: 14] local: port index: 2 type: int [pc: 0, pc: 14] local: user index: 3 type: java.lang.String [pc: 0, pc: 14] local: database index: 4 type: java.lang.String [pc: 0, pc: 14] local: info index: 5 type: java.util.Properties [pc: 0, pc: 14] local: url index: 6 type: java.lang.String // Method descriptor #38 (III)Ljava/sql/Statement; // Stack: 6, Locals: 5 public java.sql.Statement createStatement(int resultSetType, int resultSetConcurrency, int resultSetHoldability) throws java.sql.SQLException; 0 new org.postgresql.jdbc3.Jdbc3Statement [2] 3 dup 4 aload_0 [this] 5 iload_1 [resultSetType] 6 iload_2 [resultSetConcurrency] 7 iload_3 [resultSetHoldability] 8 invokespecial org.postgresql.jdbc3.Jdbc3Statement(org.postgresql.jdbc3.Jdbc3Connection, int, int, int) [3] 11 astore 4 [s] 13 aload 4 [s] 15 aload_0 [this] 16 invokevirtual org.postgresql.jdbc3.Jdbc3Connection.getPrepareThreshold() : int [4] 19 invokevirtual org.postgresql.jdbc3.Jdbc3Statement.setPrepareThreshold(int) : void [5] 22 aload 4 [s] 24 areturn Line numbers: [pc: 0, line: 29] [pc: 13, line: 30] [pc: 22, line: 31] Local variable table: [pc: 0, pc: 25] local: this index: 0 type: org.postgresql.jdbc3.Jdbc3Connection [pc: 0, pc: 25] local: resultSetType index: 1 type: int [pc: 0, pc: 25] local: resultSetConcurrency index: 2 type: int [pc: 0, pc: 25] local: resultSetHoldability index: 3 type: int [pc: 13, pc: 25] local: s index: 4 type: org.postgresql.jdbc3.Jdbc3Statement // Method descriptor #45 (Ljava/lang/String;III)Ljava/sql/PreparedStatement; // Stack: 7, Locals: 6 public java.sql.PreparedStatement prepareStatement(java.lang.String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability) throws java.sql.SQLException; 0 new org.postgresql.jdbc3.Jdbc3PreparedStatement [6] 3 dup 4 aload_0 [this] 5 aload_1 [sql] 6 iload_2 [resultSetType] 7 iload_3 [resultSetConcurrency] 8 iload 4 [resultSetHoldability] 10 invokespecial org.postgresql.jdbc3.Jdbc3PreparedStatement(org.postgresql.jdbc3.Jdbc3Connec tion, java.lang.String, int, int, int) [7] 13 astore 5 [s] 15 aload 5 [s] 17 aload_0 [this] 18 invokevirtual org.postgresql.jdbc3.Jdbc3Connection.getPrepareThreshold() : int [4] 21 invokevirtual org.postgresql.jdbc3.Jdbc3PreparedStatement.setPrepareThreshold(int) : void [8] 24 aload 5 [s] 26 areturn Line numbers: [pc: 0, line: 37] [pc: 15, line: 38] [pc: 24, line: 39] Local variable table: [pc: 0, pc: 27] local: this index: 0 type: org.postgresql.jdbc3.Jdbc3Connection [pc: 0, pc: 27] local: sql index: 1 type: java.lang.String [pc: 0, pc: 27] local: resultSetType index: 2 type: int [pc: 0, pc: 27] local: resultSetConcurrency index: 3 type: int [pc: 0, pc: 27] local: resultSetHoldability index: 4 type: int [pc: 15, pc: 27] local: s index: 5 type: org.postgresql.jdbc3.Jdbc3PreparedStatement // Method descriptor #49 (Ljava/lang/String;III)Ljava/sql/CallableStatement; // Stack: 7, Locals: 6 public java.sql.CallableStatement prepareCall(java.lang.String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability) throws java.sql.SQLException; 0 new org.postgresql.jdbc3.Jdbc3CallableStatement [9] 3 dup 4 aload_0 [this] 5 aload_1 [sql] 6 iload_2 [resultSetType] 7 iload_3 [resultSetConcurrency] 8 iload 4 [resultSetHoldability] 10 invokespecial org.postgresql.jdbc3.Jdbc3CallableStatement(org.postgresql.jdbc3.Jdbc3Connec tion, java.lang.String, int, int, int) [10] 13 astore 5 [s] 15 aload 5 [s] 17 aload_0 [this] 18 invokevirtual org.postgresql.jdbc3.Jdbc3Connection.getPrepareThreshold() : int [4] 21 invokevirtual org.postgresql.jdbc3.Jdbc3CallableStatement.setPrepareThreshold(int) : void [11] 24 aload 5 [s] 26 areturn Line numbers: [pc: 0, line: 44] [pc: 15, line: 45] [pc: 24, line: 46] Local variable table: [pc: 0, pc: 27] local: this index: 0 type: org.postgresql.jdbc3.Jdbc3Connection [pc: 0, pc: 27] local: sql index: 1 type: java.lang.String [pc: 0, pc: 27] local: resultSetType index: 2 type: int [pc: 0, pc: 27] local: resultSetConcurrency index: 3 type: int [pc: 0, pc: 27] local: resultSetHoldability index: 4 type: int [pc: 15, pc: 27] local: s index: 5 type: org.postgresql.jdbc3.Jdbc3CallableStatement // Method descriptor #52 ()Ljava/sql/DatabaseMetaData; // Stack: 4, Locals: 1 public java.sql.DatabaseMetaData getMetaData() throws java.sql.SQLException; 0 aload_0 [this] 1 getfield org.postgresql.jdbc3.Jdbc3Connection.metadata : java.sql.DatabaseMetaData [12] 4 ifnonnull 19 7 aload_0 [this] 8 new org.postgresql.jdbc3.Jdbc3DatabaseMetaData [13] 11 dup 12 aload_0 [this] 13 invokespecial org.postgresql.jdbc3.Jdbc3DatabaseMetaData(org.postgresql.jdbc3.Jdbc3Connect ion) [14] 16 putfield org.postgresql.jdbc3.Jdbc3Connection.metadata : java.sql.DatabaseMetaData [12] 19 aload_0 [this] 20 getfield org.postgresql.jdbc3.Jdbc3Connection.metadata : java.sql.DatabaseMetaData [12] 23 areturn Line numbers: [pc: 0, line: 51] [pc: 7, line: 52] [pc: 19, line: 53] Local variable table: [pc: 0, pc: 24] local: this index: 0 type: org.postgresql.jdbc3.Jdbc3Connection // Method descriptor #54 (Ljava/util/Map;)V // Stack: 2, Locals: 2 public void setTypeMap(java.util.Map map) throws java.sql.SQLException; 0 aload_0 [this] 1 aload_1 [map] 2 invokevirtual org.postgresql.jdbc3.Jdbc3Connection.setTypeMapImpl(java.util.Map) : void [15] 5 return Line numbers: [pc: 0, line: 58] [pc: 5, line: 59] Local variable table: [pc: 0, pc: 6] local: this index: 0 type: org.postgresql.jdbc3.Jdbc3Connection [pc: 0, pc: 6] local: map index: 1 type: java.util.Map } -- Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-bugs