summaryrefslogtreecommitdiff
path: root/src/interfaces/jdbc/org/postgresql/util/PGbytea.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/interfaces/jdbc/org/postgresql/util/PGbytea.java')
-rw-r--r--src/interfaces/jdbc/org/postgresql/util/PGbytea.java108
1 files changed, 0 insertions, 108 deletions
diff --git a/src/interfaces/jdbc/org/postgresql/util/PGbytea.java b/src/interfaces/jdbc/org/postgresql/util/PGbytea.java
deleted file mode 100644
index 25cc3e10ca..0000000000
--- a/src/interfaces/jdbc/org/postgresql/util/PGbytea.java
+++ /dev/null
@@ -1,108 +0,0 @@
-/*-------------------------------------------------------------------------
- *
- * PGbytea.java
- * Converts to and from the postgresql bytea datatype used by the backend.
- *
- * Copyright (c) 2003, PostgreSQL Global Development Group
- *
- * IDENTIFICATION
- * $PostgreSQL: pgsql/src/interfaces/jdbc/org/postgresql/util/PGbytea.java,v 1.9 2003/11/29 19:52:11 pgsql Exp $
- *
- *-------------------------------------------------------------------------
- */
-package org.postgresql.util;
-
-import java.sql.*;
-
-public class PGbytea
-{
-
- /*
- * Converts a PG bytea raw value (i.e. the raw binary representation
- * of the bytea data type) into a java byte[]
- */
- public static byte[] toBytes(byte[] s) throws SQLException
- {
- if (s == null)
- return null;
- int slength = s.length;
- byte[] buf = new byte[slength];
- int bufpos = 0;
- int thebyte;
- byte nextbyte;
- byte secondbyte;
- for (int i = 0; i < slength; i++)
- {
- nextbyte = s[i];
- if (nextbyte == (byte)'\\')
- {
- secondbyte = s[++i];
- if (secondbyte == (byte)'\\')
- {
- //escaped \
- buf[bufpos++] = (byte)'\\';
- }
- else
- {
- thebyte = (secondbyte - 48) * 64 + (s[++i] - 48) * 8 + (s[++i] - 48);
- if (thebyte > 127)
- thebyte -= 256;
- buf[bufpos++] = (byte)thebyte;
- }
- }
- else
- {
- buf[bufpos++] = nextbyte;
- }
- }
- byte[] l_return = new byte[bufpos];
- System.arraycopy(buf, 0, l_return, 0, bufpos);
- return l_return;
- }
-
- /*
- * Converts a java byte[] into a PG bytea string (i.e. the text
- * representation of the bytea data type)
- */
- public static String toPGString(byte[] p_buf) throws SQLException
- {
- if (p_buf == null)
- return null;
- StringBuffer l_strbuf = new StringBuffer(2 * p_buf.length);
- for (int i = 0; i < p_buf.length; i++)
- {
- int l_int = (int)p_buf[i];
- if (l_int < 0)
- {
- l_int = 256 + l_int;
- }
- //we escape the same non-printable characters as the backend
- //we must escape all 8bit characters otherwise when convering
- //from java unicode to the db character set we may end up with
- //question marks if the character set is SQL_ASCII
- if (l_int < 040 || l_int > 0176)
- {
- //escape charcter with the form \000, but need two \\ because of
- //the parser
- l_strbuf.append("\\");
- l_strbuf.append((char)(((l_int >> 6) & 0x3) + 48));
- l_strbuf.append((char)(((l_int >> 3) & 0x7) + 48));
- l_strbuf.append((char)((l_int & 0x07) + 48));
- }
- else if (p_buf[i] == (byte)'\\')
- {
- //escape the backslash character as \\, but need four \\\\ because
- //of the parser
- l_strbuf.append("\\\\");
- }
- else
- {
- //other characters are left alone
- l_strbuf.append((char)p_buf[i]);
- }
- }
- return l_strbuf.toString();
- }
-
-
-}