*/
public void SendChar(int val) throws IOException
{
- // Original code
- //byte b[] = new byte[1];
- //b[0] = (byte)val;
- //pg_output.write(b);
-
- // Optimised version by Sverre H. Huseby Aug 22 1999 Applied Sep 13 1999
pg_output.write((byte)val);
}
Send(buf);
}
- /**
- * Sends an integer to the back end in reverse order.
- *
- * This is required when the backend uses the routines in the
- * src/backend/libpq/pqcomprim.c module.
- *
- * As time goes by, this should become obsolete.
- *
- * @param val the integer to be sent
- * @param siz the length of the integer in bytes (size of structure)
- * @exception IOException if an I/O error occurs
- */
- public void SendIntegerReverse(int val, int siz) throws IOException
- {
- byte[] buf = bytePoolDim1.allocByte(siz);
- int p=0;
- while (siz-- > 0)
- {
- buf[p++] = (byte)(val & 0xff);
- val >>= 8;
- }
- Send(buf);
- }
-
/**
* Send an array of bytes to the backend
*
}
}
- /**
- * Sends a packet, prefixed with the packet's length
- * @param buf buffer to send
- * @exception SQLException if an I/O Error returns
- */
- public void SendPacket(byte[] buf) throws IOException
- {
- SendInteger(buf.length+4,4);
- Send(buf);
- }
-
/**
* Receives a single character from the backend
*
*
* <p>It is based around the file src/interfaces/libpq/fe-exec.c
*
- *
- * <p><b>Implementation notes:</b>
- *
- * <p><b><em>Network protocol:</em></b>
- *
- * <p>The code within the backend reads integers in reverse.
- *
- * <p>There is work in progress to convert all of the protocol to
- * network order but it may not be there for v6.3
- *
- * <p>When fastpath switches, simply replace SendIntegerReverse() with
- * SendInteger()
- *
* @see org.postgresql.FastpathFastpathArg
* @see org.postgresql.LargeObject
*/
// that confuses the backend. The 0 terminates the command line.
stream.SendInteger(70,1);
stream.SendInteger(0,1);
-
- //stream.SendIntegerReverse(fnid,4);
- //stream.SendIntegerReverse(args.length,4);
+
stream.SendInteger(fnid,4);
stream.SendInteger(args.length,4);