BUG #6106: JAR File has no source attachment

From: "Jon C(dot)" <camilleri(dot)jon(at)gmail(dot)com>
To: pgsql-bugs(at)postgresql(dot)org
Subject: BUG #6106: JAR File has no source attachment
Date: 2011-07-10 14:04:27
Message-ID: 201107101404.p6AE4RUK079441@wwwmaster.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs


The following bug has been logged online:

Bug reference: 6106
Logged by: Jon C.
Email address: camilleri(dot)jon(at)gmail(dot)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
}

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Jon C. 2011-07-10 14:26:00 BUG #6107: Invalid bug
Previous Message Jon C. 2011-07-10 13:53:06 BUG #6105: Failed to load Main-Class manifest attribute