summaryrefslogtreecommitdiff
path: root/src/interfaces/jdbc/org/postgresql/Connection.java
diff options
context:
space:
mode:
authorBruce Momjian <bruce@momjian.us>2000-10-09 16:48:19 +0000
committerBruce Momjian <bruce@momjian.us>2000-10-09 16:48:19 +0000
commita4e3943b3fe6b4fdbca58d5fb41bbafd22a92c15 (patch)
tree8cbafa34e4105e182bc203530d29c965af327ce0 /src/interfaces/jdbc/org/postgresql/Connection.java
parentc4ccc6146bfe2d20140da2e388e0d62b41c96f9b (diff)
downloadpostgresql-a4e3943b3fe6b4fdbca58d5fb41bbafd22a92c15.tar.gz
Back out Gunnar R|nning jdbc changes.
Diffstat (limited to 'src/interfaces/jdbc/org/postgresql/Connection.java')
-rw-r--r--src/interfaces/jdbc/org/postgresql/Connection.java54
1 files changed, 17 insertions, 37 deletions
diff --git a/src/interfaces/jdbc/org/postgresql/Connection.java b/src/interfaces/jdbc/org/postgresql/Connection.java
index 198a7962a1..f04f7fffe6 100644
--- a/src/interfaces/jdbc/org/postgresql/Connection.java
+++ b/src/interfaces/jdbc/org/postgresql/Connection.java
@@ -10,7 +10,7 @@ import org.postgresql.largeobject.*;
import org.postgresql.util.*;
/**
- * $Id: Connection.java,v 1.7 2000/10/08 19:37:54 momjian Exp $
+ * $Id: Connection.java,v 1.8 2000/10/09 16:48:16 momjian Exp $
*
* This abstract class is used by org.postgresql.Driver to open either the JDBC1 or
* JDBC2 versions of the Connection class.
@@ -81,11 +81,6 @@ public abstract class Connection
// The PID an cancellation key we get from the backend process
public int pid;
public int ckey;
-
- // This receive_sbuf should be used by the different methods
- // that call pg_stream.ReceiveString() in this Connection, so
- // so we avoid uneccesary new allocations.
- byte receive_sbuf[] = new byte[8192];
/**
* This is called by Class.forName() from within org.postgresql.Driver
@@ -169,9 +164,8 @@ public abstract class Connection
// The most common one to be thrown here is:
// "User authentication failed"
//
- String msg = pg_stream.ReceiveString(receive_sbuf, 4096,
- getEncoding());
- throw new SQLException(msg);
+ throw new SQLException(pg_stream.ReceiveString
+ (4096, getEncoding()));
case 'R':
// Get the type of request
@@ -242,7 +236,7 @@ public abstract class Connection
case 'E':
case 'N':
throw new SQLException(pg_stream.ReceiveString
- (receive_sbuf, 4096, getEncoding()));
+ (4096, getEncoding()));
default:
throw new PSQLException("postgresql.con.setup");
}
@@ -254,7 +248,7 @@ public abstract class Connection
break;
case 'E':
case 'N':
- throw new SQLException(pg_stream.ReceiveString(receive_sbuf, 4096, getEncoding()));
+ throw new SQLException(pg_stream.ReceiveString(4096));
default:
throw new PSQLException("postgresql.con.setup");
}
@@ -269,7 +263,7 @@ public abstract class Connection
//
firstWarning = null;
- ExecSQL(null, "set datestyle to 'ISO'");
+ ExecSQL("set datestyle to 'ISO'");
// Initialise object handling
initObjectTypes();
@@ -312,8 +306,7 @@ public abstract class Connection
//currentDateStyle=i+1; // this is the index of the format
//}
}
-
-
+
/**
* Send a query to the backend. Returns one of the ResultSet
* objects.
@@ -321,18 +314,15 @@ public abstract class Connection
* <B>Note:</B> there does not seem to be any method currently
* in existance to return the update count.
*
- * @param stmt The statment object.
* @param sql the SQL statement to be executed
* @return a ResultSet holding the results
* @exception SQLException if a database error occurs
*/
- public java.sql.ResultSet ExecSQL(PGStatement stmt,
- String sql) throws SQLException
+ public java.sql.ResultSet ExecSQL(String sql) throws SQLException
{
// added Oct 7 1998 to give us thread safety.
synchronized(pg_stream) {
- pg_stream.setExecutingStatement(stmt);
-
+
Field[] fields = null;
Vector tuples = new Vector();
byte[] buf = null;
@@ -362,7 +352,8 @@ public abstract class Connection
try
{
pg_stream.SendChar('Q');
- pg_stream.Send(sql.getBytes());
+ buf = sql.getBytes();
+ pg_stream.Send(buf);
pg_stream.SendChar(0);
pg_stream.flush();
} catch (IOException e) {
@@ -379,8 +370,7 @@ public abstract class Connection
{
case 'A': // Asynchronous Notify
pid = pg_stream.ReceiveInteger(4);
- msg = pg_stream.ReceiveString(receive_sbuf, 8192,
- getEncoding());
+ msg = pg_stream.ReceiveString(8192);
break;
case 'B': // Binary Data Transfer
if (fields == null)
@@ -391,9 +381,7 @@ public abstract class Connection
tuples.addElement(tup);
break;
case 'C': // Command Status
- recv_status =
- pg_stream.ReceiveString(receive_sbuf, 8192,
- getEncoding());
+ recv_status = pg_stream.ReceiveString(8192);
// Now handle the update count correctly.
if(recv_status.startsWith("INSERT") || recv_status.startsWith("UPDATE") || recv_status.startsWith("DELETE")) {
@@ -435,8 +423,7 @@ public abstract class Connection
tuples.addElement(tup);
break;
case 'E': // Error Message
- msg = pg_stream.ReceiveString(receive_sbuf, 4096,
- getEncoding());
+ msg = pg_stream.ReceiveString(4096);
final_error = new SQLException(msg);
hfr = true;
break;
@@ -451,14 +438,10 @@ public abstract class Connection
hfr = true;
break;
case 'N': // Error Notification
- addWarning(pg_stream.ReceiveString(receive_sbuf,
- 4096,
- getEncoding()));
+ addWarning(pg_stream.ReceiveString(4096));
break;
case 'P': // Portal Name
- String pname =
- pg_stream.ReceiveString(receive_sbuf, 8192,
- getEncoding());
+ String pname = pg_stream.ReceiveString(8192);
break;
case 'T': // MetaData Field Description
if (fields != null)
@@ -478,8 +461,6 @@ public abstract class Connection
}
}
-
-
/**
* Receive the field descriptions from the back end
*
@@ -493,8 +474,7 @@ public abstract class Connection
for (i = 0 ; i < nf ; ++i)
{
- String typname = pg_stream.ReceiveString(receive_sbuf, 8192,
- getEncoding());
+ String typname = pg_stream.ReceiveString(8192);
int typid = pg_stream.ReceiveIntegerR(4);
int typlen = pg_stream.ReceiveIntegerR(2);
int typmod = pg_stream.ReceiveIntegerR(4);