From: | Craig Ringer <craig(at)postnewspapers(dot)com(dot)au> |
---|---|
To: | Marcin Krawczyk <jankes(dot)mk(at)gmail(dot)com> |
Cc: | pgsql-sql(at)postgresql(dot)org |
Subject: | Re: error codes |
Date: | 2008-04-17 10:43:16 |
Message-ID: | 480729C4.7040802@postnewspapers.com.au |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-sql |
Marcin Krawczyk wrote:
> Hi guys. Does anyone know the error code for '/currval of sequence * is
> not yet defined in this session/' error ? Is there one at all?
A quick JDBC test program shows:
ERROR: currval of sequence "customer_id_seq" is not yet defined in this
session (SQLState: 55000)
which, looking up the error code in the docs:
http://www.postgresql.org/docs/current/static/errcodes-appendix.html
turns out to be:
55000 OBJECT NOT IN PREREQUISITE STATE
... which makes sense, but I wouldn't call blindingly and immediately
obvious.
Here's a trivial little utility for running a statement, catching an
error, and reporting the error along with the Pg error code. Sorry for
the horrible formatting (short lines for email).
--- Put in file `JdbcTest.java' ---
import java.sql.SQLException;
import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.DriverManager;
class JdbcTest {
public static void main(String[] args)
throws ClassNotFoundException, InterruptedException, SQLException
{
Class.forName("org.postgresql.Driver");
Connection c =
DriverManager.getConnection("jdbc://YOUR_PARAMS_HERE");
try {
CallableStatement st =
c.prepareCall("SELECT currval('customer_id_seq')");
st.execute();
} catch (SQLException ex) {
System.out.println(
"DB error string: " + ex.getMessage()
+ " (SQLState: " + ex.getSQLState() + ")");
}
}
}
---- end ----
You'll need the PostgreSQL JDBC driver.
To compile (assuming you don't use a Java IDE of some sort, but have the
JDK installed) run:
javac -d /out/dir JdbcTest.java
and to run (all on one line):
java -classpath /path/to/postgresql-8.3-603.jdbc4.jar:/out/dir JdbcTest
where /out/dir is wherever you want the generated .class file to be put.
--
Craig Ringer
From | Date | Subject | |
---|---|---|---|
Next Message | Craig Ringer | 2008-04-17 10:51:12 | Re: error codes |
Previous Message | dipesh | 2008-04-17 10:38:17 | Error in restore the Database in Postgres |