From f3148bef9f9bb43447fbc13d3791734211ac59bc Mon Sep 17 00:00:00 2001 From: Bruce Momjian Date: Mon, 19 Nov 2001 22:33:39 +0000 Subject: [PATCH] JDBC indenting, comment cleanups. --- .../jdbc/org/postgresql/Connection.java | 92 +- .../jdbc/org/postgresql/Driver.java.in | 996 +++++++++--------- src/interfaces/jdbc/org/postgresql/Field.java | 18 +- .../jdbc/org/postgresql/PG_Stream.java | 34 +- .../org/postgresql/PostgresqlDataSource.java | 52 +- .../jdbc/org/postgresql/ResultSet.java | 28 +- .../jdbc/org/postgresql/Statement.java | 32 +- .../org/postgresql/core/BytePoolDim1.java | 22 +- .../org/postgresql/core/BytePoolDim2.java | 6 +- .../jdbc/org/postgresql/core/Encoding.java | 24 +- .../jdbc/org/postgresql/core/MemoryPool.java | 6 +- .../jdbc/org/postgresql/core/ObjectPool.java | 16 +- .../org/postgresql/core/QueryExecutor.java | 14 +- .../org/postgresql/core/SimpleObjectPool.java | 16 +- .../org/postgresql/fastpath/Fastpath.java | 22 +- .../org/postgresql/fastpath/FastpathArg.java | 18 +- .../jdbc/org/postgresql/geometric/PGbox.java | 20 +- .../org/postgresql/geometric/PGcircle.java | 22 +- .../jdbc/org/postgresql/geometric/PGline.java | 20 +- .../jdbc/org/postgresql/geometric/PGlseg.java | 20 +- .../jdbc/org/postgresql/geometric/PGpath.java | 20 +- .../org/postgresql/geometric/PGpoint.java | 32 +- .../org/postgresql/geometric/PGpolygon.java | 18 +- .../postgresql/jdbc1/CallableStatement.java | 38 +- .../jdbc/org/postgresql/jdbc1/Connection.java | 20 +- .../postgresql/jdbc1/DatabaseMetaData.java | 406 +++---- .../postgresql/jdbc1/PreparedStatement.java | 54 +- .../jdbc/org/postgresql/jdbc1/ResultSet.java | 60 +- .../postgresql/jdbc1/ResultSetMetaData.java | 46 +- .../jdbc/org/postgresql/jdbc1/Statement.java | 16 +- .../jdbc/org/postgresql/jdbc2/Array.java | 4 +- .../postgresql/jdbc2/CallableStatement.java | 38 +- .../jdbc/org/postgresql/jdbc2/Connection.java | 26 +- .../postgresql/jdbc2/DatabaseMetaData.java | 725 +++++++------ .../jdbc2/PBatchUpdateException.java | 2 +- .../postgresql/jdbc2/PreparedStatement.java | 76 +- .../jdbc/org/postgresql/jdbc2/ResultSet.java | 74 +- .../postgresql/jdbc2/ResultSetMetaData.java | 46 +- .../jdbc/org/postgresql/jdbc2/Statement.java | 20 +- .../postgresql/jdbc2/UpdateableResultSet.java | 6 +- .../largeobject/BlobInputStream.java | 26 +- .../largeobject/BlobOutputStream.java | 18 +- .../postgresql/largeobject/LargeObject.java | 40 +- .../largeobject/LargeObjectManager.java | 24 +- .../org/postgresql/largeobject/PGblob.java | 4 +- .../org/postgresql/largeobject/PGclob.java | 4 +- .../jdbc/org/postgresql/test/JDBC2Tests.java | 24 +- .../jdbc/org/postgresql/test/README | 2 +- .../org/postgresql/test/jdbc2/ANTTest.java | 2 +- .../test/jdbc2/BatchExecuteTest.java | 8 +- .../org/postgresql/test/jdbc2/BlobTest.java | 12 +- .../postgresql/test/jdbc2/ConnectionTest.java | 24 +- .../test/jdbc2/DatabaseMetaDataTest.java | 10 +- .../org/postgresql/test/jdbc2/DateTest.java | 10 +- .../org/postgresql/test/jdbc2/DriverTest.java | 10 +- .../postgresql/test/jdbc2/EncodingTest.java | 4 +- .../postgresql/test/jdbc2/JBuilderTest.java | 6 +- .../org/postgresql/test/jdbc2/MiscTest.java | 6 +- .../postgresql/test/jdbc2/ResultSetTest.java | 2 +- .../org/postgresql/test/jdbc2/TimeTest.java | 10 +- .../postgresql/test/jdbc2/TimestampTest.java | 10 +- .../jdbc/org/postgresql/util/MD5Digest.java | 105 +- .../postgresql/util/MessageTranslator.java | 2 +- .../jdbc/org/postgresql/util/PGbytea.java | 8 +- .../jdbc/org/postgresql/util/PGmoney.java | 18 +- .../jdbc/org/postgresql/util/PGobject.java | 18 +- .../jdbc/org/postgresql/util/PGtokenizer.java | 28 +- .../org/postgresql/util/PSQLException.java | 18 +- .../jdbc/org/postgresql/util/Serialize.java | 22 +- .../jdbc/org/postgresql/util/UnixCrypt.java | 8 +- .../org/postgresql/xa/ClientConnection.java | 18 +- .../org/postgresql/xa/TwoPhaseConnection.java | 12 +- .../jdbc/org/postgresql/xa/TxConnection.java | 22 +- .../org/postgresql/xa/XAConnectionImpl.java | 29 +- .../org/postgresql/xa/XADataSourceImpl.java | 36 +- 75 files changed, 1925 insertions(+), 1880 deletions(-) diff --git a/src/interfaces/jdbc/org/postgresql/Connection.java b/src/interfaces/jdbc/org/postgresql/Connection.java index 0d53b96e48..239e4dc7d2 100644 --- a/src/interfaces/jdbc/org/postgresql/Connection.java +++ b/src/interfaces/jdbc/org/postgresql/Connection.java @@ -10,8 +10,8 @@ import org.postgresql.largeobject.*; import org.postgresql.util.*; import org.postgresql.core.*; -/** - * $Id: Connection.java,v 1.35 2001/11/12 19:11:56 barry Exp $ +/* + * $Id: Connection.java,v 1.36 2001/11/19 22:33:37 momjian Exp $ * * This abstract class is used by org.postgresql.Driver to open either the JDBC1 or * JDBC2 versions of the Connection class. @@ -30,7 +30,7 @@ public abstract class Connection private boolean PG_STATUS; private String compatible; - /** + /* * The encoding to use for this connection. */ private Encoding encoding = Encoding.defaultEncoding(); @@ -63,7 +63,7 @@ public abstract class Connection private static final int AUTH_REQ_KRB5 = 2; private static final int AUTH_REQ_PASSWORD = 3; private static final int AUTH_REQ_CRYPT = 4; - private static final int AUTH_REQ_MD5 = 5; + private static final int AUTH_REQ_MD5 = 5; // New for 6.3, salt value for crypt authorisation private String salt; @@ -76,7 +76,7 @@ public abstract class Connection // Now handle notices as warnings, so things like "show" now work public SQLWarning firstWarning = null; - /** + /* * Cache of the current isolation level */ private int isolationLevel = java.sql.Connection.TRANSACTION_READ_COMMITTED; @@ -85,13 +85,13 @@ public abstract class Connection public int pid; public int ckey; - /** + /* * This is called by Class.forName() from within org.postgresql.Driver */ public Connection() {} - /** + /* * This method actually opens the connection. It is called by Driver. * * @param host the hostname of the database back end @@ -115,7 +115,7 @@ public abstract class Connection this_url = url; PG_DATABASE = database; PG_USER = info.getProperty("user"); - PG_PASSWORD = info.getProperty("password",""); + PG_PASSWORD = info.getProperty("password",""); PG_PORT = port; PG_HOST = host; PG_STATUS = CONNECTION_BAD; @@ -335,7 +335,7 @@ public abstract class Connection // are common to all implementations (JDBC1 or 2), they are placed here. // This should make it easy to maintain the two specifications. - /** + /* * This adds a warning to the warning chain. * @param msg message to add */ @@ -355,17 +355,17 @@ public abstract class Connection // technique again, we'll know where to place it. // // This is generated by the SQL "show datestyle" - //if(msg.startsWith("NOTICE:") && msg.indexOf("DateStyle")>0) { + //if (msg.startsWith("NOTICE:") && msg.indexOf("DateStyle")>0) { //// 13 is the length off "DateStyle is " //msg = msg.substring(msg.indexOf("DateStyle is ")+13); // //for(int i=0;iNOTE: This is not part of JDBC, but allows access to @@ -493,7 +493,7 @@ public abstract class Connection // This holds a reference to the Fastpath API if already open private Fastpath fastpath = null; - /** + /* * This returns the LargeObject API for the current connection. * *

NOTE: This is not part of JDBC, but allows access to @@ -522,7 +522,7 @@ public abstract class Connection // This holds a reference to the LargeObject API if already open private LargeObjectManager largeobject = null; - /** + /* * This method is used internally to return an object based around * org.postgresql's more unique data types. * @@ -594,7 +594,7 @@ public abstract class Connection return null; } - /** + /* * This stores an object into the database. * @param o Object to store * @return OID of the new rectord @@ -639,7 +639,7 @@ public abstract class Connection } } - /** + /* * This allows client code to add a handler for one of org.postgresql's * more unique data types. * @@ -693,13 +693,13 @@ public abstract class Connection // These are required by other common classes public abstract java.sql.Statement createStatement() throws SQLException; - /** + /* * This returns a resultset. It must be overridden, so that the correct * version (from jdbc1 or jdbc2) are returned. */ public abstract java.sql.ResultSet getResultSet(org.postgresql.Connection conn, java.sql.Statement stat, Field[] fields, Vector tuples, String status, int updateCount, int insertOID, boolean binaryCursor) throws SQLException; - /** + /* * In some cases, it is desirable to immediately release a Connection's * database and JDBC resources instead of waiting for them to be * automatically released (cant think why off the top of my head) @@ -726,7 +726,7 @@ public abstract class Connection } } - /** + /* * A driver may convert the JDBC sql grammar into its system's * native SQL grammar prior to sending it; nativeSQL returns the * native form of the statement that the driver would have sent. @@ -741,7 +741,7 @@ public abstract class Connection return sql; } - /** + /* * The first warning reported by calls on this Connection is * returned. * @@ -756,7 +756,7 @@ public abstract class Connection return firstWarning; } - /** + /* * After this call, getWarnings returns null until a new warning * is reported for this connection. * @@ -768,7 +768,7 @@ public abstract class Connection } - /** + /* * You can put a connection in read-only mode as a hunt to enable * database optimizations * @@ -783,7 +783,7 @@ public abstract class Connection this.readOnly = readOnly; } - /** + /* * Tests to see if the connection is in Read Only Mode. Note that * we cannot really put the database in read only mode, but we pretend * we can by returning the value of the readOnly flag @@ -796,7 +796,7 @@ public abstract class Connection return readOnly; } - /** + /* * If a connection is in auto-commit mode, than all its SQL * statements will be executed and committed as individual * transactions. Otherwise, its SQL statements are grouped @@ -835,7 +835,7 @@ public abstract class Connection this.autoCommit = autoCommit; } - /** + /* * gets the current auto-commit state * * @return Current state of the auto-commit mode @@ -847,7 +847,7 @@ public abstract class Connection return this.autoCommit; } - /** + /* * The method commit() makes all changes made since the previous * commit/rollback permanent and releases any database locks currently * held by the Connection. This method should only be used when @@ -873,7 +873,7 @@ public abstract class Connection } } - /** + /* * The method rollback() drops all changes made since the previous * commit/rollback and releases any database locks currently held by * the Connection. @@ -897,7 +897,7 @@ public abstract class Connection } } - /** + /* * Get this Connection's current transaction isolation mode. * * @return the current TRANSACTION_* mode value @@ -925,7 +925,7 @@ public abstract class Connection return java.sql.Connection.TRANSACTION_READ_COMMITTED; } - /** + /* * You can call this method to try to change the transaction * isolation level using one of the TRANSACTION_* values. * @@ -972,7 +972,7 @@ public abstract class Connection ExecSQL(isolationLevelSQL); } - /** + /* * Helper method used by setTransactionIsolation(), commit(), rollback() * and setAutoCommit(). This returns the SQL string needed to * set the isolation level for a transaction. In 7.1 and later it @@ -1007,7 +1007,7 @@ public abstract class Connection return sb.toString(); } - /** + /* * A sub-space of this Connection's database may be selected by * setting a catalog name. If the driver does not support catalogs, * it will silently ignore this request @@ -1019,7 +1019,7 @@ public abstract class Connection //no-op } - /** + /* * Return the connections current catalog name, or null if no * catalog name is set, or we dont support catalogs. * @@ -1031,7 +1031,7 @@ public abstract class Connection return PG_DATABASE; } - /** + /* * Overides finalize(). If called, it closes the connection. * * This was done at the request of Rachel Greenham @@ -1051,7 +1051,7 @@ public abstract class Connection return versionParts.nextToken(); /* "X.Y.Z" */ } - /** + /* * Get server version number */ public String getDBVersionNumber() @@ -1064,7 +1064,7 @@ public abstract class Connection return (getDBVersionNumber().compareTo(ver) >= 0); } - /** + /* * This method returns true if the compatible level set in the connection * (which can be passed into the connection or specified in the URL) * is at least the value passed to this method. This is used to toggle @@ -1082,7 +1082,7 @@ public abstract class Connection } - /** + /* * This returns the java.sql.Types type for a PG type oid * * @param oid PostgreSQL type oid @@ -1111,7 +1111,7 @@ public abstract class Connection return sqlType.intValue(); } - /** + /* * This returns the java.sql.Types type for a PG type * * @param pgTypeName PostgreSQL type name @@ -1119,7 +1119,7 @@ public abstract class Connection */ public abstract int getSQLType(String pgTypeName); - /** + /* * This returns the oid for a given PG data type * @param typeName PostgreSQL type name * @return PostgreSQL oid value for a field of this type @@ -1150,7 +1150,7 @@ public abstract class Connection return oid; } - /** + /* * We also need to get the PG type name as returned by the back end. * * @return the String representation of the type of this field diff --git a/src/interfaces/jdbc/org/postgresql/Driver.java.in b/src/interfaces/jdbc/org/postgresql/Driver.java.in index 5201c8c72d..5263cf9d0b 100644 --- a/src/interfaces/jdbc/org/postgresql/Driver.java.in +++ b/src/interfaces/jdbc/org/postgresql/Driver.java.in @@ -5,7 +5,7 @@ import java.util.*; import org.postgresql.util.PSQLException; -/** +/* * The Java SQL framework allows for multiple database drivers. Each * driver should supply a class that implements the Driver interface * @@ -18,7 +18,7 @@ import org.postgresql.util.PSQLException; * bringing in vast quantities of supporting code. * *

When a Driver class is loaded, it should create an instance of itself - * and register it with the DriverManager. This means that a user can load + * and register it with the DriverManager. This means that a user can load * and register a driver by doing Class.forName("foo.bah.Driver") * * @see org.postgresql.Connection @@ -27,484 +27,526 @@ import org.postgresql.util.PSQLException; public class Driver implements java.sql.Driver { - protected static final int DEBUG=0; - protected static final int INFO = 1; - protected static final int WARN = 2; - protected static final int ERROR = 3; - protected static final int FATAL = 4; - - private static int logLevel= FATAL; - - static - { - try { - // moved the registerDriver from the constructor to here - // because some clients call the driver themselves (I know, as - // my early jdbc work did - and that was based on other examples). - // Placing it here, means that the driver is registered once only. - java.sql.DriverManager.registerDriver(new Driver()); - - } catch (SQLException e) { - e.printStackTrace(); - } - } - - /** - * Construct a new driver and register it with DriverManager - * - * @exception SQLException for who knows what! - */ - public Driver() throws SQLException - { - // Set the connectClass variable so that future calls will handle the correct - // base class - //if(System.getProperty("java.version").startsWith("1.1")) { - //connectClass = "postgresql.jdbc1.Connection"; - //} else { - //connectClass = "postgresql.jdbc2.Connection"; - //} - - // Ok, when the above code was introduced in 6.5 it's intention was to allow - // the driver to automatically detect which version of JDBC was being used - // and to detect the version of the JVM accordingly. - // - // It did this by using the java.version parameter. - // - // However, it was quickly discovered that not all JVM's returned an easily - // parseable version number (ie "1.2") and some don't return a value at all. - // The latter came from a discussion on the advanced java list. - // - // So, to solve this, I've moved the decision out of the driver, and it's now - // a compile time parameter. - // - // For this to work, the Makefile creates a pseudo class which contains the class - // name that will actually make the connection. - } - - /** - * Try to make a database connection to the given URL. The driver - * should return "null" if it realizes it is the wrong kind of - * driver to connect to the given URL. This will be common, as - * when the JDBC driverManager is asked to connect to a given URL, - * it passes the URL to each loaded driver in turn. - * - *

The driver should raise an SQLException if it is the right driver - * to connect to the given URL, but has trouble connecting to the - * database. - * - *

The java.util.Properties argument can be used to pass arbitrary - * string tag/value pairs as connection arguments. - * - * user - (optional) The user to connect as - * password - (optional) The password for the user - * charSet - (optional) The character set to be used for converting - * to/from the database to unicode. If multibyte is enabled on the - * server then the character set of the database is used as the default, - * otherwise the jvm character encoding is used as the default. - * compatible - This is used to toggle - * between different functionality as it changes across different releases - * of the jdbc driver code. The values here are versions of the jdbc - * client and not server versions. For example in 7.1 get/setBytes - * worked on LargeObject values, in 7.2 these methods were changed - * to work on bytea values. This change in functionality could - * be disabled by setting the compatible level to be "7.1", in - * which case the driver will revert to the 7.1 functionality. - * - *

Normally, at least - * "user" and "password" properties should be included in the - * properties. For a list of supported - * character encoding , see - * http://java.sun.com/products/jdk/1.2/docs/guide/internat/encoding.doc.html - * Note that you will probably want to have set up the Postgres database - * itself to use the same encoding, with the "-E " argument - * to createdb. - * - * Our protocol takes the forms: - *

-   *	jdbc:org.postgresql://host:port/database?param1=val1&...
-   * 
- * - * @param url the URL of the database to connect to - * @param info a list of arbitrary tag/value pairs as connection - * arguments - * @return a connection to the URL or null if it isnt us - * @exception SQLException if a database access error occurs - * @see java.sql.Driver#connect - */ - public java.sql.Connection connect(String url, Properties info) throws SQLException - { - if((props = parseURL(url,info))==null) - { - Driver.debug("Error in url" + url); - return null; - } - try { - Driver.debug("connect " + url); - - org.postgresql.Connection con = (org.postgresql.Connection)(Class.forName("@JDBCCONNECTCLASS@").newInstance()); - con.openConnection (host(), port(), props, database(), url, this); - return (java.sql.Connection)con; - } catch(ClassNotFoundException ex) { - Driver.debug("error",ex); - throw new PSQLException("postgresql.jvm.version",ex); - } catch(PSQLException ex1) { - // re-throw the exception, otherwise it will be caught next, and a - // org.postgresql.unusual error will be returned instead. - throw ex1; - } catch(Exception ex2) { - Driver.debug("error",ex2); - throw new PSQLException("postgresql.unusual",ex2); - } - } - - /** - * Returns true if the driver thinks it can open a connection to the - * given URL. Typically, drivers will return true if they understand - * the subprotocol specified in the URL and false if they don't. Our - * protocols start with jdbc:org.postgresql: - * - * @see java.sql.Driver#acceptsURL - * @param url the URL of the driver - * @return true if this driver accepts the given URL - * @exception SQLException if a database-access error occurs - * (Dont know why it would *shrug*) - */ - public boolean acceptsURL(String url) throws SQLException - { - if(parseURL(url,null)==null) - return false; - return true; - } - - /** - * The getPropertyInfo method is intended to allow a generic GUI - * tool to discover what properties it should prompt a human for - * in order to get enough information to connect to a database. - * - *

Note that depending on the values the human has supplied so - * far, additional values may become necessary, so it may be necessary - * to iterate through several calls to getPropertyInfo - * - * @param url the Url of the database to connect to - * @param info a proposed list of tag/value pairs that will be sent on - * connect open. - * @return An array of DriverPropertyInfo objects describing - * possible properties. This array may be an empty array if - * no properties are required - * @exception SQLException if a database-access error occurs - * @see java.sql.Driver#getPropertyInfo - */ - public DriverPropertyInfo[] getPropertyInfo(String url, Properties info) throws SQLException - { - Properties p = parseURL(url,info); - - // naughty, but its best for speed. If anyone adds a property here, then - // this _MUST_ be increased to accomodate them. - DriverPropertyInfo d,dpi[] = new DriverPropertyInfo[0]; - //int i=0; - - //dpi[i++] = d = new DriverPropertyInfo("auth",p.getProperty("auth","default")); - //d.description = "determines if password authentication is used"; - //d.choices = new String[4]; - //d.choices[0]="default"; // Get value from org.postgresql.auth property, defaults to trust - //d.choices[1]="trust"; // No password authentication - //d.choices[2]="password"; // Password authentication - //d.choices[3]="ident"; // Ident (RFC 1413) protocol - - return dpi; - } - - /** - * Gets the drivers major version number - * - * @return the drivers major version number - */ - public int getMajorVersion() - { - return @MAJORVERSION@; - } - - /** - * Get the drivers minor version number - * - * @return the drivers minor version number - */ - public int getMinorVersion() - { - return @MINORVERSION@; - } - - /** - * Returns the VERSION variable from Makefile.global - */ - public static String getVersion() - { - return "@VERSION@"; - } - - /** - * Report whether the driver is a genuine JDBC compliant driver. A - * driver may only report "true" here if it passes the JDBC compliance - * tests, otherwise it is required to return false. JDBC compliance - * requires full support for the JDBC API and full support for SQL 92 - * Entry Level. - * - *

For PostgreSQL, this is not yet possible, as we are not SQL92 - * compliant (yet). - */ - public boolean jdbcCompliant() - { - return false; - } - - private Properties props; - - static private String[] protocols = { "jdbc","postgresql" }; - - /** - * Constructs a new DriverURL, splitting the specified URL into its - * component parts - * @param url JDBC URL to parse - * @param defaults Default properties - * @return Properties with elements added from the url - * @exception SQLException - */ - Properties parseURL(String url,Properties defaults) throws SQLException - { - int state = -1; - Properties urlProps = new Properties(defaults); - String key = ""; - String value = ""; - - StringTokenizer st = new StringTokenizer(url, ":/;=&?", true); - for (int count = 0; (st.hasMoreTokens()); count++) { - String token = st.nextToken(); - - // PM June 29 1997 - // Added this, to help me understand how this works. - // Unless you want each token to be processed, leave this commented out - // but don't delete it. - //DriverManager.println("wellFormedURL: state="+state+" count="+count+" token='"+token+"'"); - - // PM Aug 2 1997 - Modified to allow multiple backends - if (count <= 3) { - if ((count % 2) == 1 && token.equals(":")) - ; - else if((count % 2) == 0) { - boolean found=(count==0)?true:false; - for(int tmp=0;tmp 0) { - urlProps.put("Protocol",token); - found=true; - } - } - } - - if(found == false) - return null; - } else return null; - } - else if (count > 3) { - if (count == 4 && token.equals("/")) state = 0; - else if (count == 4) { - urlProps.put("PGDBNAME", token); - state = -2; + protected static final int DEBUG = 0; + protected static final int INFO = 1; + protected static final int WARN = 2; + protected static final int ERROR = 3; + protected static final int FATAL = 4; + + private static int logLevel = FATAL; + + static + { + try + { + // moved the registerDriver from the constructor to here + // because some clients call the driver themselves (I know, as + // my early jdbc work did - and that was based on other examples). + // Placing it here, means that the driver is registered once only. + java.sql.DriverManager.registerDriver(new Driver()); + + } + catch (SQLException e) + { + e.printStackTrace(); + } } - else if (count == 5 && state == 0 && token.equals("/")) - state = 1; - else if (count == 5 && state == 0) - return null; - else if (count == 6 && state == 1) - urlProps.put("PGHOST", token); - else if (count == 7 && token.equals(":")) state = 2; - else if (count == 8 && state == 2) { - try { - Integer portNumber = Integer.decode(token); - urlProps.put("PGPORT", portNumber.toString()); - } catch (Exception e) { - return null; - } + + /* + * Construct a new driver and register it with DriverManager + * + * @exception SQLException for who knows what! + */ + public Driver() throws SQLException + { + // Set the connectClass variable so that future calls will handle the correct + // base class + //if (System.getProperty("java.version").startsWith("1.1")) { + //connectClass = "postgresql.jdbc1.Connection"; + //} else { + //connectClass = "postgresql.jdbc2.Connection"; + //} + + // Ok, when the above code was introduced in 6.5 it's intention was to allow + // the driver to automatically detect which version of JDBC was being used + // and to detect the version of the JVM accordingly. + // + // It did this by using the java.version parameter. + // + // However, it was quickly discovered that not all JVM's returned an easily + // parseable version number (ie "1.2") and some don't return a value at all. + // The latter came from a discussion on the advanced java list. + // + // So, to solve this, I've moved the decision out of the driver, and it's now + // a compile time parameter. + // + // For this to work, the Makefile creates a pseudo class which contains the class + // name that will actually make the connection. } - else if ((count == 7 || count == 9) && - (state == 1 || state == 2) && token.equals("/")) - state = -1; - else if (state == -1) { - urlProps.put("PGDBNAME", token); - state = -2; + + /* + * Try to make a database connection to the given URL. The driver + * should return "null" if it realizes it is the wrong kind of + * driver to connect to the given URL. This will be common, as + * when the JDBC driverManager is asked to connect to a given URL, + * it passes the URL to each loaded driver in turn. + * + *

The driver should raise an SQLException if it is the right driver + * to connect to the given URL, but has trouble connecting to the + * database. + * + *

The java.util.Properties argument can be used to pass arbitrary + * string tag/value pairs as connection arguments. + * + * user - (optional) The user to connect as + * password - (optional) The password for the user + * charSet - (optional) The character set to be used for converting + * to/from the database to unicode. If multibyte is enabled on the + * server then the character set of the database is used as the default, + * otherwise the jvm character encoding is used as the default. + * compatible - This is used to toggle + * between different functionality as it changes across different releases + * of the jdbc driver code. The values here are versions of the jdbc + * client and not server versions. For example in 7.1 get/setBytes + * worked on LargeObject values, in 7.2 these methods were changed + * to work on bytea values. This change in functionality could + * be disabled by setting the compatible level to be "7.1", in + * which case the driver will revert to the 7.1 functionality. + * + *

Normally, at least + * "user" and "password" properties should be included in the + * properties. For a list of supported + * character encoding , see + * http://java.sun.com/products/jdk/1.2/docs/guide/internat/encoding.doc.html + * Note that you will probably want to have set up the Postgres database + * itself to use the same encoding, with the "-E " argument + * to createdb. + * + * Our protocol takes the forms: + *

+	 *	jdbc:org.postgresql://host:port/database?param1=val1&...
+	 * 
+ * + * @param url the URL of the database to connect to + * @param info a list of arbitrary tag/value pairs as connection + * arguments + * @return a connection to the URL or null if it isnt us + * @exception SQLException if a database access error occurs + * @see java.sql.Driver#connect + */ + public java.sql.Connection connect(String url, Properties info) throws SQLException + { + if ((props = parseURL(url, info)) == null) + { + Driver.debug("Error in url" + url); + return null; + } + try + { + Driver.debug("connect " + url); + + org.postgresql.Connection con = (org.postgresql.Connection)(Class.forName("@JDBCCONNECTCLASS@").newInstance()); + con.openConnection (host(), port(), props, database(), url, this); + return (java.sql.Connection)con; + } + catch (ClassNotFoundException ex) + { + Driver.debug("error", ex); + throw new PSQLException("postgresql.jvm.version", ex); + } + catch (PSQLException ex1) + { + // re-throw the exception, otherwise it will be caught next, and a + // org.postgresql.unusual error will be returned instead. + throw ex1; + } + catch (Exception ex2) + { + Driver.debug("error", ex2); + throw new PSQLException("postgresql.unusual", ex2); + } } - else if (state <= -2 && (count % 2) == 1) { - // PM Aug 2 1997 - added tests for ? and & - if (token.equals(";") || token.equals("?") || token.equals("&") ) state = -3; - else if (token.equals("=")) state = -5; + + /* + * Returns true if the driver thinks it can open a connection to the + * given URL. Typically, drivers will return true if they understand + * the subprotocol specified in the URL and false if they don't. Our + * protocols start with jdbc:org.postgresql: + * + * @see java.sql.Driver#acceptsURL + * @param url the URL of the driver + * @return true if this driver accepts the given URL + * @exception SQLException if a database-access error occurs + * (Dont know why it would *shrug*) + */ + public boolean acceptsURL(String url) throws SQLException + { + if (parseURL(url, null) == null) + return false; + return true; } - else if (state <= -2 && (count % 2) == 0) { - if (state == -3) key = token; - else if (state == -5) { - value = token; - //DriverManager.println("put("+key+","+value+")"); - urlProps.put(key, value); - state = -2; - } + + /* + * The getPropertyInfo method is intended to allow a generic GUI + * tool to discover what properties it should prompt a human for + * in order to get enough information to connect to a database. + * + *

Note that depending on the values the human has supplied so + * far, additional values may become necessary, so it may be necessary + * to iterate through several calls to getPropertyInfo + * + * @param url the Url of the database to connect to + * @param info a proposed list of tag/value pairs that will be sent on + * connect open. + * @return An array of DriverPropertyInfo objects describing + * possible properties. This array may be an empty array if + * no properties are required + * @exception SQLException if a database-access error occurs + * @see java.sql.Driver#getPropertyInfo + */ + public DriverPropertyInfo[] getPropertyInfo(String url, Properties info) throws SQLException + { + Properties p = parseURL(url, info); + + // naughty, but its best for speed. If anyone adds a property here, then + // this _MUST_ be increased to accomodate them. + DriverPropertyInfo d, dpi[] = new DriverPropertyInfo[0]; + //int i=0; + + //dpi[i++] = d = new DriverPropertyInfo("auth",p.getProperty("auth","default")); + //d.description = "determines if password authentication is used"; + //d.choices = new String[4]; + //d.choices[0]="default"; // Get value from org.postgresql.auth property, defaults to trust + //d.choices[1]="trust"; // No password authentication + //d.choices[2]="password"; // Password authentication + //d.choices[3]="ident"; // Ident (RFC 1413) protocol + + return dpi; + } + + /* + * Gets the drivers major version number + * + * @return the drivers major version number + */ + public int getMajorVersion() + { + return @MAJORVERSION@; + } + + /* + * Get the drivers minor version number + * + * @return the drivers minor version number + */ + public int getMinorVersion() + { + return @MINORVERSION@; + } + + /* + * Returns the VERSION variable from Makefile.global + */ + public static String getVersion() + { + return "@VERSION@"; + } + + /* + * Report whether the driver is a genuine JDBC compliant driver. A + * driver may only report "true" here if it passes the JDBC compliance + * tests, otherwise it is required to return false. JDBC compliance + * requires full support for the JDBC API and full support for SQL 92 + * Entry Level. + * + *

For PostgreSQL, this is not yet possible, as we are not SQL92 + * compliant (yet). + */ + public boolean jdbcCompliant() + { + return false; + } + + private Properties props; + + static private String[] protocols = { "jdbc", "postgresql" }; + + /* + * Constructs a new DriverURL, splitting the specified URL into its + * component parts + * @param url JDBC URL to parse + * @param defaults Default properties + * @return Properties with elements added from the url + * @exception SQLException + */ + Properties parseURL(String url, Properties defaults) throws SQLException + { + int state = -1; + Properties urlProps = new Properties(defaults); + String key = ""; + String value = ""; + + StringTokenizer st = new StringTokenizer(url, ":/;=&?", true); + for (int count = 0; (st.hasMoreTokens()); count++) + { + String token = st.nextToken(); + + // PM June 29 1997 + // Added this, to help me understand how this works. + // Unless you want each token to be processed, leave this commented out + // but don't delete it. + //DriverManager.println("wellFormedURL: state="+state+" count="+count+" token='"+token+"'"); + + // PM Aug 2 1997 - Modified to allow multiple backends + if (count <= 3) + { + if ((count % 2) == 1 && token.equals(":")) + ; + else if ((count % 2) == 0) + { + boolean found = (count == 0) ? true : false; + for (int tmp = 0;tmp < protocols.length;tmp++) + { + if (token.equals(protocols[tmp])) + { + // PM June 29 1997 Added this property to enable the driver + // to handle multiple backend protocols. + if (count == 2 && tmp > 0) + { + urlProps.put("Protocol", token); + found = true; + } + } + } + + if (found == false) + return null; + } + else + return null; + } + else if (count > 3) + { + if (count == 4 && token.equals("/")) + state = 0; + else if (count == 4) + { + urlProps.put("PGDBNAME", token); + state = -2; + } + else if (count == 5 && state == 0 && token.equals("/")) + state = 1; + else if (count == 5 && state == 0) + return null; + else if (count == 6 && state == 1) + urlProps.put("PGHOST", token); + else if (count == 7 && token.equals(":")) + state = 2; + else if (count == 8 && state == 2) + { + try + { + Integer portNumber = Integer.decode(token); + urlProps.put("PGPORT", portNumber.toString()); + } + catch (Exception e) + { + return null; + } + } + else if ((count == 7 || count == 9) && + (state == 1 || state == 2) && token.equals("/")) + state = -1; + else if (state == -1) + { + urlProps.put("PGDBNAME", token); + state = -2; + } + else if (state <= -2 && (count % 2) == 1) + { + // PM Aug 2 1997 - added tests for ? and & + if (token.equals(";") || token.equals("?") || token.equals("&") ) + state = -3; + else if (token.equals("=")) + state = -5; + } + else if (state <= -2 && (count % 2) == 0) + { + if (state == -3) + key = token; + else if (state == -5) + { + value = token; + //DriverManager.println("put("+key+","+value+")"); + urlProps.put(key, value); + state = -2; + } + } + } + } + + // PM June 29 1997 + // This now outputs the properties only if we are logging + // PM Sep 13 1999 Commented out, as it throws a Deprecation warning + // when compiled under JDK1.2. + //if (DriverManager.getLogStream() != null) + // urlProps.list(DriverManager.getLogStream()); + + return urlProps; + + } + + /* + * @return the hostname portion of the URL + */ + public String host() + { + return props.getProperty("PGHOST", "localhost"); } - } - } - - // PM June 29 1997 - // This now outputs the properties only if we are logging - // PM Sep 13 1999 Commented out, as it throws a Deprecation warning - // when compiled under JDK1.2. - //if(DriverManager.getLogStream() != null) - // urlProps.list(DriverManager.getLogStream()); - - return urlProps; - - } - - /** - * @return the hostname portion of the URL - */ - public String host() - { - return props.getProperty("PGHOST","localhost"); - } - - /** - * @return the port number portion of the URL or -1 if no port was specified - */ - public int port() - { - return Integer.parseInt(props.getProperty("PGPORT","@DEF_PGPORT@")); - } - - /** - * @return the database name of the URL - */ - public String database() - { - return props.getProperty("PGDBNAME"); - } - - /** - * @return the value of any property specified in the URL or properties - * passed to connect(), or null if not found. - */ - public String property(String name) - { - return props.getProperty(name); - } - - /** - * This method was added in v6.5, and simply throws an SQLException - * for an unimplemented method. I decided to do it this way while - * implementing the JDBC2 extensions to JDBC, as it should help keep the - * overall driver size down. - */ - public static SQLException notImplemented() - { - return new PSQLException("postgresql.unimplemented"); - } - /** - * logging message at the debug level - * messages will be printed if the logging level is less or equal to DEBUG - */ - public static void debug(String msg) - { - if (logLevel <= DEBUG){ - DriverManager.println(msg); - } - } - /** - * logging message at the debug level - * messages will be printed if the logging level is less or equal to DEBUG - */ - public static void debug(String msg, Exception ex) - { - if (logLevel <= DEBUG){ - DriverManager.println(msg + ex != null?ex.getMessage():"null Exception"); - } - } - /** - * logging message at info level - * messages will be printed if the logging level is less or equal to INFO - */ - public static void info(String msg) - { - if (logLevel <= INFO){ - DriverManager.println(msg); - } - } - /** - * logging message at info level - * messages will be printed if the logging level is less or equal to INFO - */ - public static void info(String msg, Exception ex) - { - if (logLevel <= INFO){ - DriverManager.println(msg + ex != null?ex.getMessage():"null Exception"); - } - } - /** - * logging message at warn level - * messages will be printed if the logging level is less or equal to WARN - */ - public static void warn(String msg) - { - if (logLevel <= WARN){ - DriverManager.println(msg); - } - } - /** - * logging message at warn level - * messages will be printed if the logging level is less or equal to WARN - */ - public static void warn(String msg, Exception ex) - { - if (logLevel <= WARN){ - DriverManager.println(msg + ex != null?ex.getMessage():"null Exception"); - } - } - /** - * logging message at error level - * messages will be printed if the logging level is less or equal to ERROR - */ - public static void error(String msg) - { - if (logLevel <= ERROR){ - DriverManager.println(msg); - } - } - /** - * logging message at error level - * messages will be printed if the logging level is less or equal to ERROR - */ - public static void error(String msg, Exception ex) - { - if (logLevel <= ERROR){ - DriverManager.println(msg + ex != null?ex.getMessage():"null Exception"); - } - } - /** - * logging message at fatal level - * messages will be printed if the logging level is less or equal to FATAL - */ - public static void fatal(String msg) - { - if (logLevel <= FATAL){ - DriverManager.println(msg); - } - } - /** - * logging message at fatal level - * messages will be printed if the logging level is less or equal to FATAL - */ - public static void fatal(String msg, Exception ex) - { - if (logLevel <= FATAL){ - DriverManager.println(msg + ex != null?ex.getMessage():"null Exception"); - } - } -} + /* + * @return the port number portion of the URL or -1 if no port was specified + */ + public int port() + { + return Integer.parseInt(props.getProperty("PGPORT", "@DEF_PGPORT@")); + } + + /* + * @return the database name of the URL + */ + public String database() + { + return props.getProperty("PGDBNAME"); + } + + /* + * @return the value of any property specified in the URL or properties + * passed to connect(), or null if not found. + */ + public String property(String name) + { + return props.getProperty(name); + } + + /* + * This method was added in v6.5, and simply throws an SQLException + * for an unimplemented method. I decided to do it this way while + * implementing the JDBC2 extensions to JDBC, as it should help keep the + * overall driver size down. + */ + public static SQLException notImplemented() + { + return new PSQLException("postgresql.unimplemented"); + } + /* + * logging message at the debug level + * messages will be printed if the logging level is less or equal to DEBUG + */ + public static void debug(String msg) + { + if (logLevel <= DEBUG) + { + DriverManager.println(msg); + } + } + /* + * logging message at the debug level + * messages will be printed if the logging level is less or equal to DEBUG + */ + public static void debug(String msg, Exception ex) + { + if (logLevel <= DEBUG) + { + DriverManager.println(msg + ex != null ? ex.getMessage() : "null Exception"); + } + } + /* + * logging message at info level + * messages will be printed if the logging level is less or equal to INFO + */ + public static void info(String msg) + { + if (logLevel <= INFO) + { + DriverManager.println(msg); + } + } + /* + * logging message at info level + * messages will be printed if the logging level is less or equal to INFO + */ + public static void info(String msg, Exception ex) + { + if (logLevel <= INFO) + { + DriverManager.println(msg + ex != null ? ex.getMessage() : "null Exception"); + } + } + /* + * logging message at warn level + * messages will be printed if the logging level is less or equal to WARN + */ + public static void warn(String msg) + { + if (logLevel <= WARN) + { + DriverManager.println(msg); + } + } + /* + * logging message at warn level + * messages will be printed if the logging level is less or equal to WARN + */ + public static void warn(String msg, Exception ex) + { + if (logLevel <= WARN) + { + DriverManager.println(msg + ex != null ? ex.getMessage() : "null Exception"); + } + } + /* + * logging message at error level + * messages will be printed if the logging level is less or equal to ERROR + */ + public static void error(String msg) + { + if (logLevel <= ERROR) + { + DriverManager.println(msg); + } + } + /* + * logging message at error level + * messages will be printed if the logging level is less or equal to ERROR + */ + public static void error(String msg, Exception ex) + { + if (logLevel <= ERROR) + { + DriverManager.println(msg + ex != null ? ex.getMessage() : "null Exception"); + } + } + /* + * logging message at fatal level + * messages will be printed if the logging level is less or equal to FATAL + */ + public static void fatal(String msg) + { + if (logLevel <= FATAL) + { + DriverManager.println(msg); + } + } + /* + * logging message at fatal level + * messages will be printed if the logging level is less or equal to FATAL + */ + public static void fatal(String msg, Exception ex) + { + if (logLevel <= FATAL) + { + DriverManager.println(msg + ex != null ? ex.getMessage() : "null Exception"); + } + } +} diff --git a/src/interfaces/jdbc/org/postgresql/Field.java b/src/interfaces/jdbc/org/postgresql/Field.java index 88507311c9..8ab28057ef 100644 --- a/src/interfaces/jdbc/org/postgresql/Field.java +++ b/src/interfaces/jdbc/org/postgresql/Field.java @@ -6,7 +6,7 @@ import java.util.*; import org.postgresql.*; import org.postgresql.util.*; -/** +/* * org.postgresql.Field is a class used to describe fields in a PostgreSQL * ResultSet */ @@ -20,7 +20,7 @@ public class Field private Connection conn; // Connection Instantation - /** + /* * Construct a field based on the information fed to it. * * @param conn the connection this field came from @@ -37,7 +37,7 @@ public class Field this.mod = mod; } - /** + /* * Constructor without mod parameter. * * @param conn the connection this field came from @@ -50,7 +50,7 @@ public class Field this(conn, name, oid, length, 0); } - /** + /* * @return the oid of this Field's data type */ public int getOID() @@ -58,7 +58,7 @@ public class Field return oid; } - /** + /* * @return the mod of this Field's data type */ public int getMod() @@ -66,7 +66,7 @@ public class Field return mod; } - /** + /* * @return the name of this Field's data type */ public String getName() @@ -74,7 +74,7 @@ public class Field return name; } - /** + /* * @return the length of this Field's data type */ public int getLength() @@ -82,7 +82,7 @@ public class Field return length; } - /** + /* * We also need to get the PG type name as returned by the back end. * * @return the String representation of the PG type of this field @@ -93,7 +93,7 @@ public class Field return conn.getPGType(oid); } - /** + /* * We also need to get the java.sql.types type. * * @return the int representation of the java.sql.types type of this field diff --git a/src/interfaces/jdbc/org/postgresql/PG_Stream.java b/src/interfaces/jdbc/org/postgresql/PG_Stream.java index 049b4c5782..488edecdf0 100644 --- a/src/interfaces/jdbc/org/postgresql/PG_Stream.java +++ b/src/interfaces/jdbc/org/postgresql/PG_Stream.java @@ -9,8 +9,8 @@ import org.postgresql.*; import org.postgresql.core.*; import org.postgresql.util.*; -/** - * $Id: PG_Stream.java,v 1.14 2001/10/25 05:59:59 momjian Exp $ +/* + * $Id: PG_Stream.java,v 1.15 2001/11/19 22:33:37 momjian Exp $ * * This class is used by Connection & PGlobj for communicating with the * backend. @@ -28,7 +28,7 @@ public class PG_Stream BytePoolDim1 bytePoolDim1 = new BytePoolDim1(); BytePoolDim2 bytePoolDim2 = new BytePoolDim2(); - /** + /* * Constructor: Connect to the PostgreSQL back end and return * a stream connection. * @@ -49,7 +49,7 @@ public class PG_Stream pg_output = new BufferedOutputStream(connection.getOutputStream(), 8192); } - /** + /* * Sends a single character to the back end * * @param val the character to be sent @@ -60,7 +60,7 @@ public class PG_Stream pg_output.write((byte)val); } - /** + /* * Sends an integer to the back end * * @param val the integer to be sent @@ -79,7 +79,7 @@ public class PG_Stream Send(buf); } - /** + /* * Send an array of bytes to the backend * * @param buf The array of bytes to be sent @@ -90,7 +90,7 @@ public class PG_Stream pg_output.write(buf); } - /** + /* * Send an exact array of bytes to the backend - if the length * has not been reached, send nulls until it has. * @@ -103,7 +103,7 @@ public class PG_Stream Send(buf, 0, siz); } - /** + /* * Send an exact array of bytes to the backend - if the length * has not been reached, send nulls until it has. * @@ -126,7 +126,7 @@ public class PG_Stream } } - /** + /* * Receives a single character from the backend * * @return the character received @@ -149,7 +149,7 @@ public class PG_Stream return c; } - /** + /* * Receives an integer from the backend * * @param siz length of the integer in bytes @@ -178,7 +178,7 @@ public class PG_Stream return n; } - /** + /* * Receives an integer from the backend * * @param siz length of the integer in bytes @@ -207,7 +207,7 @@ public class PG_Stream return n; } - /** + /* * Receives a null-terminated string from the backend. If we don't see a * null, then we assume something has gone wrong. * @@ -258,7 +258,7 @@ public class PG_Stream return encoding.decode(rst, 0, s); } - /** + /* * Read a tuple from the back end. A tuple is a two dimensional * array of bytes * @@ -301,7 +301,7 @@ public class PG_Stream return answer; } - /** + /* * Reads in a given number of bytes from the backend * * @param siz number of bytes to read @@ -315,7 +315,7 @@ public class PG_Stream return answer; } - /** + /* * Reads in a given number of bytes from the backend * * @param buf buffer to store result @@ -343,7 +343,7 @@ public class PG_Stream } } - /** + /* * This flushes any pending output to the backend. It is used primarily * by the Fastpath code. * @exception SQLException if an I/O error occurs @@ -360,7 +360,7 @@ public class PG_Stream } } - /** + /* * Closes the connection * * @exception IOException if a IO Error occurs diff --git a/src/interfaces/jdbc/org/postgresql/PostgresqlDataSource.java b/src/interfaces/jdbc/org/postgresql/PostgresqlDataSource.java index 26dddfbf3d..65c110be21 100644 --- a/src/interfaces/jdbc/org/postgresql/PostgresqlDataSource.java +++ b/src/interfaces/jdbc/org/postgresql/PostgresqlDataSource.java @@ -1,4 +1,4 @@ -/** +/* * Redistribution and use of this software and associated documentation * ("Software"), with or without modification, are permitted provided * that the following conditions are met: @@ -40,7 +40,7 @@ * * Copyright 1999 (C) Exoffice Technologies Inc. All Rights Reserved. * -* $Id: PostgresqlDataSource.java,v 1.3 2001/10/25 05:59:59 momjian Exp $ +* $Id: PostgresqlDataSource.java,v 1.4 2001/11/19 22:33:37 momjian Exp $ */ @@ -71,7 +71,7 @@ import org.postgresql.util.PSQLException; import org.postgresql.xa.XADataSourceImpl; //--------- -/** +/* * Implements a JDBC 2.0 {@link javax.sql.DataSource} for the * PostgreSQL driver with JNDI persistance support. XA and pooled * connection support is also available, but the application must @@ -127,45 +127,45 @@ public class PostgresqlDataSource { - /** + /* * Holds the timeout for opening a new connection, specified * in seconds. The default is obtained from the JDBC driver. */ private int _loginTimeout; - /** + /* * Holds the user's account name. */ private String _user; - /** + /* * Holds the database password. */ private String _password; - /** + /* * Holds the name of the particular database on the server. */ private String _databaseName; - /** + /* * Description of this datasource. */ private String _description = "PostgreSQL DataSource"; - /** + /* * Holds the database server name. If null, this is * assumed to be the localhost. */ private String _serverName; - /** + /* * Holds the port number where a server is listening. * The default value will open a connection with an * unspecified port. @@ -173,7 +173,7 @@ public class PostgresqlDataSource private int _portNumber = DEFAULT_PORT; - /** + /* * The default port number. Since we open the connection * without specifying the port if it's the default one, * this value can be meaningless. @@ -181,7 +181,7 @@ public class PostgresqlDataSource private static final int DEFAULT_PORT = 0; - /** + /* * Holds the log writer to which all messages should be * printed. The default writer is obtained from the driver * manager, but it can be specified at the datasource level @@ -190,7 +190,7 @@ public class PostgresqlDataSource private transient PrintWriter _logWriter; - /** + /* * Each datasource maintains it's own driver, in case of * driver-specific setup (e.g. pools, log writer). */ @@ -335,7 +335,7 @@ public class PostgresqlDataSource } - /** + /* * Sets the name of the particular database on the server. * The standard name for this property is databaseName. * @@ -349,7 +349,7 @@ public class PostgresqlDataSource } - /** + /* * Returns the name of the particular database on the server. * The standard name for this property is databaseName. * @@ -361,7 +361,7 @@ public class PostgresqlDataSource } - /** + /* * Sets the description of this datasource. * The standard name for this property is description. * @@ -375,7 +375,7 @@ public class PostgresqlDataSource } - /** + /* * Returns the description of this datasource. * The standard name for this property is description. * @@ -387,7 +387,7 @@ public class PostgresqlDataSource } - /** + /* * Sets the database password. * The standard name for this property is password. * @@ -399,7 +399,7 @@ public class PostgresqlDataSource } - /** + /* * Returns the database password. * The standard name for this property is password. * @@ -411,7 +411,7 @@ public class PostgresqlDataSource } - /** + /* * Sets the port number where a server is listening. * The standard name for this property is portNumber. * @@ -423,7 +423,7 @@ public class PostgresqlDataSource } - /** + /* * Returns the port number where a server is listening. * The standard name for this property is portNumber. * @@ -435,7 +435,7 @@ public class PostgresqlDataSource } - /** + /* * Sets the database server name. * The standard name for this property is serverName. @@ -448,7 +448,7 @@ public class PostgresqlDataSource } - /** + /* * Returns the database server name. * The standard name for this property is serverName. * @@ -460,7 +460,7 @@ public class PostgresqlDataSource } - /** + /* * Sets the user's account name. * The standard name for this property is user. * @@ -472,7 +472,7 @@ public class PostgresqlDataSource } - /** + /* * Returns the user's account name. * The standard name for this property is user. * @@ -484,7 +484,7 @@ public class PostgresqlDataSource } - /** + /* * Returns true if this datasource and the other are equal. * The two datasources are equal if and only if they will produce * the exact same connections. Connection properties like database diff --git a/src/interfaces/jdbc/org/postgresql/ResultSet.java b/src/interfaces/jdbc/org/postgresql/ResultSet.java index 9febb88613..22a49fa6e2 100644 --- a/src/interfaces/jdbc/org/postgresql/ResultSet.java +++ b/src/interfaces/jdbc/org/postgresql/ResultSet.java @@ -9,7 +9,7 @@ import java.sql.*; import org.postgresql.largeobject.*; import org.postgresql.util.*; -/** +/* * This class implements the common internal methods used by both JDBC 1 and * JDBC 2 specifications. */ @@ -31,7 +31,7 @@ public abstract class ResultSet // next resultSet in the chain. protected ResultSet next = null; - /** + /* * Create a new ResultSet - Note that we create ResultSets to * represent the results of everything. * @@ -56,7 +56,7 @@ public abstract class ResultSet } - /** + /* * Create a new ResultSet - Note that we create ResultSets to * represent the results of everything. * @@ -72,7 +72,7 @@ public abstract class ResultSet this(conn, fields, tuples, status, updateCount, 0, false); } - /** + /* * We at times need to know if the resultSet we are working * with is the result of an UPDATE, DELETE or INSERT (in which * case, we only have a row count), or of a SELECT operation @@ -86,7 +86,7 @@ public abstract class ResultSet return (fields != null); } - /** + /* * Since ResultSets can be chained, we need some method of * finding the next one in the chain. The method getNext() * returns the next one in the chain. @@ -98,7 +98,7 @@ public abstract class ResultSet return (java.sql.ResultSet)next; } - /** + /* * This following method allows us to add a ResultSet object * to the end of the current chain. * @@ -112,7 +112,7 @@ public abstract class ResultSet next.append(r); } - /** + /* * If we are just a place holder for results, we still need * to get an updateCount. This method returns it. * @@ -123,7 +123,7 @@ public abstract class ResultSet return updateCount; } - /** + /* * We also need to provide a couple of auxiliary functions for * the implementation of the ResultMetaData functions. In * particular, we need to know the number of rows and the @@ -136,7 +136,7 @@ public abstract class ResultSet return rows.size(); } - /** + /* * getColumnCount returns the number of columns * * @return the number of columns @@ -146,7 +146,7 @@ public abstract class ResultSet return fields.length; } - /** + /* * Returns the status message from the backend.

* It is used internally by the driver. * @@ -157,7 +157,7 @@ public abstract class ResultSet return status; } - /** + /* * returns the OID of a field.

* It is used internally by the driver. * @@ -169,7 +169,7 @@ public abstract class ResultSet return fields[field -1].getOID(); } - /** + /* * returns the OID of the last inserted row */ public int getInsertedOID() @@ -177,14 +177,14 @@ public abstract class ResultSet return insertOID; } - /** + /* * This is part of the JDBC API, but is required by org.postgresql.Field */ public abstract void close() throws SQLException; public abstract boolean next() throws SQLException; public abstract String getString(int i) throws SQLException; - /** + /* * This is used to fix get*() methods on Money fields. It should only be * used by those methods! * diff --git a/src/interfaces/jdbc/org/postgresql/Statement.java b/src/interfaces/jdbc/org/postgresql/Statement.java index 2b201c8af4..80e5bf79a8 100644 --- a/src/interfaces/jdbc/org/postgresql/Statement.java +++ b/src/interfaces/jdbc/org/postgresql/Statement.java @@ -3,7 +3,7 @@ package org.postgresql; import java.sql.*; import org.postgresql.util.PSQLException; -/** +/* * This class defines methods implemented by the two subclasses * org.postgresql.jdbc1.Statement and org.postgresql.jdbc2.Statement that are * unique to PostgreSQL's JDBC driver. @@ -49,7 +49,7 @@ public abstract class Statement public Statement() {} - /** + /* * Returns the status message from the current Result.

* This is used internally by the driver. * @@ -62,7 +62,7 @@ public abstract class Statement return ((org.postgresql.ResultSet) result).getStatusString(); } - /** + /* * The maxRows limit is set to limit the number of rows that * any ResultSet can contain. If the limit is exceeded, the * excess rows are silently dropped. @@ -75,7 +75,7 @@ public abstract class Statement return maxrows; } - /** + /* * Set the maximum number of rows * * @param max the new max rows limit; zero means unlimited @@ -87,7 +87,7 @@ public abstract class Statement maxrows = max; } - /** + /* * If escape scanning is on (the default), the driver will do escape * substitution before sending the SQL to the database. * @@ -99,7 +99,7 @@ public abstract class Statement escapeProcessing = enable; } - /** + /* * The queryTimeout limit is the number of seconds the driver * will wait for a Statement to execute. If the limit is * exceeded, a SQLException is thrown. @@ -112,7 +112,7 @@ public abstract class Statement return timeout; } - /** + /* * Sets the queryTimeout limit * * @param seconds - the new query timeout limit in seconds @@ -123,7 +123,7 @@ public abstract class Statement timeout = seconds; } - /** + /* * The first warning reported by calls on this Statement is * returned. A Statement's execute methods clear its SQLWarning * chain. Subsequent Statement warnings will be chained to this @@ -144,7 +144,7 @@ public abstract class Statement return warnings; } - /** + /* * The maxFieldSize limit (in bytes) is the maximum amount of * data returned for any column value; it only applies to * BINARY, VARBINARY, LONGVARBINARY, CHAR, VARCHAR and LONGVARCHAR @@ -159,7 +159,7 @@ public abstract class Statement return 8192; // We cannot change this } - /** + /* * Sets the maxFieldSize - NOT! - We throw an SQLException just * to inform them to stop doing this. * @@ -171,7 +171,7 @@ public abstract class Statement throw new PSQLException("postgresql.stat.maxfieldsize"); } - /** + /* * After this call, getWarnings returns null until a new warning * is reported for this Statement. * @@ -182,7 +182,7 @@ public abstract class Statement warnings = null; } - /** + /* * Cancel can be used by one thread to cancel a statement that * is being executed by another thread. *

@@ -195,7 +195,7 @@ public abstract class Statement // FIXME: Cancel feature has been available since 6.4. Implement it here! } - /** + /* * New in 7.1: Returns the Last inserted oid. This should be used, rather * than the old method using getResultSet, which for executeUpdate returns * null. @@ -208,7 +208,7 @@ public abstract class Statement return ((org.postgresql.ResultSet) result).getInsertedOID(); } - /** + /* * getResultSet returns the current result as a ResultSet. It * should only be called once per result. * @@ -222,7 +222,7 @@ public abstract class Statement return null; } - /** + /* * In many cases, it is desirable to immediately release a * Statement's database and JDBC resources instead of waiting * for this to happen when it is automatically closed. The @@ -245,7 +245,7 @@ public abstract class Statement result = null; } - /** + /* * Filter the SQL string of Java SQL Escape clauses. * * Currently implemented Escape clauses are those mentioned in 11.3 diff --git a/src/interfaces/jdbc/org/postgresql/core/BytePoolDim1.java b/src/interfaces/jdbc/org/postgresql/core/BytePoolDim1.java index 0f44104722..bc2d642594 100644 --- a/src/interfaces/jdbc/org/postgresql/core/BytePoolDim1.java +++ b/src/interfaces/jdbc/org/postgresql/core/BytePoolDim1.java @@ -1,30 +1,30 @@ package org.postgresql.core; -/** +/* * A simple and efficient class to pool one dimensional byte arrays * of different sizes. */ public class BytePoolDim1 { - /** + /* * The maximum size of the array we manage. */ int maxsize = 256; - /** + /* * The pools not currently in use */ ObjectPool notusemap[] = new ObjectPool[maxsize + 1]; - /** + /* * The pools currently in use */ ObjectPool inusemap[] = new ObjectPool[maxsize + 1]; - /** + /* * */ byte binit[][] = new byte[maxsize + 1][0]; - /** + /* * Construct a new pool */ public BytePoolDim1() @@ -37,7 +37,7 @@ public class BytePoolDim1 } } - /** + /* * Allocate a byte[] of a specified size and put it in the pool. If it's * larger than maxsize then it is not pooled. * @return the byte[] allocated @@ -48,7 +48,7 @@ public class BytePoolDim1 return new byte[size]; /* // Don't pool if >maxsize - if(size > maxsize){ + if (size > maxsize){ return new byte[size]; } @@ -58,7 +58,7 @@ public class BytePoolDim1 // Fetch from the unused pool if available otherwise allocate a new // now array - if(!not_usel.isEmpty()) { + if (!not_usel.isEmpty()) { Object o = not_usel.remove(); b = (byte[]) o; } else @@ -69,7 +69,7 @@ public class BytePoolDim1 */ } - /** + /* * Release an array * @param b byte[] to release */ @@ -86,7 +86,7 @@ public class BytePoolDim1 not_usel.add(b); } - /** + /* * Deallocate all * @deprecated Real bad things happen if this is called! */ diff --git a/src/interfaces/jdbc/org/postgresql/core/BytePoolDim2.java b/src/interfaces/jdbc/org/postgresql/core/BytePoolDim2.java index d330af40ea..be115b841d 100644 --- a/src/interfaces/jdbc/org/postgresql/core/BytePoolDim2.java +++ b/src/interfaces/jdbc/org/postgresql/core/BytePoolDim2.java @@ -20,7 +20,7 @@ public class BytePoolDim2 // For now until the bug can be removed return new byte[size][0]; /* - if(size > maxsize){ + if (size > maxsize){ return new byte[size][0]; } ObjectPool not_usel = notusemap[size]; @@ -28,7 +28,7 @@ public class BytePoolDim2 byte b[][] = null; - if(!not_usel.isEmpty()) { + if (!not_usel.isEmpty()) { Object o = not_usel.remove(); b = (byte[][]) o; } else @@ -51,7 +51,7 @@ public class BytePoolDim2 not_usel.add(b); } - /** + /* * Deallocate the object cache. * PM 17/01/01: Commented out this code as it blows away any hope of * multiple queries on the same connection. I'll redesign the allocation diff --git a/src/interfaces/jdbc/org/postgresql/core/Encoding.java b/src/interfaces/jdbc/org/postgresql/core/Encoding.java index 11923aee2a..79d38f4316 100644 --- a/src/interfaces/jdbc/org/postgresql/core/Encoding.java +++ b/src/interfaces/jdbc/org/postgresql/core/Encoding.java @@ -5,10 +5,10 @@ import java.util.*; import java.sql.SQLException; import org.postgresql.util.*; -/** +/* * Converts to and from the character encoding used by the backend. * - * $Id: Encoding.java,v 1.3 2001/10/25 05:59:59 momjian Exp $ + * $Id: Encoding.java,v 1.4 2001/11/19 22:33:37 momjian Exp $ */ public class Encoding @@ -16,7 +16,7 @@ public class Encoding private static final Encoding DEFAULT_ENCODING = new Encoding(null); - /** + /* * Preferred JVM encodings for backend encodings. */ private static final Hashtable encodings = new Hashtable(); @@ -65,7 +65,7 @@ public class Encoding this.encoding = encoding; } - /** + /* * Get an Encoding for from the given database encoding and * the encoding passed in by the user. */ @@ -89,7 +89,7 @@ public class Encoding } } - /** + /* * Get an Encoding matching the given database encoding. */ private static Encoding encodingForDatabaseEncoding(String databaseEncoding) @@ -112,7 +112,7 @@ public class Encoding return defaultEncoding(); } - /** + /* * Name of the (JVM) encoding used. */ public String name() @@ -120,7 +120,7 @@ public class Encoding return encoding; } - /** + /* * Encode a string to an array of bytes. */ public byte[] encode(String s) throws SQLException @@ -142,7 +142,7 @@ public class Encoding } } - /** + /* * Decode an array of bytes into a string. */ public String decode(byte[] encodedString, int offset, int length) throws SQLException @@ -164,7 +164,7 @@ public class Encoding } } - /** + /* * Decode an array of bytes into a string. */ public String decode(byte[] encodedString) throws SQLException @@ -172,7 +172,7 @@ public class Encoding return decode(encodedString, 0, encodedString.length); } - /** + /* * Get a Reader that decodes the given InputStream. */ public Reader getDecodingReader(InputStream in) throws SQLException @@ -194,7 +194,7 @@ public class Encoding } } - /** + /* * Get an Encoding using the default encoding for the JVM. */ public static Encoding defaultEncoding() @@ -202,7 +202,7 @@ public class Encoding return DEFAULT_ENCODING; } - /** + /* * Test if an encoding is available in the JVM. */ private static boolean isAvailable(String encodingName) diff --git a/src/interfaces/jdbc/org/postgresql/core/MemoryPool.java b/src/interfaces/jdbc/org/postgresql/core/MemoryPool.java index 4c0996ba58..3f0c2cb51d 100644 --- a/src/interfaces/jdbc/org/postgresql/core/MemoryPool.java +++ b/src/interfaces/jdbc/org/postgresql/core/MemoryPool.java @@ -1,17 +1,17 @@ package org.postgresql.core; -/** +/* * This interface defines the methods to access the memory pool classes. */ public interface MemoryPool { - /** + /* * Allocate an array from the pool * @return byte[] allocated */ public byte[] allocByte(int size); - /** + /* * Frees an object back to the pool * @param o Object to release */ diff --git a/src/interfaces/jdbc/org/postgresql/core/ObjectPool.java b/src/interfaces/jdbc/org/postgresql/core/ObjectPool.java index 646f233e0c..341bba2024 100644 --- a/src/interfaces/jdbc/org/postgresql/core/ObjectPool.java +++ b/src/interfaces/jdbc/org/postgresql/core/ObjectPool.java @@ -1,6 +1,6 @@ package org.postgresql.core; -/** +/* * This interface defines methods needed to implement a simple object pool. * There are two known classes that implement this, one for jdk1.1 and the * other for jdk1.2+ @@ -8,41 +8,41 @@ package org.postgresql.core; public interface ObjectPool { - /** + /* * Adds an object to the pool * @param o Object to add */ public void add(Object o); - /** + /* * Removes an object from the pool * @param o Object to remove */ public void remove(Object o); - /** + /* * Removes the top object from the pool * @return Object from the top. */ public Object remove(); - /** + /* * @return true if the pool is empty */ public boolean isEmpty(); - /** + /* * @return the number of objects in the pool */ public int size(); - /** + /* * Adds all objects in one pool to this one * @param pool The pool to take the objects from */ public void addAll(ObjectPool pool); - /** + /* * Clears the pool of all objects */ public void clear(); diff --git a/src/interfaces/jdbc/org/postgresql/core/QueryExecutor.java b/src/interfaces/jdbc/org/postgresql/core/QueryExecutor.java index 1bb917d372..c066001554 100644 --- a/src/interfaces/jdbc/org/postgresql/core/QueryExecutor.java +++ b/src/interfaces/jdbc/org/postgresql/core/QueryExecutor.java @@ -7,13 +7,13 @@ import java.sql.*; import org.postgresql.*; import org.postgresql.util.PSQLException; -/** +/* * Executes a query on the backend. * *

The lifetime of a QueryExecutor object is from sending the query * until the response has been received from the backend. * - * $Id: QueryExecutor.java,v 1.3 2001/10/25 05:59:59 momjian Exp $ + * $Id: QueryExecutor.java,v 1.4 2001/11/19 22:33:37 momjian Exp $ */ public class QueryExecutor @@ -49,7 +49,7 @@ public class QueryExecutor private int insert_oid = 0; private int maxRows; - /** + /* * Execute a query on the backend. */ public java.sql.ResultSet execute() throws SQLException @@ -122,7 +122,7 @@ public class QueryExecutor } } - /** + /* * Send a query to the backend. */ private void sendQuery(String query) throws SQLException @@ -141,7 +141,7 @@ public class QueryExecutor } } - /** + /* * Receive a tuple from the backend. * * @param isBinary set if the tuple should be treated as binary data @@ -157,7 +157,7 @@ public class QueryExecutor tuples.addElement(tuple); } - /** + /* * Receive command status from the backend. */ private void receiveCommandStatus() throws SQLException @@ -184,7 +184,7 @@ public class QueryExecutor } } - /** + /* * Receive the field descriptions from the back end. */ private void receiveFields() throws SQLException diff --git a/src/interfaces/jdbc/org/postgresql/core/SimpleObjectPool.java b/src/interfaces/jdbc/org/postgresql/core/SimpleObjectPool.java index dd5ffe85ca..9603e96ded 100644 --- a/src/interfaces/jdbc/org/postgresql/core/SimpleObjectPool.java +++ b/src/interfaces/jdbc/org/postgresql/core/SimpleObjectPool.java @@ -1,6 +1,6 @@ package org.postgresql.core; -/** +/* * A simple and fast object pool implementation that can pool objects * of any type. This implementation is not thread safe, it is up to the users * of this class to assure thread safety. @@ -15,7 +15,7 @@ public class SimpleObjectPool implements ObjectPool int maxsize = 16; Object arr[] = new Object[maxsize]; - /** + /* * Adds an object to the pool * @param o Object to add */ @@ -31,7 +31,7 @@ public class SimpleObjectPool implements ObjectPool arr[cursize++] = o; } - /** + /* * Removes the top object from the pool * @return Object from the top. */ @@ -40,7 +40,7 @@ public class SimpleObjectPool implements ObjectPool return arr[--cursize]; } - /** + /* * Removes the given object from the pool * @param o Object to remove */ @@ -57,7 +57,7 @@ public class SimpleObjectPool implements ObjectPool } } - /** + /* * @return true if the pool is empty */ public boolean isEmpty() @@ -65,7 +65,7 @@ public class SimpleObjectPool implements ObjectPool return cursize == 0; } - /** + /* * @return the number of objects in the pool */ public int size() @@ -73,7 +73,7 @@ public class SimpleObjectPool implements ObjectPool return cursize; } - /** + /* * Adds all objects in one pool to this one * @param pool The pool to take the objects from */ @@ -96,7 +96,7 @@ public class SimpleObjectPool implements ObjectPool cursize = totalsize; } - /** + /* * Clears the pool of all objects */ public void clear() diff --git a/src/interfaces/jdbc/org/postgresql/fastpath/Fastpath.java b/src/interfaces/jdbc/org/postgresql/fastpath/Fastpath.java index 77460b492c..5f38d2f8dc 100644 --- a/src/interfaces/jdbc/org/postgresql/fastpath/Fastpath.java +++ b/src/interfaces/jdbc/org/postgresql/fastpath/Fastpath.java @@ -10,7 +10,7 @@ import org.postgresql.util.*; // Important: There are a lot of debug code commented out. Please do not // delete these. -/** +/* * This class implements the Fastpath api. * *

This is a means of executing functions imbeded in the org.postgresql backend @@ -30,7 +30,7 @@ public class Fastpath protected org.postgresql.Connection conn; // our connection protected org.postgresql.PG_Stream stream; // the network stream - /** + /* * Initialises the fastpath system * *

Important Notice @@ -47,7 +47,7 @@ public class Fastpath //DriverManager.println("Fastpath initialised"); } - /** + /* * Send a function call to the PostgreSQL backend * * @param fnid Function id @@ -91,8 +91,8 @@ public class Fastpath // as an error. //int in = stream.ReceiveChar(); //DriverManager.println("ReceiveChar() = "+in+" '"+((char)in)+"'"); - //if(in!='V') { - //if(in=='E') + //if (in!='V') { + //if (in=='E') //throw new SQLException(stream.ReceiveString(conn.getEncoding())); //throw new SQLException("Fastpath: expected 'V' from backend, got "+((char)in)); //} @@ -156,7 +156,7 @@ public class Fastpath } } - /** + /* * Send a function call to the PostgreSQL backend by name. * * Note: the mapping for the procedure name to function id needs to exist, @@ -182,7 +182,7 @@ public class Fastpath return fastpath(getID(name), resulttype, args); } - /** + /* * This convenience method assumes that the return value is an Integer * @param name Function name * @param args Function arguments @@ -197,7 +197,7 @@ public class Fastpath return i.intValue(); } - /** + /* * This convenience method assumes that the return value is an Integer * @param name Function name * @param args Function arguments @@ -209,7 +209,7 @@ public class Fastpath return (byte[])fastpath(name, false, args); } - /** + /* * This adds a function to our lookup table. * *

User code should use the addFunctions method, which is based upon a @@ -225,7 +225,7 @@ public class Fastpath func.put(name, new Integer(fnid)); } - /** + /* * This takes a ResultSet containing two columns. Column 1 contains the * function name, Column 2 the oid. * @@ -265,7 +265,7 @@ public class Fastpath } } - /** + /* * This returns the function id associated by its name * *

If addFunction() or addFunctions() have not been called for this name, diff --git a/src/interfaces/jdbc/org/postgresql/fastpath/FastpathArg.java b/src/interfaces/jdbc/org/postgresql/fastpath/FastpathArg.java index 7234df10d8..1539ee8a14 100644 --- a/src/interfaces/jdbc/org/postgresql/fastpath/FastpathArg.java +++ b/src/interfaces/jdbc/org/postgresql/fastpath/FastpathArg.java @@ -7,7 +7,7 @@ import java.util.*; import java.sql.*; import org.postgresql.util.*; -/** +/* * Each fastpath call requires an array of arguments, the number and type * dependent on the function being called. * @@ -22,22 +22,22 @@ import org.postgresql.util.*; */ public class FastpathArg { - /** + /* * Type of argument, true=integer, false=byte[] */ public boolean type; - /** + /* * Integer value if type=true */ public int value; - /** + /* * Byte value if type=false; */ public byte[] bytes; - /** + /* * Constructs an argument that consists of an integer value * @param value int value to set */ @@ -47,7 +47,7 @@ public class FastpathArg this.value = value; } - /** + /* * Constructs an argument that consists of an array of bytes * @param bytes array to store */ @@ -57,7 +57,7 @@ public class FastpathArg this.bytes = bytes; } - /** + /* * Constructs an argument that consists of part of a byte array * @param buf source array * @param off offset within array @@ -70,7 +70,7 @@ public class FastpathArg System.arraycopy(buf, off, bytes, 0, len); } - /** + /* * Constructs an argument that consists of a String. * @param s String to store */ @@ -79,7 +79,7 @@ public class FastpathArg this(s.getBytes()); } - /** + /* * This sends this argument down the network stream. * *

The stream sent consists of the length.int4 then the contents. diff --git a/src/interfaces/jdbc/org/postgresql/geometric/PGbox.java b/src/interfaces/jdbc/org/postgresql/geometric/PGbox.java index baefd2ff10..e57297c7dd 100644 --- a/src/interfaces/jdbc/org/postgresql/geometric/PGbox.java +++ b/src/interfaces/jdbc/org/postgresql/geometric/PGbox.java @@ -4,17 +4,17 @@ import java.io.*; import java.sql.*; import org.postgresql.util.*; -/** +/* * This represents the box datatype within org.postgresql. */ public class PGbox extends PGobject implements Serializable, Cloneable { - /** + /* * These are the two points. */ public PGpoint point[] = new PGpoint[2]; - /** + /* * @param x1 first x coordinate * @param y1 first y coordinate * @param x2 second x coordinate @@ -27,7 +27,7 @@ public class PGbox extends PGobject implements Serializable, Cloneable this.point[1] = new PGpoint(x2, y2); } - /** + /* * @param p1 first point * @param p2 second point */ @@ -38,7 +38,7 @@ public class PGbox extends PGobject implements Serializable, Cloneable this.point[1] = p2; } - /** + /* * @param s Box definition in PostgreSQL syntax * @exception SQLException if definition is invalid */ @@ -48,7 +48,7 @@ public class PGbox extends PGobject implements Serializable, Cloneable setValue(s); } - /** + /* * Required constructor */ public PGbox() @@ -56,7 +56,7 @@ public class PGbox extends PGobject implements Serializable, Cloneable setType("box"); } - /** + /* * This method sets the value of this object. It should be overidden, * but still called by subclasses. * @@ -73,7 +73,7 @@ public class PGbox extends PGobject implements Serializable, Cloneable point[1] = new PGpoint(t.getToken(1)); } - /** + /* * @param obj Object to compare with * @return true if the two boxes are identical */ @@ -88,7 +88,7 @@ public class PGbox extends PGobject implements Serializable, Cloneable return false; } - /** + /* * This must be overidden to allow the object to be cloned */ public Object clone() @@ -96,7 +96,7 @@ public class PGbox extends PGobject implements Serializable, Cloneable return new PGbox((PGpoint)point[0].clone(), (PGpoint)point[1].clone()); } - /** + /* * @return the PGbox in the syntax expected by org.postgresql */ public String getValue() diff --git a/src/interfaces/jdbc/org/postgresql/geometric/PGcircle.java b/src/interfaces/jdbc/org/postgresql/geometric/PGcircle.java index b716fa75a8..05e60c5526 100644 --- a/src/interfaces/jdbc/org/postgresql/geometric/PGcircle.java +++ b/src/interfaces/jdbc/org/postgresql/geometric/PGcircle.java @@ -4,23 +4,23 @@ import java.io.*; import java.sql.*; import org.postgresql.util.*; -/** +/* * This represents org.postgresql's circle datatype, consisting of a point and * a radius */ public class PGcircle extends PGobject implements Serializable, Cloneable { - /** + /* * This is the centre point */ public PGpoint center; - /** + /* * This is the radius */ double radius; - /** + /* * @param x coordinate of centre * @param y coordinate of centre * @param r radius of circle @@ -30,7 +30,7 @@ public class PGcircle extends PGobject implements Serializable, Cloneable this(new PGpoint(x, y), r); } - /** + /* * @param c PGpoint describing the circle's centre * @param r radius of circle */ @@ -41,7 +41,7 @@ public class PGcircle extends PGobject implements Serializable, Cloneable this.radius = r; } - /** + /* * @param s definition of the circle in PostgreSQL's syntax. * @exception SQLException on conversion failure */ @@ -51,7 +51,7 @@ public class PGcircle extends PGobject implements Serializable, Cloneable setValue(s); } - /** + /* * This constructor is used by the driver. */ public PGcircle() @@ -59,7 +59,7 @@ public class PGcircle extends PGobject implements Serializable, Cloneable setType("circle"); } - /** + /* * @param s definition of the circle in PostgreSQL's syntax. * @exception SQLException on conversion failure */ @@ -80,7 +80,7 @@ public class PGcircle extends PGobject implements Serializable, Cloneable } } - /** + /* * @param obj Object to compare with * @return true if the two boxes are identical */ @@ -94,7 +94,7 @@ public class PGcircle extends PGobject implements Serializable, Cloneable return false; } - /** + /* * This must be overidden to allow the object to be cloned */ public Object clone() @@ -102,7 +102,7 @@ public class PGcircle extends PGobject implements Serializable, Cloneable return new PGcircle((PGpoint)center.clone(), radius); } - /** + /* * @return the PGcircle in the syntax expected by org.postgresql */ public String getValue() diff --git a/src/interfaces/jdbc/org/postgresql/geometric/PGline.java b/src/interfaces/jdbc/org/postgresql/geometric/PGline.java index cc2b05ecb1..e91f416be2 100644 --- a/src/interfaces/jdbc/org/postgresql/geometric/PGline.java +++ b/src/interfaces/jdbc/org/postgresql/geometric/PGline.java @@ -4,7 +4,7 @@ import java.io.*; import java.sql.*; import org.postgresql.util.*; -/** +/* * This implements a line consisting of two points. * * Currently line is not yet implemented in the backend, but this class @@ -12,12 +12,12 @@ import org.postgresql.util.*; */ public class PGline extends PGobject implements Serializable, Cloneable { - /** + /* * These are the two points. */ public PGpoint point[] = new PGpoint[2]; - /** + /* * @param x1 coordinate for first point * @param y1 coordinate for first point * @param x2 coordinate for second point @@ -28,7 +28,7 @@ public class PGline extends PGobject implements Serializable, Cloneable this(new PGpoint(x1, y1), new PGpoint(x2, y2)); } - /** + /* * @param p1 first point * @param p2 second point */ @@ -39,7 +39,7 @@ public class PGline extends PGobject implements Serializable, Cloneable this.point[1] = p2; } - /** + /* * @param s definition of the circle in PostgreSQL's syntax. * @exception SQLException on conversion failure */ @@ -49,7 +49,7 @@ public class PGline extends PGobject implements Serializable, Cloneable setValue(s); } - /** + /* * reuired by the driver */ public PGline() @@ -57,7 +57,7 @@ public class PGline extends PGobject implements Serializable, Cloneable setType("line"); } - /** + /* * @param s Definition of the line segment in PostgreSQL's syntax * @exception SQLException on conversion failure */ @@ -71,7 +71,7 @@ public class PGline extends PGobject implements Serializable, Cloneable point[1] = new PGpoint(t.getToken(1)); } - /** + /* * @param obj Object to compare with * @return true if the two boxes are identical */ @@ -86,7 +86,7 @@ public class PGline extends PGobject implements Serializable, Cloneable return false; } - /** + /* * This must be overidden to allow the object to be cloned */ public Object clone() @@ -94,7 +94,7 @@ public class PGline extends PGobject implements Serializable, Cloneable return new PGline((PGpoint)point[0].clone(), (PGpoint)point[1].clone()); } - /** + /* * @return the PGline in the syntax expected by org.postgresql */ public String getValue() diff --git a/src/interfaces/jdbc/org/postgresql/geometric/PGlseg.java b/src/interfaces/jdbc/org/postgresql/geometric/PGlseg.java index c63d980ffa..6d5af7e7d7 100644 --- a/src/interfaces/jdbc/org/postgresql/geometric/PGlseg.java +++ b/src/interfaces/jdbc/org/postgresql/geometric/PGlseg.java @@ -4,17 +4,17 @@ import java.io.*; import java.sql.*; import org.postgresql.util.*; -/** +/* * This implements a lseg (line segment) consisting of two points */ public class PGlseg extends PGobject implements Serializable, Cloneable { - /** + /* * These are the two points. */ public PGpoint point[] = new PGpoint[2]; - /** + /* * @param x1 coordinate for first point * @param y1 coordinate for first point * @param x2 coordinate for second point @@ -25,7 +25,7 @@ public class PGlseg extends PGobject implements Serializable, Cloneable this(new PGpoint(x1, y1), new PGpoint(x2, y2)); } - /** + /* * @param p1 first point * @param p2 second point */ @@ -36,7 +36,7 @@ public class PGlseg extends PGobject implements Serializable, Cloneable this.point[1] = p2; } - /** + /* * @param s definition of the circle in PostgreSQL's syntax. * @exception SQLException on conversion failure */ @@ -46,7 +46,7 @@ public class PGlseg extends PGobject implements Serializable, Cloneable setValue(s); } - /** + /* * reuired by the driver */ public PGlseg() @@ -54,7 +54,7 @@ public class PGlseg extends PGobject implements Serializable, Cloneable setType("lseg"); } - /** + /* * @param s Definition of the line segment in PostgreSQL's syntax * @exception SQLException on conversion failure */ @@ -68,7 +68,7 @@ public class PGlseg extends PGobject implements Serializable, Cloneable point[1] = new PGpoint(t.getToken(1)); } - /** + /* * @param obj Object to compare with * @return true if the two boxes are identical */ @@ -83,7 +83,7 @@ public class PGlseg extends PGobject implements Serializable, Cloneable return false; } - /** + /* * This must be overidden to allow the object to be cloned */ public Object clone() @@ -91,7 +91,7 @@ public class PGlseg extends PGobject implements Serializable, Cloneable return new PGlseg((PGpoint)point[0].clone(), (PGpoint)point[1].clone()); } - /** + /* * @return the PGlseg in the syntax expected by org.postgresql */ public String getValue() diff --git a/src/interfaces/jdbc/org/postgresql/geometric/PGpath.java b/src/interfaces/jdbc/org/postgresql/geometric/PGpath.java index 47ebfd82e3..a260ab928f 100644 --- a/src/interfaces/jdbc/org/postgresql/geometric/PGpath.java +++ b/src/interfaces/jdbc/org/postgresql/geometric/PGpath.java @@ -4,22 +4,22 @@ import java.io.*; import java.sql.*; import org.postgresql.util.*; -/** +/* * This implements a path (a multiple segmented line, which may be closed) */ public class PGpath extends PGobject implements Serializable, Cloneable { - /** + /* * True if the path is open, false if closed */ public boolean open; - /** + /* * The points defining this path */ public PGpoint points[]; - /** + /* * @param points the PGpoints that define the path * @param open True if the path is open, false if closed */ @@ -30,7 +30,7 @@ public class PGpath extends PGobject implements Serializable, Cloneable this.open = open; } - /** + /* * Required by the driver */ public PGpath() @@ -38,7 +38,7 @@ public class PGpath extends PGobject implements Serializable, Cloneable setType("path"); } - /** + /* * @param s definition of the circle in PostgreSQL's syntax. * @exception SQLException on conversion failure */ @@ -48,7 +48,7 @@ public class PGpath extends PGobject implements Serializable, Cloneable setValue(s); } - /** + /* * @param s Definition of the path in PostgreSQL's syntax * @exception SQLException on conversion failure */ @@ -75,7 +75,7 @@ public class PGpath extends PGobject implements Serializable, Cloneable points[p] = new PGpoint(t.getToken(p)); } - /** + /* * @param obj Object to compare with * @return true if the two boxes are identical */ @@ -100,7 +100,7 @@ public class PGpath extends PGobject implements Serializable, Cloneable return false; } - /** + /* * This must be overidden to allow the object to be cloned */ public Object clone() @@ -111,7 +111,7 @@ public class PGpath extends PGobject implements Serializable, Cloneable return new PGpath(ary, open); } - /** + /* * This returns the polygon in the syntax expected by org.postgresql */ public String getValue() diff --git a/src/interfaces/jdbc/org/postgresql/geometric/PGpoint.java b/src/interfaces/jdbc/org/postgresql/geometric/PGpoint.java index 455e42aff4..c7df1362be 100644 --- a/src/interfaces/jdbc/org/postgresql/geometric/PGpoint.java +++ b/src/interfaces/jdbc/org/postgresql/geometric/PGpoint.java @@ -6,7 +6,7 @@ import java.sql.*; import org.postgresql.util.*; -/** +/* * This implements a version of java.awt.Point, except it uses double * to represent the coordinates. * @@ -14,17 +14,17 @@ import org.postgresql.util.*; */ public class PGpoint extends PGobject implements Serializable, Cloneable { - /** + /* * The X coordinate of the point */ public double x; - /** + /* * The Y coordinate of the point */ public double y; - /** + /* * @param x coordinate * @param y coordinate */ @@ -35,7 +35,7 @@ public class PGpoint extends PGobject implements Serializable, Cloneable this.y = y; } - /** + /* * This is called mainly from the other geometric types, when a * point is imbeded within their definition. * @@ -47,7 +47,7 @@ public class PGpoint extends PGobject implements Serializable, Cloneable setValue(value); } - /** + /* * Required by the driver */ public PGpoint() @@ -55,7 +55,7 @@ public class PGpoint extends PGobject implements Serializable, Cloneable setType("point"); } - /** + /* * @param s Definition of this point in PostgreSQL's syntax * @exception SQLException on conversion failure */ @@ -73,7 +73,7 @@ public class PGpoint extends PGobject implements Serializable, Cloneable } } - /** + /* * @param obj Object to compare with * @return true if the two boxes are identical */ @@ -87,7 +87,7 @@ public class PGpoint extends PGobject implements Serializable, Cloneable return false; } - /** + /* * This must be overidden to allow the object to be cloned */ public Object clone() @@ -95,7 +95,7 @@ public class PGpoint extends PGobject implements Serializable, Cloneable return new PGpoint(x, y); } - /** + /* * @return the PGpoint in the syntax expected by org.postgresql */ public String getValue() @@ -103,7 +103,7 @@ public class PGpoint extends PGobject implements Serializable, Cloneable return "(" + x + "," + y + ")"; } - /** + /* * Translate the point with the supplied amount. * @param x integer amount to add on the x axis * @param y integer amount to add on the y axis @@ -113,7 +113,7 @@ public class PGpoint extends PGobject implements Serializable, Cloneable translate((double)x, (double)y); } - /** + /* * Translate the point with the supplied amount. * @param x double amount to add on the x axis * @param y double amount to add on the y axis @@ -124,7 +124,7 @@ public class PGpoint extends PGobject implements Serializable, Cloneable this.y += y; } - /** + /* * Moves the point to the supplied coordinates. * @param x integer coordinate * @param y integer coordinate @@ -134,7 +134,7 @@ public class PGpoint extends PGobject implements Serializable, Cloneable setLocation(x, y); } - /** + /* * Moves the point to the supplied coordinates. * @param x double coordinate * @param y double coordinate @@ -145,7 +145,7 @@ public class PGpoint extends PGobject implements Serializable, Cloneable this.y = y; } - /** + /* * Moves the point to the supplied coordinates. * refer to java.awt.Point for description of this * @param x integer coordinate @@ -157,7 +157,7 @@ public class PGpoint extends PGobject implements Serializable, Cloneable move((double)x, (double)y); } - /** + /* * Moves the point to the supplied java.awt.Point * refer to java.awt.Point for description of this * @param p Point to move to diff --git a/src/interfaces/jdbc/org/postgresql/geometric/PGpolygon.java b/src/interfaces/jdbc/org/postgresql/geometric/PGpolygon.java index 12c45fd709..5ae18ed3f4 100644 --- a/src/interfaces/jdbc/org/postgresql/geometric/PGpolygon.java +++ b/src/interfaces/jdbc/org/postgresql/geometric/PGpolygon.java @@ -4,17 +4,17 @@ import java.io.*; import java.sql.*; import org.postgresql.util.*; -/** +/* * This implements the polygon datatype within PostgreSQL. */ public class PGpolygon extends PGobject implements Serializable, Cloneable { - /** + /* * The points defining the polygon */ public PGpoint points[]; - /** + /* * Creates a polygon using an array of PGpoints * * @param points the points defining the polygon @@ -25,7 +25,7 @@ public class PGpolygon extends PGobject implements Serializable, Cloneable this.points = points; } - /** + /* * @param s definition of the circle in PostgreSQL's syntax. * @exception SQLException on conversion failure */ @@ -35,7 +35,7 @@ public class PGpolygon extends PGobject implements Serializable, Cloneable setValue(s); } - /** + /* * Required by the driver */ public PGpolygon() @@ -43,7 +43,7 @@ public class PGpolygon extends PGobject implements Serializable, Cloneable setType("polygon"); } - /** + /* * @param s Definition of the polygon in PostgreSQL's syntax * @exception SQLException on conversion failure */ @@ -56,7 +56,7 @@ public class PGpolygon extends PGobject implements Serializable, Cloneable points[p] = new PGpoint(t.getToken(p)); } - /** + /* * @param obj Object to compare with * @return true if the two boxes are identical */ @@ -78,7 +78,7 @@ public class PGpolygon extends PGobject implements Serializable, Cloneable return false; } - /** + /* * This must be overidden to allow the object to be cloned */ public Object clone() @@ -89,7 +89,7 @@ public class PGpolygon extends PGobject implements Serializable, Cloneable return new PGpolygon(ary); } - /** + /* * @return the PGpolygon in the syntax expected by org.postgresql */ public String getValue() diff --git a/src/interfaces/jdbc/org/postgresql/jdbc1/CallableStatement.java b/src/interfaces/jdbc/org/postgresql/jdbc1/CallableStatement.java index 2947dfe82d..4a006cd220 100644 --- a/src/interfaces/jdbc/org/postgresql/jdbc1/CallableStatement.java +++ b/src/interfaces/jdbc/org/postgresql/jdbc1/CallableStatement.java @@ -8,7 +8,7 @@ package org.postgresql.jdbc1; import java.sql.*; import java.math.*; -/** +/* * CallableStatement is used to execute SQL stored procedures. * *

JDBC provides a stored procedure SQL escape that allows stored @@ -41,7 +41,7 @@ import java.math.*; public class CallableStatement extends PreparedStatement implements java.sql.CallableStatement { - /** + /* * @exception SQLException on failure */ CallableStatement(Connection c, String q) throws SQLException @@ -49,7 +49,7 @@ public class CallableStatement extends PreparedStatement implements java.sql.Cal super(c, q); } - /** + /* * Before executing a stored procedure call you must explicitly * call registerOutParameter to register the java.sql.Type of each * out parameter. @@ -67,7 +67,7 @@ public class CallableStatement extends PreparedStatement implements java.sql.Cal public void registerOutParameter(int parameterIndex, int sqlType) throws SQLException {} - /** + /* * You must also specify the scale for numeric/decimal types: * *

Note: When reading the value of an out parameter, you must use @@ -89,7 +89,7 @@ public class CallableStatement extends PreparedStatement implements java.sql.Cal //return true; //} - /** + /* * An OUT parameter may have the value of SQL NULL; wasNull * reports whether the last value read has this special value. * @@ -109,7 +109,7 @@ public class CallableStatement extends PreparedStatement implements java.sql.Cal //return null; //} - /** + /* * Get the value of a CHAR, VARCHAR, or LONGVARCHAR parameter as a * Java String. * @@ -129,7 +129,7 @@ public class CallableStatement extends PreparedStatement implements java.sql.Cal //return null; //} - /** + /* * Get the value of a BIT parameter as a Java boolean. * * @param parameterIndex the first parameter is 1, the second is 2,... @@ -141,7 +141,7 @@ public class CallableStatement extends PreparedStatement implements java.sql.Cal return false; } - /** + /* * Get the value of a TINYINT parameter as a Java byte. * * @param parameterIndex the first parameter is 1, the second is 2,... @@ -153,7 +153,7 @@ public class CallableStatement extends PreparedStatement implements java.sql.Cal return 0; } - /** + /* * Get the value of a SMALLINT parameter as a Java short. * * @param parameterIndex the first parameter is 1, the second is 2,... @@ -165,7 +165,7 @@ public class CallableStatement extends PreparedStatement implements java.sql.Cal return 0; } - /** + /* * Get the value of an INTEGER parameter as a Java int. * * @param parameterIndex the first parameter is 1, the second is 2,... @@ -177,7 +177,7 @@ public class CallableStatement extends PreparedStatement implements java.sql.Cal return 0; } - /** + /* * Get the value of a BIGINT parameter as a Java long. * * @param parameterIndex the first parameter is 1, the second is 2,... @@ -189,7 +189,7 @@ public class CallableStatement extends PreparedStatement implements java.sql.Cal return 0; } - /** + /* * Get the value of a FLOAT parameter as a Java float. * * @param parameterIndex the first parameter is 1, the second is 2,... @@ -201,7 +201,7 @@ public class CallableStatement extends PreparedStatement implements java.sql.Cal return (float) 0.0; } - /** + /* * Get the value of a DOUBLE parameter as a Java double. * * @param parameterIndex the first parameter is 1, the second is 2,... @@ -213,7 +213,7 @@ public class CallableStatement extends PreparedStatement implements java.sql.Cal return 0.0; } - /** + /* * Get the value of a NUMERIC parameter as a java.math.BigDecimal * object. * @@ -229,7 +229,7 @@ public class CallableStatement extends PreparedStatement implements java.sql.Cal return null; } - /** + /* * Get the value of a SQL BINARY or VARBINARY parameter as a Java * byte[] * @@ -247,7 +247,7 @@ public class CallableStatement extends PreparedStatement implements java.sql.Cal //return null; //} - /** + /* * Get the value of a SQL DATE parameter as a java.sql.Date object * * @param parameterIndex the first parameter is 1, the second is 2,... @@ -259,7 +259,7 @@ public class CallableStatement extends PreparedStatement implements java.sql.Cal return null; } - /** + /* * Get the value of a SQL TIME parameter as a java.sql.Time object. * * @param parameterIndex the first parameter is 1, the second is 2,... @@ -271,7 +271,7 @@ public class CallableStatement extends PreparedStatement implements java.sql.Cal return null; } - /** + /* * Get the value of a SQL TIMESTAMP parameter as a java.sql.Timestamp object. * * @param parameterIndex the first parameter is 1, the second is 2,... @@ -295,7 +295,7 @@ public class CallableStatement extends PreparedStatement implements java.sql.Cal // getObject returns a Java object for the parameter. // See the JDBC spec's "Dynamic Programming" chapter for details. - /** + /* * Get the value of a parameter as a Java object. * *

This method returns a Java object whose type coresponds to the diff --git a/src/interfaces/jdbc/org/postgresql/jdbc1/Connection.java b/src/interfaces/jdbc/org/postgresql/jdbc1/Connection.java index e05bc5b625..71a8fb4462 100644 --- a/src/interfaces/jdbc/org/postgresql/jdbc1/Connection.java +++ b/src/interfaces/jdbc/org/postgresql/jdbc1/Connection.java @@ -16,8 +16,8 @@ import org.postgresql.fastpath.*; import org.postgresql.largeobject.*; import org.postgresql.util.*; -/** - * $Id: Connection.java,v 1.12 2001/10/25 05:59:59 momjian Exp $ +/* + * $Id: Connection.java,v 1.13 2001/11/19 22:33:38 momjian Exp $ * * A Connection represents a session with a specific database. Within the * context of a Connection, SQL statements are executed and results are @@ -39,7 +39,7 @@ public class Connection extends org.postgresql.Connection implements java.sql.Co // This is a cache of the DatabaseMetaData instance for this connection protected DatabaseMetaData metadata; - /** + /* * SQL statements without parameters are normally executed using * Statement objects. If the same SQL statement is executed many * times, it is more efficient to use a PreparedStatement @@ -52,7 +52,7 @@ public class Connection extends org.postgresql.Connection implements java.sql.Co return new Statement(this); } - /** + /* * A SQL statement with or without IN parameters can be pre-compiled * and stored in a PreparedStatement object. This object can then * be used to efficiently execute this statement multiple times. @@ -75,7 +75,7 @@ public class Connection extends org.postgresql.Connection implements java.sql.Co return new PreparedStatement(this, sql); } - /** + /* * A SQL stored procedure call statement is handled by creating a * CallableStatement for it. The CallableStatement provides methods * for setting up its IN and OUT parameters and methods for executing @@ -100,7 +100,7 @@ public class Connection extends org.postgresql.Connection implements java.sql.Co // return new CallableStatement(this, sql); } - /** + /* * Tests to see if a Connection is closed * * @return the status of the connection @@ -111,7 +111,7 @@ public class Connection extends org.postgresql.Connection implements java.sql.Co return (pg_stream == null); } - /** + /* * A connection's database is able to provide information describing * its tables, its supported SQL grammar, its stored procedures, the * capabilities of this connection, etc. This information is made @@ -127,7 +127,7 @@ public class Connection extends org.postgresql.Connection implements java.sql.Co return metadata; } - /** + /* * This overides the method in org.postgresql.Connection and returns a * ResultSet. */ @@ -157,7 +157,7 @@ public class Connection extends org.postgresql.Connection implements java.sql.Co return sqlType; } - /** + /* * This table holds the org.postgresql names for the types supported. * Any types that map to Types.OTHER (eg POINT) don't go into this table. * They default automatically to Types.OTHER @@ -183,7 +183,7 @@ public class Connection extends org.postgresql.Connection implements java.sql.Co "abstime", "timestamp" }; - /** + /* * This table holds the JDBC type for each entry above. * * Note: This must be in the same order as above diff --git a/src/interfaces/jdbc/org/postgresql/jdbc1/DatabaseMetaData.java b/src/interfaces/jdbc/org/postgresql/jdbc1/DatabaseMetaData.java index d4eceb3dbc..0bcb39ca65 100644 --- a/src/interfaces/jdbc/org/postgresql/jdbc1/DatabaseMetaData.java +++ b/src/interfaces/jdbc/org/postgresql/jdbc1/DatabaseMetaData.java @@ -10,10 +10,10 @@ import java.util.*; import org.postgresql.Field; import org.postgresql.util.PSQLException; -/** +/* * This class provides information about the database as a whole. * - * $Id: DatabaseMetaData.java,v 1.38 2001/11/09 02:57:25 davec Exp $ + * $Id: DatabaseMetaData.java,v 1.39 2001/11/19 22:33:38 momjian Exp $ * *

Many of the methods here return lists of information in ResultSets. You * can use the normal ResultSet methods such as getString and getInt to @@ -51,7 +51,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData this.connection = conn; } - /** + /* * Can all the procedures returned by getProcedures be called * by the current user? * @@ -63,7 +63,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData return true; // For now... } - /** + /* * Can all the tables returned by getTable be SELECTed by * the current user? * @@ -75,7 +75,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData return true; // For now... } - /** + /* * What is the URL for this database? * * @return the url or null if it cannott be generated @@ -86,7 +86,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData return connection.getURL(); } - /** + /* * What is our user name as known to the database? * * @return our database user name @@ -97,7 +97,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData return connection.getUserName(); } - /** + /* * Is the database in read-only mode? * * @return true if so @@ -108,7 +108,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData return connection.isReadOnly(); } - /** + /* * Are NULL values sorted high? * * @return true if so @@ -119,7 +119,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData return connection.haveMinimumServerVersion("7.2"); } - /** + /* * Are NULL values sorted low? * * @return true if so @@ -130,7 +130,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData return false; } - /** + /* * Are NULL values sorted at the start regardless of sort order? * * @return true if so @@ -141,7 +141,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData return false; } - /** + /* * Are NULL values sorted at the end regardless of sort order? * * @return true if so @@ -152,7 +152,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData return ! connection.haveMinimumServerVersion("7.2"); } - /** + /* * What is the name of this database product - we hope that it is * PostgreSQL, so we return that explicitly. * @@ -164,7 +164,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData return "PostgreSQL"; } - /** + /* * What is the version of this database product. * * @return the database version @@ -175,7 +175,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData return connection.getDBVersionNumber(); } - /** + /* * What is the name of this JDBC driver? If we don't know this * we are doing something wrong! * @@ -187,7 +187,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData return "PostgreSQL Native Driver"; } - /** + /* * What is the version string of this JDBC driver? Again, this is * static. * @@ -199,7 +199,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData return connection.this_driver.getVersion(); } - /** + /* * What is this JDBC driver's major version number? * * @return the JDBC driver major version @@ -209,7 +209,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData return connection.this_driver.getMajorVersion(); } - /** + /* * What is this JDBC driver's minor version number? * * @return the JDBC driver minor version @@ -219,7 +219,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData return connection.this_driver.getMinorVersion(); } - /** + /* * Does the database store tables in a local file? No - it * stores them in a file on the server. * @@ -231,7 +231,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData return false; } - /** + /* * Does the database use a file for each table? Well, not really, * since it doesnt use local files. * @@ -243,7 +243,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData return false; } - /** + /* * Does the database treat mixed case unquoted SQL identifiers * as case sensitive and as a result store them in mixed case? * A JDBC-Compliant driver will always return false. @@ -260,7 +260,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData return false; } - /** + /* * Does the database treat mixed case unquoted SQL identifiers as * case insensitive and store them in upper case? * @@ -271,7 +271,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData return false; } - /** + /* * Does the database treat mixed case unquoted SQL identifiers as * case insensitive and store them in lower case? * @@ -282,7 +282,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData return true; } - /** + /* * Does the database treat mixed case unquoted SQL identifiers as * case insensitive and store them in mixed case? * @@ -293,7 +293,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData return false; } - /** + /* * Does the database treat mixed case quoted SQL identifiers as * case sensitive and as a result store them in mixed case? A * JDBC compliant driver will always return true. @@ -306,7 +306,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData return true; } - /** + /* * Does the database treat mixed case quoted SQL identifiers as * case insensitive and store them in upper case? * @@ -317,7 +317,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData return false; } - /** + /* * Does the database treat mixed case quoted SQL identifiers as case * insensitive and store them in lower case? * @@ -328,7 +328,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData return false; } - /** + /* * Does the database treat mixed case quoted SQL identifiers as case * insensitive and store them in mixed case? * @@ -339,7 +339,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData return false; } - /** + /* * What is the string used to quote SQL identifiers? This returns * a space if identifier quoting isn't supported. A JDBC Compliant * driver will always use a double quote character. @@ -352,7 +352,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData return "\""; } - /** + /* * Get a comma separated list of all a database's SQL keywords that * are NOT also SQL92 keywords. * @@ -397,7 +397,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData return ""; } - /** + /* * This is the string that can be used to escape '_' and '%' in * a search string pattern style catalog search parameters * @@ -409,7 +409,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData return "\\"; } - /** + /* * Get all the "extra" characters that can be used in unquoted * identifier names (those beyond a-zA-Z0-9 and _) * @@ -425,7 +425,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData return ""; } - /** + /* * Is "ALTER TABLE" with an add column supported? * Yes for PostgreSQL 6.1 * @@ -437,7 +437,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData return true; } - /** + /* * Is "ALTER TABLE" with a drop column supported? * Peter 10/10/2000 This was set to true, but 7.1devel doesn't support it! * @@ -449,7 +449,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData return false; } - /** + /* * Is column aliasing supported? * *

If so, the SQL AS clause can be used to provide names for @@ -472,7 +472,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData return true; } - /** + /* * Are concatenations between NULL and non-NULL values NULL? A * JDBC Compliant driver always returns true * @@ -496,7 +496,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData return false; } - /** + /* * Are table correlation names supported? A JDBC Compliant * driver always returns true. * @@ -508,7 +508,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData return true; } - /** + /* * If table correlation names are supported, are they restricted to * be different from the names of the tables? * @@ -520,7 +520,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData return false; } - /** + /* * Are expressions in "ORDER BY" lists supported? * *
e.g. select * from t order by a + b; @@ -533,7 +533,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData return true; } - /** + /* * Can an "ORDER BY" clause use columns not in the SELECT? * * @return true if so @@ -544,7 +544,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData return connection.haveMinimumServerVersion("6.4"); } - /** + /* * Is some form of "GROUP BY" clause supported? * I checked it, and yes it is. * @@ -556,7 +556,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData return true; } - /** + /* * Can a "GROUP BY" clause use columns not in the SELECT? * * @return true if so @@ -567,7 +567,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData return connection.haveMinimumServerVersion("6.4"); } - /** + /* * Can a "GROUP BY" clause add columns not in the SELECT provided * it specifies all the columns in the SELECT? Does anyone actually * understand what they mean here? @@ -582,7 +582,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData return supportsGroupByUnrelated(); } - /** + /* * Is the escape character in "LIKE" clauses supported? A * JDBC compliant driver always returns true. * @@ -594,7 +594,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData return connection.haveMinimumServerVersion("7.1"); } - /** + /* * Are multiple ResultSets from a single execute supported? * Well, I implemented it, but I dont think this is possible from * the back ends point of view. @@ -607,7 +607,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData return false; } - /** + /* * Can we have multiple transactions open at once (on different * connections?) * I guess we can have, since Im relying on it. @@ -620,7 +620,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData return true; } - /** + /* * Can columns be defined as non-nullable. A JDBC Compliant driver * always returns true. * @@ -635,7 +635,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData return true; } - /** + /* * Does this driver support the minimum ODBC SQL grammar. This * grammar is defined at: * @@ -652,7 +652,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData return true; } - /** + /* * Does this driver support the Core ODBC SQL grammar. We need * SQL-92 conformance for this. * @@ -664,7 +664,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData return false; } - /** + /* * Does this driver support the Extended (Level 2) ODBC SQL * grammar. We don't conform to the Core (Level 1), so we can't * conform to the Extended SQL Grammar. @@ -677,7 +677,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData return false; } - /** + /* * Does this driver support the ANSI-92 entry level SQL grammar? * All JDBC Compliant drivers must return true. We currently * report false until 'schema' support is added. Then this @@ -694,7 +694,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData return false; } - /** + /* * Does this driver support the ANSI-92 intermediate level SQL * grammar? * @@ -706,7 +706,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData return false; } - /** + /* * Does this driver support the ANSI-92 full SQL grammar? * * @return true if so @@ -717,7 +717,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData return false; } - /** + /* * Is the SQL Integrity Enhancement Facility supported? * I haven't seen this mentioned anywhere, so I guess not * @@ -729,7 +729,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData return false; } - /** + /* * Is some form of outer join supported? * * @return true if so @@ -740,7 +740,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData return connection.haveMinimumServerVersion("7.1"); } - /** + /* * Are full nexted outer joins supported? * * @return true if so @@ -751,7 +751,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData return connection.haveMinimumServerVersion("7.1"); } - /** + /* * Is there limited support for outer joins? * * @return true if so @@ -762,7 +762,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData return supportsFullOuterJoins(); } - /** + /* * What is the database vendor's preferred term for "schema"? * PostgreSQL doesn't have schemas, but when it does, we'll use the * term "schema". @@ -775,7 +775,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData return "schema"; } - /** + /* * What is the database vendor's preferred term for "procedure"? * Traditionally, "function" has been used. * @@ -787,7 +787,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData return "function"; } - /** + /* * What is the database vendor's preferred term for "catalog"? * * @return the vendor term @@ -798,7 +798,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData return "database"; } - /** + /* * Does a catalog appear at the start of a qualified table name? * (Otherwise it appears at the end). * @@ -810,7 +810,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData throw org.postgresql.Driver.notImplemented(); } - /** + /* * What is the Catalog separator. * * @return the catalog separator string @@ -821,7 +821,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData throw org.postgresql.Driver.notImplemented(); } - /** + /* * Can a schema name be used in a data manipulation statement? Nope. * * @return true if so @@ -832,7 +832,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData return false; } - /** + /* * Can a schema name be used in a procedure call statement? Nope. * * @return true if so @@ -843,7 +843,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData return false; } - /** + /* * Can a schema be used in a table definition statement? Nope. * * @return true if so @@ -854,7 +854,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData return false; } - /** + /* * Can a schema name be used in an index definition statement? * * @return true if so @@ -865,7 +865,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData return false; } - /** + /* * Can a schema name be used in a privilege definition statement? * * @return true if so @@ -876,7 +876,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData return false; } - /** + /* * Can a catalog name be used in a data manipulation statement? * * @return true if so @@ -887,7 +887,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData return false; } - /** + /* * Can a catalog name be used in a procedure call statement? * * @return true if so @@ -898,7 +898,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData return false; } - /** + /* * Can a catalog name be used in a table definition statement? * * @return true if so @@ -909,7 +909,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData return false; } - /** + /* * Can a catalog name be used in an index definition? * * @return true if so @@ -920,7 +920,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData return false; } - /** + /* * Can a catalog name be used in a privilege definition statement? * * @return true if so @@ -931,7 +931,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData return false; } - /** + /* * We support cursors for gets only it seems. I dont see a method * to get a positioned delete. * @@ -943,7 +943,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData return false; // For now... } - /** + /* * Is positioned UPDATE supported? * * @return true if so @@ -954,7 +954,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData return false; // For now... } - /** + /* * Is SELECT for UPDATE supported? * * @return true if so; false otherwise @@ -965,7 +965,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData return connection.haveMinimumServerVersion("6.5"); } - /** + /* * Are stored procedure calls using the stored procedure escape * syntax supported? * @@ -977,7 +977,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData return false; } - /** + /* * Are subqueries in comparison expressions supported? A JDBC * Compliant driver always returns true. * @@ -989,7 +989,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData return true; } - /** + /* * Are subqueries in 'exists' expressions supported? A JDBC * Compliant driver always returns true. * @@ -1001,7 +1001,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData return true; } - /** + /* * Are subqueries in 'in' statements supported? A JDBC * Compliant driver always returns true. * @@ -1013,7 +1013,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData return true; } - /** + /* * Are subqueries in quantified expressions supported? A JDBC * Compliant driver always returns true. * @@ -1028,7 +1028,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData return true; } - /** + /* * Are correlated subqueries supported? A JDBC Compliant driver * always returns true. * @@ -1042,7 +1042,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData return connection.haveMinimumServerVersion("7.1"); } - /** + /* * Is SQL UNION supported? * * @return true if so @@ -1053,7 +1053,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData return true; // since 6.3 } - /** + /* * Is SQL UNION ALL supported? * * @return true if so @@ -1064,7 +1064,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData return connection.haveMinimumServerVersion("7.1"); } - /** + /* * In PostgreSQL, Cursors are only open within transactions. * * @return true if so @@ -1075,7 +1075,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData return false; } - /** + /* * Do we support open cursors across multiple transactions? * * @return true if so @@ -1086,7 +1086,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData return false; } - /** + /* * Can statements remain open across commits? They may, but * this driver cannot guarentee that. In further reflection. * we are talking a Statement object here, so the answer is @@ -1100,7 +1100,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData return true; } - /** + /* * Can statements remain open across rollbacks? They may, but * this driver cannot guarentee that. In further contemplation, * we are talking a Statement object here, so the answer is yes, @@ -1114,7 +1114,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData return true; } - /** + /* * How many hex characters can you have in an inline binary literal * * @return the max literal length @@ -1125,7 +1125,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData return 0; // no limit } - /** + /* * What is the maximum length for a character literal * I suppose it is 8190 (8192 - 2 for the quotes) * @@ -1137,7 +1137,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData return 0; // no limit } - /** + /* * Whats the limit on column name length. The description of * pg_class would say '32' (length of pg_class.relname) - we * should probably do a query for this....but.... @@ -1150,7 +1150,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData return 32; } - /** + /* * What is the maximum number of columns in a "GROUP BY" clause? * * @return the max number of columns @@ -1161,7 +1161,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData return 0; // no limit } - /** + /* * What's the maximum number of columns allowed in an index? * 6.0 only allowed one column, but 6.1 introduced multi-column * indices, so, theoretically, its all of them. @@ -1174,7 +1174,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData return getMaxColumnsInTable(); } - /** + /* * What's the maximum number of columns in an "ORDER BY clause? * * @return the max columns @@ -1185,7 +1185,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData return 0; // no limit } - /** + /* * What is the maximum number of columns in a "SELECT" list? * * @return the max columns @@ -1196,7 +1196,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData return 0; // no limit } - /** + /* * What is the maximum number of columns in a table? From the * CREATE TABLE reference page... * @@ -1213,7 +1213,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData return 1600; } - /** + /* * How many active connection can we have at a time to this * database? Well, since it depends on postmaster, which just * does a listen() followed by an accept() and fork(), its @@ -1230,7 +1230,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData return 8192; } - /** + /* * What is the maximum cursor name length (the same as all * the other F***** identifiers!) * @@ -1242,7 +1242,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData return 32; } - /** + /* * Retrieves the maximum number of bytes for an index, including all * of the parts of the index. * @@ -1262,7 +1262,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData return 0; } - /** + /* * What is the maximum length of a procedure name? * (length of pg_proc.proname used) - again, I really * should do a query here to get it. @@ -1281,7 +1281,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData return 0; } - /** + /* * What is the maximum length of a single row? * * @return max row size in bytes @@ -1295,7 +1295,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData return 8192; // XXX could be altered } - /** + /* * Did getMaxRowSize() include LONGVARCHAR and LONGVARBINARY * blobs? We don't handle blobs yet * @@ -1307,7 +1307,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData return false; } - /** + /* * What is the maximum length of a SQL statement? * * @return max length in bytes @@ -1321,7 +1321,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData return 16384; } - /** + /* * How many active statements can we have open at one time to * this database? Basically, since each Statement downloads * the results as the query is executed, we can have many. However, @@ -1337,7 +1337,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData return 1; } - /** + /* * What is the maximum length of a table name? This was found * from pg_class.relname length * @@ -1349,7 +1349,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData return 32; } - /** + /* * What is the maximum number of tables that can be specified * in a SELECT? * @@ -1361,7 +1361,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData return 0; // no limit } - /** + /* * What is the maximum length of a user name? Well, we generally * use UNIX like user names in PostgreSQL, so I think this would * be 8. However, showing the schema for pg_user shows a length @@ -1376,7 +1376,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData } - /** + /* * What is the database's default transaction isolation level? We * do not support this, so all transactions are SERIALIZABLE. * @@ -1389,7 +1389,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData return Connection.TRANSACTION_READ_COMMITTED; } - /** + /* * Are transactions supported? If not, commit and rollback are noops * and the isolation level is TRANSACTION_NONE. We do support * transactions. @@ -1402,7 +1402,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData return true; } - /** + /* * Does the database support the given transaction isolation level? * We only support TRANSACTION_SERIALIZABLE and TRANSACTION_READ_COMMITTED * @@ -1420,7 +1420,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData return false; } - /** + /* * Are both data definition and data manipulation transactions * supported? * @@ -1432,7 +1432,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData return true; } - /** + /* * Are only data manipulation statements withing a transaction * supported? * @@ -1444,7 +1444,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData return false; } - /** + /* * Does a data definition statement within a transaction force * the transaction to commit? I think this means something like: * @@ -1468,7 +1468,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData return false; } - /** + /* * Is a data definition statement within a transaction ignored? * It seems to be (from experiment in previous method) * @@ -1480,7 +1480,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData return true; } - /** + /* * Get a description of stored procedures available in a catalog * *

Only procedure descriptions matching the schema and procedure @@ -1552,7 +1552,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData return new ResultSet(connection, f, v, "OK", 1); } - /** + /* * Get a description of a catalog's stored procedure parameters * and result columns. * @@ -1630,7 +1630,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData return new ResultSet(connection, f, v, "OK", 1); } - /** + /* * Get a description of tables available in a catalog. * *

Only table descriptions matching the catalog, schema, table @@ -1780,7 +1780,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData "TABLE", "VIEW", "INDEX", "SEQUENCE" }; - /** + /* * Get the schema names available in this database. The results * are ordered by schema name. * @@ -1805,7 +1805,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData return new ResultSet(connection, f, v, "OK", 1); } - /** + /* * Get the catalog names available in this database. The results * are ordered by catalog name. * @@ -1822,7 +1822,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData return connection.createStatement().executeQuery("select datname as TABLE_CAT from pg_database;"); } - /** + /* * Get the table types available in this database. The results * are ordered by table type. * @@ -1850,7 +1850,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData return new ResultSet(connection, f, v, "OK", 1); } - /** + /* * Get a description of table columns available in a catalog. * *

Only column descriptions matching the catalog, schema, table @@ -2043,7 +2043,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData return new ResultSet(connection, f, v, "OK", 1); } - /** + /* * Get a description of the access rights for a table's columns. * *

Only privileges matching the column name criteria are @@ -2107,7 +2107,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData return new ResultSet(connection, f, v, "OK", 1); } - /** + /* * Get a description of the access rights for each table available * in a catalog. * @@ -2143,7 +2143,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData throw org.postgresql.Driver.notImplemented(); } - /** + /* * Get a description of a table's optimal set of columns that * uniquely identifies a row. They are ordered by SCOPE. * @@ -2197,7 +2197,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData return new ResultSet(connection, f, v, "OK", 1); } - /** + /* * Get a description of a table's columns that are automatically * updated when any value in a row is updated. They are * unordered. @@ -2232,7 +2232,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData throw org.postgresql.Driver.notImplemented(); } - /** + /* * Get a description of a table's primary key columns. They * are ordered by COLUMN_NAME. * @@ -2272,69 +2272,69 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData ); } - private java.sql.ResultSet getImportedExportedKeys(String catalog, String schema, String primaryTable, String foreignTable) throws SQLException - { - Field f[]=new Field[14]; - - f[0]=new Field(connection, "PKTABLE_CAT", iVarcharOid, 32); - f[1]=new Field(connection, "PKTABLE_SCHEM", iVarcharOid, 32); - f[2]=new Field(connection, "PKTABLE_NAME", iVarcharOid, 32); - f[3]=new Field(connection, "PKCOLUMN_NAME", iVarcharOid, 32); - f[4]=new Field(connection, "FKTABLE_CAT", iVarcharOid, 32); - f[5]=new Field(connection, "FKTABLE_SCHEM", iVarcharOid, 32); - f[6]=new Field(connection, "FKTABLE_NAME", iVarcharOid, 32); - f[7]=new Field(connection, "FKCOLUMN_NAME", iVarcharOid, 32); - f[8]=new Field(connection, "KEY_SEQ", iInt2Oid, 2); - f[9]=new Field(connection, "UPDATE_RULE", iInt2Oid, 2); - f[10]=new Field(connection, "DELETE_RULE", iInt2Oid, 2); - f[11]=new Field(connection, "FK_NAME", iVarcharOid, 32); - f[12]=new Field(connection, "PK_NAME", iVarcharOid, 32); - f[13]=new Field(connection, "DEFERRABILITY", iInt2Oid, 2); - - java.sql.ResultSet rs = connection.ExecSQL("SELECT c.relname,c2.relname," - + "t.tgconstrname,ic.relname," - + "t.tgdeferrable,t.tginitdeferred," - + "t.tgnargs,t.tgargs,p.proname " - + "FROM pg_trigger t,pg_class c,pg_class c2," - + "pg_class ic,pg_proc p, pg_index i " - + "WHERE t.tgrelid=c.oid AND t.tgconstrrelid=c2.oid " - + "AND t.tgfoid=p.oid AND tgisconstraint " - + ((primaryTable!=null) ? "AND c2.relname='"+primaryTable+"' " : "") - + ((foreignTable!=null) ? "AND c.relname='"+foreignTable+"' " : "") - + "AND i.indrelid=c.oid " - + "AND i.indexrelid=ic.oid AND i.indisprimary " - + "ORDER BY c.relname,c2.relname" - ); - Vector tuples = new Vector(); - short seq=0; - if(rs.next()) { + private java.sql.ResultSet getImportedExportedKeys(String catalog, String schema, String primaryTable, String foreignTable) throws SQLException + { + Field f[]=new Field[14]; + + f[0]=new Field(connection, "PKTABLE_CAT", iVarcharOid, 32); + f[1]=new Field(connection, "PKTABLE_SCHEM", iVarcharOid, 32); + f[2]=new Field(connection, "PKTABLE_NAME", iVarcharOid, 32); + f[3]=new Field(connection, "PKCOLUMN_NAME", iVarcharOid, 32); + f[4]=new Field(connection, "FKTABLE_CAT", iVarcharOid, 32); + f[5]=new Field(connection, "FKTABLE_SCHEM", iVarcharOid, 32); + f[6]=new Field(connection, "FKTABLE_NAME", iVarcharOid, 32); + f[7]=new Field(connection, "FKCOLUMN_NAME", iVarcharOid, 32); + f[8]=new Field(connection, "KEY_SEQ", iInt2Oid, 2); + f[9]=new Field(connection, "UPDATE_RULE", iInt2Oid, 2); + f[10]=new Field(connection, "DELETE_RULE", iInt2Oid, 2); + f[11]=new Field(connection, "FK_NAME", iVarcharOid, 32); + f[12]=new Field(connection, "PK_NAME", iVarcharOid, 32); + f[13]=new Field(connection, "DEFERRABILITY", iInt2Oid, 2); + + java.sql.ResultSet rs = connection.ExecSQL("SELECT c.relname,c2.relname," + + "t.tgconstrname,ic.relname," + + "t.tgdeferrable,t.tginitdeferred," + + "t.tgnargs,t.tgargs,p.proname " + + "FROM pg_trigger t,pg_class c,pg_class c2," + + "pg_class ic,pg_proc p, pg_index i " + + "WHERE t.tgrelid=c.oid AND t.tgconstrrelid=c2.oid " + + "AND t.tgfoid=p.oid AND tgisconstraint " + + ((primaryTable!=null) ? "AND c2.relname='"+primaryTable+"' " : "") + + ((foreignTable!=null) ? "AND c.relname='"+foreignTable+"' " : "") + + "AND i.indrelid=c.oid " + + "AND i.indexrelid=ic.oid AND i.indisprimary " + + "ORDER BY c.relname,c2.relname" + ); + Vector tuples = new Vector(); + short seq=0; + if (rs.next()) { boolean hasMore; do { - byte tuple[][]=new byte[14][0]; - for (int k = 0;k < 14;k++) + byte tuple[][]=new byte[14][0]; + for (int k = 0;k < 14;k++) tuple[k] = null; - String fKeyName=rs.getString(3); - boolean foundRule=false; - do { - String proname=rs.getString(9); - if(proname!=null && proname.startsWith("RI_FKey_")) { - int col=-1; - if(proname.endsWith("_upd")) col=9; // UPDATE_RULE - else if(proname.endsWith("_del")) col=10; // DELETE_RULE - if(col>-1) { - String rule=proname.substring(8, proname.length()-4); - int action=importedKeyNoAction; - if("cascade".equals(rule)) action=importedKeyCascade; - else if("setnull".equals(rule)) action=importedKeySetNull; - else if("setdefault".equals(rule)) action=importedKeySetDefault; - tuple[col]=Integer.toString(action).getBytes(); - foundRule=true; - } - } - } while((hasMore=rs.next()) && fKeyName.equals(rs.getString(3))); + String fKeyName=rs.getString(3); + boolean foundRule=false; + do { + String proname=rs.getString(9); + if (proname!=null && proname.startsWith("RI_FKey_")) { + int col=-1; + if (proname.endsWith("_upd")) col=9; // UPDATE_RULE + else if (proname.endsWith("_del")) col=10; // DELETE_RULE + if (col>-1) { + String rule=proname.substring(8, proname.length()-4); + int action=importedKeyNoAction; + if ("cascade".equals(rule)) action=importedKeyCascade; + else if ("setnull".equals(rule)) action=importedKeySetNull; + else if ("setdefault".equals(rule)) action=importedKeySetDefault; + tuple[col]=Integer.toString(action).getBytes(); + foundRule=true; + } + } + } while ((hasMore=rs.next()) && fKeyName.equals(rs.getString(3))); - if(foundRule) { + if (foundRule) { tuple[2]=rs.getBytes(2); //PKTABLE_NAME tuple[6]=rs.getBytes(1); //FKTABLE_NAME @@ -2345,18 +2345,18 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData String s=rs.getString(8); int pos=s.lastIndexOf("\\000"); for(int c=0;c-1) { + if (pos>-1) { int pos2=s.lastIndexOf("\\000", pos-1); - if(pos2>-1) { - if(fkeyColumns.length()>0) fkeyColumns.insert(0, ','); - fkeyColumns.insert(0, s.substring(pos2+4, pos)); //FKCOLUMN_NAME - pos=s.lastIndexOf("\\000", pos2-1); - if(pos>-1) { - if(pkeyColumns.length()>0) pkeyColumns.insert(0, ','); + if (pos2>-1) { + if (fkeyColumns.length()>0) fkeyColumns.insert(0, ','); + fkeyColumns.insert(0, s.substring(pos2+4, pos)); //FKCOLUMN_NAME + pos=s.lastIndexOf("\\000", pos2-1); + if (pos>-1) { + if (pkeyColumns.length()>0) pkeyColumns.insert(0, ','); pkeyColumns.insert(0, s.substring(pos+4, pos2)); //PKCOLUMN_NAME - } + } + } } - } } tuple[7]=fkeyColumns.toString().getBytes(); //FKCOLUMN_NAME tuple[3]=pkeyColumns.toString().getBytes(); //PKCOLUMN_NAME @@ -2369,8 +2369,8 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData int deferrability=importedKeyNotDeferrable; boolean deferrable=rs.getBoolean(5); boolean initiallyDeferred=rs.getBoolean(6); - if(deferrable) { - if(initiallyDeferred) + if (deferrable) { + if (initiallyDeferred) deferrability=importedKeyInitiallyDeferred; else deferrability=importedKeyInitiallyImmediate; @@ -2379,13 +2379,13 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData tuples.addElement(tuple); } - } while(hasMore); + } while (hasMore); } return new ResultSet(connection, f, tuples, "OK", 1); } - /** + /* * Get a description of the primary key columns that are * referenced by a table's foreign key columns (the primary keys * imported by a table). They are ordered by PKTABLE_CAT, @@ -2436,12 +2436,12 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData * @return ResultSet each row is a primary key column description * @see #getExportedKeys */ - public java.sql.ResultSet getImportedKeys(String catalog, String schema, String table) throws SQLException - { - return getImportedExportedKeys(catalog, schema, null, table); - } + public java.sql.ResultSet getImportedKeys(String catalog, String schema, String table) throws SQLException + { + return getImportedExportedKeys(catalog, schema, null, table); + } - /** + /* * Get a description of a foreign key columns that reference a * table's primary key columns (the foreign keys exported by a * table). They are ordered by FKTABLE_CAT, FKTABLE_SCHEM, @@ -2499,7 +2499,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData return getImportedExportedKeys(catalog, schema, table, null); } - /** + /* * Get a description of the foreign key columns in the foreign key * table that reference the primary key columns of the primary key * table (describe how one table imports another's key.) This @@ -2560,7 +2560,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData return getImportedExportedKeys(primaryCatalog, primarySchema, primaryTable, foreignTable); } - /** + /* * Get a description of all the standard SQL types supported by * this database. They are ordered by DATA_TYPE and then by how * closely the data type maps to the corresponding JDBC SQL type. @@ -2667,7 +2667,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData throw new PSQLException("postgresql.metadata.unavailable"); } - /** + /* * Get a description of a table's indices and statistics. They are * ordered by NON_UNIQUE, TYPE, INDEX_NAME, and ORDINAL_POSITION. * diff --git a/src/interfaces/jdbc/org/postgresql/jdbc1/PreparedStatement.java b/src/interfaces/jdbc/org/postgresql/jdbc1/PreparedStatement.java index 2fd10f4698..3253c9335a 100644 --- a/src/interfaces/jdbc/org/postgresql/jdbc1/PreparedStatement.java +++ b/src/interfaces/jdbc/org/postgresql/jdbc1/PreparedStatement.java @@ -13,7 +13,7 @@ import java.util.*; import org.postgresql.largeobject.*; import org.postgresql.util.*; -/** +/* * A SQL Statement is pre-compiled and stored in a PreparedStatement object. * This object can then be used to efficiently execute this statement multiple * times. @@ -36,7 +36,7 @@ public class PreparedStatement extends Statement implements java.sql.PreparedSta String[] inStrings; Connection connection; - /** + /* * Constructor for the PreparedStatement class. * Split the SQL statement into segments - separated by the arguments. * When we rebuild the thing with the arguments, we can substitute the @@ -78,7 +78,7 @@ public class PreparedStatement extends Statement implements java.sql.PreparedSta templateStrings[i] = (String)v.elementAt(i); } - /** + /* * A Prepared SQL query is executed and its ResultSet is returned * * @return a ResultSet that contains the data produced by the @@ -101,7 +101,7 @@ public class PreparedStatement extends Statement implements java.sql.PreparedSta return super.executeQuery(s.toString()); // in Statement class } - /** + /* * Execute a SQL INSERT, UPDATE or DELETE statement. In addition, * SQL statements that return nothing such as SQL DDL statements can * be executed. @@ -126,7 +126,7 @@ public class PreparedStatement extends Statement implements java.sql.PreparedSta return super.executeUpdate(s.toString()); // in Statement class } - /** + /* * Set a parameter to SQL NULL * *

Note: You must specify the parameters SQL type (although @@ -141,7 +141,7 @@ public class PreparedStatement extends Statement implements java.sql.PreparedSta set(parameterIndex, "null"); } - /** + /* * Set a parameter to a Java boolean value. The driver converts this * to a SQL BIT value when it sends it to the database. * @@ -154,7 +154,7 @@ public class PreparedStatement extends Statement implements java.sql.PreparedSta set(parameterIndex, x ? "'t'" : "'f'"); } - /** + /* * Set a parameter to a Java byte value. The driver converts this to * a SQL TINYINT value when it sends it to the database. * @@ -167,7 +167,7 @@ public class PreparedStatement extends Statement implements java.sql.PreparedSta set(parameterIndex, Integer.toString(x)); } - /** + /* * Set a parameter to a Java short value. The driver converts this * to a SQL SMALLINT value when it sends it to the database. * @@ -180,7 +180,7 @@ public class PreparedStatement extends Statement implements java.sql.PreparedSta set(parameterIndex, Integer.toString(x)); } - /** + /* * Set a parameter to a Java int value. The driver converts this to * a SQL INTEGER value when it sends it to the database. * @@ -193,7 +193,7 @@ public class PreparedStatement extends Statement implements java.sql.PreparedSta set(parameterIndex, Integer.toString(x)); } - /** + /* * Set a parameter to a Java long value. The driver converts this to * a SQL BIGINT value when it sends it to the database. * @@ -206,7 +206,7 @@ public class PreparedStatement extends Statement implements java.sql.PreparedSta set(parameterIndex, Long.toString(x)); } - /** + /* * Set a parameter to a Java float value. The driver converts this * to a SQL FLOAT value when it sends it to the database. * @@ -219,7 +219,7 @@ public class PreparedStatement extends Statement implements java.sql.PreparedSta set(parameterIndex, Float.toString(x)); } - /** + /* * Set a parameter to a Java double value. The driver converts this * to a SQL DOUBLE value when it sends it to the database * @@ -232,7 +232,7 @@ public class PreparedStatement extends Statement implements java.sql.PreparedSta set(parameterIndex, Double.toString(x)); } - /** + /* * Set a parameter to a java.lang.BigDecimal value. The driver * converts this to a SQL NUMERIC value when it sends it to the * database. @@ -246,7 +246,7 @@ public class PreparedStatement extends Statement implements java.sql.PreparedSta set(parameterIndex, x.toString()); } - /** + /* * Set a parameter to a Java String value. The driver converts this * to a SQL VARCHAR or LONGVARCHAR value (depending on the arguments * size relative to the driver's limits on VARCHARs) when it sends it @@ -279,7 +279,7 @@ public class PreparedStatement extends Statement implements java.sql.PreparedSta } } - /** + /* * Set a parameter to a Java array of bytes. The driver converts this * to a SQL VARBINARY or LONGVARBINARY (depending on the argument's * size relative to the driver's limits on VARBINARYs) when it sends @@ -319,7 +319,7 @@ public class PreparedStatement extends Statement implements java.sql.PreparedSta } } - /** + /* * Set a parameter to a java.sql.Date value. The driver converts this * to a SQL DATE value when it sends it to the database. * @@ -350,7 +350,7 @@ public class PreparedStatement extends Statement implements java.sql.PreparedSta //set(parameterIndex, df.format(new java.util.Date(x.getTime()+86400000))); } - /** + /* * Set a parameter to a java.sql.Time value. The driver converts * this to a SQL TIME value when it sends it to the database. * @@ -370,7 +370,7 @@ public class PreparedStatement extends Statement implements java.sql.PreparedSta } } - /** + /* * Set a parameter to a java.sql.Timestamp value. The driver converts * this to a SQL TIMESTAMP value when it sends it to the database. * @@ -394,7 +394,7 @@ public class PreparedStatement extends Statement implements java.sql.PreparedSta } } - /** + /* * When a very large ASCII value is input to a LONGVARCHAR parameter, * it may be more practical to send it via a java.io.InputStream. * JDBC will read the data from the stream as needed, until it reaches @@ -444,7 +444,7 @@ public class PreparedStatement extends Statement implements java.sql.PreparedSta } } - /** + /* * When a very large Unicode value is input to a LONGVARCHAR parameter, * it may be more practical to send it via a java.io.InputStream. * JDBC will read the data from the stream as needed, until it reaches @@ -493,7 +493,7 @@ public class PreparedStatement extends Statement implements java.sql.PreparedSta } } - /** + /* * When a very large binary value is input to a LONGVARBINARY parameter, * it may be more practical to send it via a java.io.InputStream. * JDBC will read the data from the stream as needed, until it reaches @@ -572,7 +572,7 @@ public class PreparedStatement extends Statement implements java.sql.PreparedSta } } - /** + /* * In general, parameter values remain in force for repeated used of a * Statement. Setting a parameter value automatically clears its * previous value. However, in coms cases, it is useful to immediately @@ -589,7 +589,7 @@ public class PreparedStatement extends Statement implements java.sql.PreparedSta inStrings[i] = null; } - /** + /* * Set the value of a parameter using an object; use the java.lang * equivalent objects for integral values. * @@ -672,7 +672,7 @@ public class PreparedStatement extends Statement implements java.sql.PreparedSta setObject(parameterIndex, x, targetSqlType, 0); } - /** + /* * This stores an Object into a parameter. *

New for 6.4, if the object is not recognised, but it is * Serializable, then the object is serialised using the @@ -715,7 +715,7 @@ public class PreparedStatement extends Statement implements java.sql.PreparedSta setLong(parameterIndex, connection.putObject(x)); } - /** + /* * Some prepared statements return multiple results; the execute method * handles these complex statements as well as the simpler form of * statements handled by executeQuery and executeUpdate @@ -740,7 +740,7 @@ public class PreparedStatement extends Statement implements java.sql.PreparedSta return super.execute(s.toString()); // in Statement class } - /** + /* * Returns the SQL statement with the current template values * substituted. */ @@ -765,7 +765,7 @@ public class PreparedStatement extends Statement implements java.sql.PreparedSta // END OF PUBLIC INTERFACE // ************************************************************** - /** + /* * There are a lot of setXXX classes which all basically do * the same thing. We need a method which actually does the * set for us. diff --git a/src/interfaces/jdbc/org/postgresql/jdbc1/ResultSet.java b/src/interfaces/jdbc/org/postgresql/jdbc1/ResultSet.java index 348b84a657..b806f67bcb 100644 --- a/src/interfaces/jdbc/org/postgresql/jdbc1/ResultSet.java +++ b/src/interfaces/jdbc/org/postgresql/jdbc1/ResultSet.java @@ -16,7 +16,7 @@ import org.postgresql.largeobject.*; import org.postgresql.util.*; import org.postgresql.core.Encoding; -/** +/* * A ResultSet provides access to a table of data generated by executing a * Statement. The table rows are retrieved in sequence. Within a row its * column values can be accessed in any order. @@ -59,7 +59,7 @@ import org.postgresql.core.Encoding; */ public class ResultSet extends org.postgresql.ResultSet implements java.sql.ResultSet { - /** + /* * Create a new ResultSet - Note that we create ResultSets to * represent the results of everything. * @@ -75,7 +75,7 @@ public class ResultSet extends org.postgresql.ResultSet implements java.sql.Resu super(conn, fields, tuples, status, updateCount, insertOID, binaryCursor); } - /** + /* * Create a new ResultSet - Note that we create ResultSets to * represent the results of everything. * @@ -91,7 +91,7 @@ public class ResultSet extends org.postgresql.ResultSet implements java.sql.Resu super(conn, fields, tuples, status, updateCount, 0, false); } - /** + /* * A ResultSet is initially positioned before its first row, * the first call to next makes the first row the current row; * the second call makes the second row the current row, etc. @@ -112,7 +112,7 @@ public class ResultSet extends org.postgresql.ResultSet implements java.sql.Resu return true; } - /** + /* * In some cases, it is desirable to immediately release a ResultSet * database and JDBC resources instead of waiting for this to happen * when it is automatically closed. The close method provides this @@ -132,7 +132,7 @@ public class ResultSet extends org.postgresql.ResultSet implements java.sql.Resu rows.setSize(0); } - /** + /* * A column may have the value of SQL NULL; wasNull() reports whether * the last column read had this special value. Note that you must * first call getXXX on a column to try to read its value and then @@ -146,7 +146,7 @@ public class ResultSet extends org.postgresql.ResultSet implements java.sql.Resu return wasNullFlag; } - /** + /* * Get the value of a column in the current row as a Java String * * @param columnIndex the first column is 1, the second is 2... @@ -166,7 +166,7 @@ public class ResultSet extends org.postgresql.ResultSet implements java.sql.Resu return encoding.decode(this_row[columnIndex - 1]); } - /** + /* * Get the value of a column in the current row as a Java boolean * * @param columnIndex the first column is 1, the second is 2... @@ -185,7 +185,7 @@ public class ResultSet extends org.postgresql.ResultSet implements java.sql.Resu return false; // SQL NULL } - /** + /* * Get the value of a column in the current row as a Java byte. * * @param columnIndex the first column is 1, the second is 2,... @@ -210,7 +210,7 @@ public class ResultSet extends org.postgresql.ResultSet implements java.sql.Resu return 0; // SQL NULL } - /** + /* * Get the value of a column in the current row as a Java short. * * @param columnIndex the first column is 1, the second is 2,... @@ -235,7 +235,7 @@ public class ResultSet extends org.postgresql.ResultSet implements java.sql.Resu return 0; // SQL NULL } - /** + /* * Get the value of a column in the current row as a Java int. * * @param columnIndex the first column is 1, the second is 2,... @@ -260,7 +260,7 @@ public class ResultSet extends org.postgresql.ResultSet implements java.sql.Resu return 0; // SQL NULL } - /** + /* * Get the value of a column in the current row as a Java long. * * @param columnIndex the first column is 1, the second is 2,... @@ -285,7 +285,7 @@ public class ResultSet extends org.postgresql.ResultSet implements java.sql.Resu return 0; // SQL NULL } - /** + /* * Get the value of a column in the current row as a Java float. * * @param columnIndex the first column is 1, the second is 2,... @@ -310,7 +310,7 @@ public class ResultSet extends org.postgresql.ResultSet implements java.sql.Resu return 0; // SQL NULL } - /** + /* * Get the value of a column in the current row as a Java double. * * @param columnIndex the first column is 1, the second is 2,... @@ -335,7 +335,7 @@ public class ResultSet extends org.postgresql.ResultSet implements java.sql.Resu return 0; // SQL NULL } - /** + /* * Get the value of a column in the current row as a * java.math.BigDecimal object * @@ -371,7 +371,7 @@ public class ResultSet extends org.postgresql.ResultSet implements java.sql.Resu return null; // SQL NULL } - /** + /* * Get the value of a column in the current row as a Java byte array. * *

In normal use, the bytes represent the raw values returned by the @@ -432,7 +432,7 @@ public class ResultSet extends org.postgresql.ResultSet implements java.sql.Resu return null; } - /** + /* * Get the value of a column in the current row as a java.sql.Date * object * @@ -454,7 +454,7 @@ public class ResultSet extends org.postgresql.ResultSet implements java.sql.Resu } } - /** + /* * Get the value of a column in the current row as a java.sql.Time * object * @@ -485,7 +485,7 @@ public class ResultSet extends org.postgresql.ResultSet implements java.sql.Resu return null; // SQL NULL } - /** + /* * Get the value of a column in the current row as a * java.sql.Timestamp object * @@ -599,7 +599,7 @@ public class ResultSet extends org.postgresql.ResultSet implements java.sql.Resu } } - /** + /* * A column value can be retrieved as a stream of ASCII characters * and then read in chunks from the stream. This method is * particular suitable for retrieving large LONGVARCHAR values. @@ -653,7 +653,7 @@ public class ResultSet extends org.postgresql.ResultSet implements java.sql.Resu } } - /** + /* * A column value can also be retrieved as a stream of Unicode * characters. We implement this as a binary stream. * @@ -695,7 +695,7 @@ public class ResultSet extends org.postgresql.ResultSet implements java.sql.Resu } } - /** + /* * A column value can also be retrieved as a binary strea. This * method is suitable for retrieving LONGVARBINARY values. * @@ -738,7 +738,7 @@ public class ResultSet extends org.postgresql.ResultSet implements java.sql.Resu return null; } - /** + /* * The following routines simply convert the columnName into * a columnIndex and then call the appropriate routine above. * @@ -827,7 +827,7 @@ public class ResultSet extends org.postgresql.ResultSet implements java.sql.Resu return getBinaryStream(findColumn(columnName)); } - /** + /* * The first warning reported by calls on this ResultSet is * returned. Subsequent ResultSet warnings will be chained * to this SQLWarning. @@ -848,7 +848,7 @@ public class ResultSet extends org.postgresql.ResultSet implements java.sql.Resu return warnings; } - /** + /* * After this call, getWarnings returns null until a new warning * is reported for this ResultSet * @@ -859,7 +859,7 @@ public class ResultSet extends org.postgresql.ResultSet implements java.sql.Resu warnings = null; } - /** + /* * Get the name of the SQL cursor used by this ResultSet * *

In SQL, a result table is retrieved though a cursor that is @@ -882,7 +882,7 @@ public class ResultSet extends org.postgresql.ResultSet implements java.sql.Resu return connection.getCursorName(); } - /** + /* * The numbers, types and properties of a ResultSet's columns are * provided by the getMetaData method * @@ -894,7 +894,7 @@ public class ResultSet extends org.postgresql.ResultSet implements java.sql.Resu return new ResultSetMetaData(rows, fields); } - /** + /* * Get the value of a column in the current row as a Java object * *

This method will return the value of the given column as a @@ -966,7 +966,7 @@ public class ResultSet extends org.postgresql.ResultSet implements java.sql.Resu } } - /** + /* * Get the value of a column in the current row as a Java object * *

This method will return the value of the given column as a @@ -986,7 +986,7 @@ public class ResultSet extends org.postgresql.ResultSet implements java.sql.Resu return getObject(findColumn(columnName)); } - /** + /* * Map a ResultSet column name to a ResultSet column index * * @param columnName the name of the column diff --git a/src/interfaces/jdbc/org/postgresql/jdbc1/ResultSetMetaData.java b/src/interfaces/jdbc/org/postgresql/jdbc1/ResultSetMetaData.java index 60efbf0f2f..321293b7c8 100644 --- a/src/interfaces/jdbc/org/postgresql/jdbc1/ResultSetMetaData.java +++ b/src/interfaces/jdbc/org/postgresql/jdbc1/ResultSetMetaData.java @@ -16,7 +16,7 @@ import org.postgresql.util.*; import java.sql.SQLException; import java.sql.Types; -/** +/* * A ResultSetMetaData object can be used to find out about the types and * properties of the columns in a ResultSet * @@ -27,7 +27,7 @@ public class ResultSetMetaData implements java.sql.ResultSetMetaData Vector rows; Field[] fields; - /** + /* * Initialise for a result with a tuple set and * a field descriptor set * @@ -40,7 +40,7 @@ public class ResultSetMetaData implements java.sql.ResultSetMetaData this.fields = fields; } - /** + /* * Whats the number of columns in the ResultSet? * * @return the number @@ -51,7 +51,7 @@ public class ResultSetMetaData implements java.sql.ResultSetMetaData return fields.length; } - /** + /* * Is the column automatically numbered (and thus read-only) * I believe that PostgreSQL does not support this feature. * @@ -64,7 +64,7 @@ public class ResultSetMetaData implements java.sql.ResultSetMetaData return false; } - /** + /* * Does a column's case matter? ASSUMPTION: Any field that is * not obviously case insensitive is assumed to be case sensitive * @@ -92,7 +92,7 @@ public class ResultSetMetaData implements java.sql.ResultSetMetaData } } - /** + /* * Can the column be used in a WHERE clause? Basically for * this, I split the functions into two types: recognised * types (which are always useable), and OTHER types (which @@ -119,7 +119,7 @@ public class ResultSetMetaData implements java.sql.ResultSetMetaData } } - /** + /* * Is the column a cash value? 6.1 introduced the cash/money * type, which haven't been incorporated as of 970414, so I * just check the type name for both 'cash' and 'money' @@ -135,7 +135,7 @@ public class ResultSetMetaData implements java.sql.ResultSetMetaData return type_name.equals("cash") || type_name.equals("money"); } - /** + /* * Indicates the nullability of values in the designated column. * * @param column the first column is 1, the second is 2... @@ -152,7 +152,7 @@ public class ResultSetMetaData implements java.sql.ResultSetMetaData return columnNullableUnknown; } - /** + /* * Is the column a signed number? In PostgreSQL, all numbers * are signed, so this is trivial. However, strings are not * signed (duh!) @@ -182,7 +182,7 @@ public class ResultSetMetaData implements java.sql.ResultSetMetaData } } - /** + /* * What is the column's normal maximum width in characters? * * @param column the first column is 1, the second is 2, etc. @@ -238,7 +238,7 @@ public class ResultSetMetaData implements java.sql.ResultSetMetaData return f.getLength(); } - /** + /* * What is the suggested column title for use in printouts and * displays? We suggest the ColumnName! * @@ -251,7 +251,7 @@ public class ResultSetMetaData implements java.sql.ResultSetMetaData return getColumnName(column); } - /** + /* * What's a column's name? * * @param column the first column is 1, the second is 2, etc. @@ -266,7 +266,7 @@ public class ResultSetMetaData implements java.sql.ResultSetMetaData return "field" + column; } - /** + /* * What is a column's table's schema? This relies on us knowing * the table name....which I don't know how to do as yet. The * JDBC specification allows us to return "" if this is not @@ -281,7 +281,7 @@ public class ResultSetMetaData implements java.sql.ResultSetMetaData return ""; } - /** + /* * What is a column's number of decimal digits. * * @param column the first column is 1, the second is 2... @@ -317,7 +317,7 @@ public class ResultSetMetaData implements java.sql.ResultSetMetaData } } - /** + /* * What is a column's number of digits to the right of the * decimal point? * @@ -354,7 +354,7 @@ public class ResultSetMetaData implements java.sql.ResultSetMetaData } } - /** + /* * Whats a column's table's name? How do I find this out? Both * getSchemaName() and getCatalogName() rely on knowing the table * Name, so we need this before we can work on them. @@ -368,7 +368,7 @@ public class ResultSetMetaData implements java.sql.ResultSetMetaData return ""; } - /** + /* * What's a column's table's catalog name? As with getSchemaName(), * we can say that if getTableName() returns n/a, then we can too - * otherwise, we need to work on it. @@ -382,7 +382,7 @@ public class ResultSetMetaData implements java.sql.ResultSetMetaData return ""; } - /** + /* * What is a column's SQL Type? (java.sql.Type int) * * @param column the first column is 1, the second is 2, etc. @@ -396,7 +396,7 @@ public class ResultSetMetaData implements java.sql.ResultSetMetaData return getField(column).getSQLType(); } - /** + /* * Whats is the column's data source specific type name? * * @param column the first column is 1, the second is 2, etc. @@ -408,7 +408,7 @@ public class ResultSetMetaData implements java.sql.ResultSetMetaData return getField(column).getPGType(); } - /** + /* * Is the column definitely not writable? In reality, we would * have to check the GRANT/REVOKE stuff for this to be effective, * and I haven't really looked into that yet, so this will get @@ -423,7 +423,7 @@ public class ResultSetMetaData implements java.sql.ResultSetMetaData return false; } - /** + /* * Is it possible for a write on the column to succeed? Again, we * would in reality have to check the GRANT/REVOKE stuff, which * I haven't worked with as yet. However, if it isn't ReadOnly, then @@ -438,7 +438,7 @@ public class ResultSetMetaData implements java.sql.ResultSetMetaData return !isReadOnly(column); } - /** + /* * Will a write on this column definately succeed? Hmmm...this * is a bad one, since the two preceding functions have not been * really defined. I cannot tell is the short answer. I thus @@ -457,7 +457,7 @@ public class ResultSetMetaData implements java.sql.ResultSetMetaData // END OF PUBLIC INTERFACE // ******************************************************** - /** + /* * For several routines in this package, we need to convert * a columnIndex into a Field[] descriptor. Rather than do * the same code several times, here it is. diff --git a/src/interfaces/jdbc/org/postgresql/jdbc1/Statement.java b/src/interfaces/jdbc/org/postgresql/jdbc1/Statement.java index c46f59d542..55db2ba954 100644 --- a/src/interfaces/jdbc/org/postgresql/jdbc1/Statement.java +++ b/src/interfaces/jdbc/org/postgresql/jdbc1/Statement.java @@ -9,7 +9,7 @@ import java.sql.*; import org.postgresql.util.PSQLException; -/** +/* * A Statement object is used for executing a static SQL statement and * obtaining the results produced by it. * @@ -26,7 +26,7 @@ public class Statement extends org.postgresql.Statement implements java.sql.Stat { private Connection connection; // The connection who created us - /** + /* * Constructor for a Statement. It simply sets the connection * that created us. * @@ -37,7 +37,7 @@ public class Statement extends org.postgresql.Statement implements java.sql.Stat connection = c; } - /** + /* * Execute a SQL statement that retruns a single ResultSet * * @param sql typically a static SQL SELECT statement @@ -54,7 +54,7 @@ public class Statement extends org.postgresql.Statement implements java.sql.Stat return result; } - /** + /* * Execute a SQL INSERT, UPDATE or DELETE statement. In addition * SQL statements that return nothing such as SQL DDL statements * can be executed @@ -71,7 +71,7 @@ public class Statement extends org.postgresql.Statement implements java.sql.Stat return this.getUpdateCount(); } - /** + /* * setCursorName defines the SQL cursor name that will be used by * subsequent execute methods. This name can then be used in SQL * positioned update/delete statements to identify the current row @@ -95,7 +95,7 @@ public class Statement extends org.postgresql.Statement implements java.sql.Stat connection.setCursorName(name); } - /** + /* * Execute a SQL statement that may return multiple results. We * don't have to worry about this since we do not support multiple * ResultSets. You can use getResultSet or getUpdateCount to @@ -114,7 +114,7 @@ public class Statement extends org.postgresql.Statement implements java.sql.Stat return (result != null && ((org.postgresql.ResultSet)result).reallyResultSet()); } - /** + /* * getUpdateCount returns the current result as an update count, * if the result is a ResultSet or there are no more results, -1 * is returned. It should only be called once per result. @@ -131,7 +131,7 @@ public class Statement extends org.postgresql.Statement implements java.sql.Stat return ((org.postgresql.ResultSet)result).getResultCount(); } - /** + /* * getMoreResults moves to a Statement's next result. If it returns * true, this result is a ResulSet. * diff --git a/src/interfaces/jdbc/org/postgresql/jdbc2/Array.java b/src/interfaces/jdbc/org/postgresql/jdbc2/Array.java index e741f0f5b5..56b8a0f15a 100644 --- a/src/interfaces/jdbc/org/postgresql/jdbc2/Array.java +++ b/src/interfaces/jdbc/org/postgresql/jdbc2/Array.java @@ -7,7 +7,7 @@ import java.math.BigDecimal; import org.postgresql.Field; import org.postgresql.util.*; -/** +/* * Array is used collect one column of query result data. * *

Read a field of type Array into either a natively-typed @@ -31,7 +31,7 @@ public class Array implements java.sql.Array private int idx = 0; private String rawString = null; - /** + /* * Create a new Array * * @param conn a database connection diff --git a/src/interfaces/jdbc/org/postgresql/jdbc2/CallableStatement.java b/src/interfaces/jdbc/org/postgresql/jdbc2/CallableStatement.java index 7a711fb011..2f316234c2 100644 --- a/src/interfaces/jdbc/org/postgresql/jdbc2/CallableStatement.java +++ b/src/interfaces/jdbc/org/postgresql/jdbc2/CallableStatement.java @@ -8,7 +8,7 @@ package org.postgresql.jdbc2; import java.sql.*; import java.math.*; -/** +/* * CallableStatement is used to execute SQL stored procedures. * *

JDBC provides a stored procedure SQL escape that allows stored @@ -41,7 +41,7 @@ import java.math.*; public class CallableStatement extends org.postgresql.jdbc2.PreparedStatement implements java.sql.CallableStatement { - /** + /* * @exception SQLException on failure */ public CallableStatement(Connection c, String q) throws SQLException @@ -49,7 +49,7 @@ public class CallableStatement extends org.postgresql.jdbc2.PreparedStatement im super(c, q); } - /** + /* * Before executing a stored procedure call you must explicitly * call registerOutParameter to register the java.sql.Type of each * out parameter. @@ -67,7 +67,7 @@ public class CallableStatement extends org.postgresql.jdbc2.PreparedStatement im public void registerOutParameter(int parameterIndex, int sqlType) throws SQLException {} - /** + /* * You must also specify the scale for numeric/decimal types: * *

Note: When reading the value of an out parameter, you must use @@ -89,7 +89,7 @@ public class CallableStatement extends org.postgresql.jdbc2.PreparedStatement im //return true; //} - /** + /* * An OUT parameter may have the value of SQL NULL; wasNull * reports whether the last value read has this special value. * @@ -109,7 +109,7 @@ public class CallableStatement extends org.postgresql.jdbc2.PreparedStatement im //return null; //} - /** + /* * Get the value of a CHAR, VARCHAR, or LONGVARCHAR parameter as a * Java String. * @@ -129,7 +129,7 @@ public class CallableStatement extends org.postgresql.jdbc2.PreparedStatement im //return null; //} - /** + /* * Get the value of a BIT parameter as a Java boolean. * * @param parameterIndex the first parameter is 1, the second is 2,... @@ -141,7 +141,7 @@ public class CallableStatement extends org.postgresql.jdbc2.PreparedStatement im return false; } - /** + /* * Get the value of a TINYINT parameter as a Java byte. * * @param parameterIndex the first parameter is 1, the second is 2,... @@ -153,7 +153,7 @@ public class CallableStatement extends org.postgresql.jdbc2.PreparedStatement im return 0; } - /** + /* * Get the value of a SMALLINT parameter as a Java short. * * @param parameterIndex the first parameter is 1, the second is 2,... @@ -165,7 +165,7 @@ public class CallableStatement extends org.postgresql.jdbc2.PreparedStatement im return 0; } - /** + /* * Get the value of an INTEGER parameter as a Java int. * * @param parameterIndex the first parameter is 1, the second is 2,... @@ -177,7 +177,7 @@ public class CallableStatement extends org.postgresql.jdbc2.PreparedStatement im return 0; } - /** + /* * Get the value of a BIGINT parameter as a Java long. * * @param parameterIndex the first parameter is 1, the second is 2,... @@ -189,7 +189,7 @@ public class CallableStatement extends org.postgresql.jdbc2.PreparedStatement im return 0; } - /** + /* * Get the value of a FLOAT parameter as a Java float. * * @param parameterIndex the first parameter is 1, the second is 2,... @@ -201,7 +201,7 @@ public class CallableStatement extends org.postgresql.jdbc2.PreparedStatement im return (float) 0.0; } - /** + /* * Get the value of a DOUBLE parameter as a Java double. * * @param parameterIndex the first parameter is 1, the second is 2,... @@ -213,7 +213,7 @@ public class CallableStatement extends org.postgresql.jdbc2.PreparedStatement im return 0.0; } - /** + /* * Get the value of a NUMERIC parameter as a java.math.BigDecimal * object. * @@ -230,7 +230,7 @@ public class CallableStatement extends org.postgresql.jdbc2.PreparedStatement im return null; } - /** + /* * Get the value of a SQL BINARY or VARBINARY parameter as a Java * byte[] * @@ -248,7 +248,7 @@ public class CallableStatement extends org.postgresql.jdbc2.PreparedStatement im //return null; //} - /** + /* * Get the value of a SQL DATE parameter as a java.sql.Date object * * @param parameterIndex the first parameter is 1, the second is 2,... @@ -260,7 +260,7 @@ public class CallableStatement extends org.postgresql.jdbc2.PreparedStatement im return null; } - /** + /* * Get the value of a SQL TIME parameter as a java.sql.Time object. * * @param parameterIndex the first parameter is 1, the second is 2,... @@ -272,7 +272,7 @@ public class CallableStatement extends org.postgresql.jdbc2.PreparedStatement im return null; } - /** + /* * Get the value of a SQL TIMESTAMP parameter as a java.sql.Timestamp object. * * @param parameterIndex the first parameter is 1, the second is 2,... @@ -296,7 +296,7 @@ public class CallableStatement extends org.postgresql.jdbc2.PreparedStatement im // getObject returns a Java object for the parameter. // See the JDBC spec's "Dynamic Programming" chapter for details. - /** + /* * Get the value of a parameter as a Java object. * *

This method returns a Java object whose type coresponds to the diff --git a/src/interfaces/jdbc/org/postgresql/jdbc2/Connection.java b/src/interfaces/jdbc/org/postgresql/jdbc2/Connection.java index 50a850d2c4..19795840ef 100644 --- a/src/interfaces/jdbc/org/postgresql/jdbc2/Connection.java +++ b/src/interfaces/jdbc/org/postgresql/jdbc2/Connection.java @@ -16,8 +16,8 @@ import org.postgresql.fastpath.*; import org.postgresql.largeobject.*; import org.postgresql.util.*; -/** - * $Id: Connection.java,v 1.14 2001/10/25 05:59:59 momjian Exp $ +/* + * $Id: Connection.java,v 1.15 2001/11/19 22:33:38 momjian Exp $ * * A Connection represents a session with a specific database. Within the * context of a Connection, SQL statements are executed and results are @@ -39,12 +39,12 @@ public class Connection extends org.postgresql.Connection implements java.sql.Co // This is a cache of the DatabaseMetaData instance for this connection protected DatabaseMetaData metadata; - /** + /* * The current type mappings */ protected java.util.Map typemap; - /** + /* * SQL statements without parameters are normally executed using * Statement objects. If the same SQL statement is executed many * times, it is more efficient to use a PreparedStatement @@ -59,7 +59,7 @@ public class Connection extends org.postgresql.Connection implements java.sql.Co return createStatement(java.sql.ResultSet.TYPE_SCROLL_INSENSITIVE, java.sql.ResultSet.CONCUR_READ_ONLY); } - /** + /* * SQL statements without parameters are normally executed using * Statement objects. If the same SQL statement is executed many * times, it is more efficient to use a PreparedStatement @@ -78,7 +78,7 @@ public class Connection extends org.postgresql.Connection implements java.sql.Co } - /** + /* * A SQL statement with or without IN parameters can be pre-compiled * and stored in a PreparedStatement object. This object can then * be used to efficiently execute this statement multiple times. @@ -109,7 +109,7 @@ public class Connection extends org.postgresql.Connection implements java.sql.Co return s; } - /** + /* * A SQL stored procedure call statement is handled by creating a * CallableStatement for it. The CallableStatement provides methods * for setting up its IN and OUT parameters and methods for executing @@ -142,7 +142,7 @@ public class Connection extends org.postgresql.Connection implements java.sql.Co //return s; } - /** + /* * Tests to see if a Connection is closed. * * Peter Feb 7 2000: Now I've discovered that this doesn't actually obey the @@ -187,7 +187,7 @@ public class Connection extends org.postgresql.Connection implements java.sql.Co } } - /** + /* * A connection's database is able to provide information describing * its tables, its supported SQL grammar, its stored procedures, the * capabilities of this connection, etc. This information is made @@ -203,7 +203,7 @@ public class Connection extends org.postgresql.Connection implements java.sql.Co return metadata; } - /** + /* * This overides the method in org.postgresql.Connection and returns a * ResultSet. */ @@ -237,7 +237,7 @@ public class Connection extends org.postgresql.Connection implements java.sql.Co typemap = map; } - /** + /* * This overides the standard internal getObject method so that we can * check the jdbc2 type map first * @@ -280,7 +280,7 @@ public class Connection extends org.postgresql.Connection implements java.sql.Co return sqlType; } - /** + /* * This table holds the org.postgresql names for the types supported. * Any types that map to Types.OTHER (eg POINT) don't go into this table. * They default automatically to Types.OTHER @@ -310,7 +310,7 @@ public class Connection extends org.postgresql.Connection implements java.sql.Co "_bytea" }; - /** + /* * This table holds the JDBC type for each entry above. * * Note: This must be in the same order as above diff --git a/src/interfaces/jdbc/org/postgresql/jdbc2/DatabaseMetaData.java b/src/interfaces/jdbc/org/postgresql/jdbc2/DatabaseMetaData.java index 395cbadbe4..0d833a033a 100644 --- a/src/interfaces/jdbc/org/postgresql/jdbc2/DatabaseMetaData.java +++ b/src/interfaces/jdbc/org/postgresql/jdbc2/DatabaseMetaData.java @@ -12,10 +12,10 @@ import org.postgresql.Driver; import org.postgresql.Field; import org.postgresql.util.PSQLException; -/** +/* * This class provides information about the database as a whole. * - * $Id: DatabaseMetaData.java,v 1.45 2001/11/14 20:04:00 davec Exp $ + * $Id: DatabaseMetaData.java,v 1.46 2001/11/19 22:33:39 momjian Exp $ * *

Many of the methods here return lists of information in ResultSets. You * can use the normal ResultSet methods such as getString and getInt to @@ -53,7 +53,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData this.connection = conn; } - /** + /* * Can all the procedures returned by getProcedures be called * by the current user? * @@ -62,11 +62,11 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData */ public boolean allProceduresAreCallable() throws SQLException { - Driver.debug("allProceduresAreCallable"); + Driver.debug("allProceduresAreCallable"); return true; // For now... } - /** + /* * Can all the tables returned by getTable be SELECTed by * the current user? * @@ -75,11 +75,11 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData */ public boolean allTablesAreSelectable() throws SQLException { - Driver.debug("allTablesAreSelectable"); + Driver.debug("allTablesAreSelectable"); return true; // For now... } - /** + /* * What is the URL for this database? * * @return the url or null if it cannott be generated @@ -87,12 +87,12 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData */ public String getURL() throws SQLException { - String url = connection.getURL(); - Driver.debug("getURL "+url); - return url; + String url = connection.getURL(); + Driver.debug("getURL "+url); + return url; } - /** + /* * What is our user name as known to the database? * * @return our database user name @@ -100,12 +100,12 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData */ public String getUserName() throws SQLException { - String userName = connection.getUserName(); - Driver.debug("getUserName "+ userName); - return userName; + String userName = connection.getUserName(); + Driver.debug("getUserName "+ userName); + return userName; } - /** + /* * Is the database in read-only mode? * * @return true if so @@ -113,12 +113,12 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData */ public boolean isReadOnly() throws SQLException { - boolean isReadOnly = connection.isReadOnly(); - Driver.debug("isReadOnly " +isReadOnly); - return isReadOnly; + boolean isReadOnly = connection.isReadOnly(); + Driver.debug("isReadOnly " +isReadOnly); + return isReadOnly; } - /** + /* * Are NULL values sorted high? * * @return true if so @@ -126,12 +126,12 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData */ public boolean nullsAreSortedHigh() throws SQLException { - boolean nullSortedHigh = connection.haveMinimumServerVersion("7.2"); - Driver.debug("nullsAreSortedHigh " + nullSortedHigh); - return nullSortedHigh; + boolean nullSortedHigh = connection.haveMinimumServerVersion("7.2"); + Driver.debug("nullsAreSortedHigh " + nullSortedHigh); + return nullSortedHigh; } - /** + /* * Are NULL values sorted low? * * @return true if so @@ -139,11 +139,11 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData */ public boolean nullsAreSortedLow() throws SQLException { - Driver.debug("nullsAreSortedLow false"); + Driver.debug("nullsAreSortedLow false"); return false; } - /** + /* * Are NULL values sorted at the start regardless of sort order? * * @return true if so @@ -151,11 +151,11 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData */ public boolean nullsAreSortedAtStart() throws SQLException { - Driver.debug("nullsAreSortedAtStart false"); + Driver.debug("nullsAreSortedAtStart false"); return false; } - /** + /* * Are NULL values sorted at the end regardless of sort order? * * @return true if so @@ -163,12 +163,12 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData */ public boolean nullsAreSortedAtEnd() throws SQLException { - boolean nullsAreSortedAtEnd = ! connection.haveMinimumServerVersion("7.2"); - Driver.debug("nullsAreSortedAtEnd "+nullsAreSortedAtEnd); - return nullsAreSortedAtEnd; + boolean nullsAreSortedAtEnd = ! connection.haveMinimumServerVersion("7.2"); + Driver.debug("nullsAreSortedAtEnd "+nullsAreSortedAtEnd); + return nullsAreSortedAtEnd; } - /** + /* * What is the name of this database product - we hope that it is * PostgreSQL, so we return that explicitly. * @@ -177,11 +177,11 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData */ public String getDatabaseProductName() throws SQLException { - Driver.debug("getDatabaseProductName PostgresSQL"); + Driver.debug("getDatabaseProductName PostgresSQL"); return "PostgreSQL"; } - /** + /* * What is the version of this database product. * * @return the database version @@ -189,12 +189,12 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData */ public String getDatabaseProductVersion() throws SQLException { - String versionNumber = connection.getDBVersionNumber(); - Driver.debug("getDatabaseProductVersion " + versionNumber); - return versionNumber; + String versionNumber = connection.getDBVersionNumber(); + Driver.debug("getDatabaseProductVersion " + versionNumber); + return versionNumber; } - /** + /* * What is the name of this JDBC driver? If we don't know this * we are doing something wrong! * @@ -203,13 +203,13 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData */ public String getDriverName() throws SQLException { - String driverName = "PostgreSQL Native Driver"; - Driver.debug("getDriverName" + driverName); - return driverName; - } + String driverName = "PostgreSQL Native Driver"; + Driver.debug("getDriverName" + driverName); + return driverName; + } - /** - * What is the version string of this JDBC driver? Again, this is + /* + * What is the version string of this JDBC driver? Again, this is * static. * * @return the JDBC driver name. @@ -217,37 +217,37 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData */ public String getDriverVersion() throws SQLException { - String driverVersion = connection.this_driver.getVersion(); - Driver.debug("getDriverVersion "+driverVersion); - return driverVersion; + String driverVersion = connection.this_driver.getVersion(); + Driver.debug("getDriverVersion "+driverVersion); + return driverVersion; } - /** + /* * What is this JDBC driver's major version number? * * @return the JDBC driver major version */ public int getDriverMajorVersion() { - int majorVersion = connection.this_driver.getMajorVersion(); - Driver.debug("getMajorVersion " +majorVersion); - return majorVersion; + int majorVersion = connection.this_driver.getMajorVersion(); + Driver.debug("getMajorVersion " +majorVersion); + return majorVersion; } - /** + /* * What is this JDBC driver's minor version number? * * @return the JDBC driver minor version */ public int getDriverMinorVersion() { - int minorVersion = connection.this_driver.getMinorVersion(); - Driver.debug("getMinorVersion " +minorVersion); - return minorVersion; - } + int minorVersion = connection.this_driver.getMinorVersion(); + Driver.debug("getMinorVersion " +minorVersion); + return minorVersion; + } - /** - * Does the database store tables in a local file? No - it + /* + * Does the database store tables in a local file? No - it * stores them in a file on the server. * * @return true if so @@ -255,11 +255,11 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData */ public boolean usesLocalFiles() throws SQLException { - Driver.debug("usesLocalFiles " + false); + Driver.debug("usesLocalFiles " + false); return false; } - /** + /* * Does the database use a file for each table? Well, not really, * since it doesnt use local files. * @@ -268,11 +268,11 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData */ public boolean usesLocalFilePerTable() throws SQLException { - Driver.debug("usesLocalFilePerTable " + false); + Driver.debug("usesLocalFilePerTable " + false); return false; } - /** + /* * Does the database treat mixed case unquoted SQL identifiers * as case sensitive and as a result store them in mixed case? * A JDBC-Compliant driver will always return false. @@ -286,11 +286,11 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData */ public boolean supportsMixedCaseIdentifiers() throws SQLException { - Driver.debug("supportsMixedCaseIdentifiers " + false); + Driver.debug("supportsMixedCaseIdentifiers " + false); return false; } - /** + /* * Does the database treat mixed case unquoted SQL identifiers as * case insensitive and store them in upper case? * @@ -298,11 +298,11 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData */ public boolean storesUpperCaseIdentifiers() throws SQLException { - Driver.debug("storesUpperCaseIdentifiers "+false); + Driver.debug("storesUpperCaseIdentifiers "+false); return false; } - /** + /* * Does the database treat mixed case unquoted SQL identifiers as * case insensitive and store them in lower case? * @@ -310,11 +310,11 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData */ public boolean storesLowerCaseIdentifiers() throws SQLException { - Driver.debug("storesLowerCaseIdentifiers " + true); + Driver.debug("storesLowerCaseIdentifiers " + true); return true; } - /** + /* * Does the database treat mixed case unquoted SQL identifiers as * case insensitive and store them in mixed case? * @@ -322,11 +322,11 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData */ public boolean storesMixedCaseIdentifiers() throws SQLException { - Driver.debug("storesMixedCaseIdentifiers " + false); + Driver.debug("storesMixedCaseIdentifiers " + false); return false; } - /** + /* * Does the database treat mixed case quoted SQL identifiers as * case sensitive and as a result store them in mixed case? A * JDBC compliant driver will always return true. @@ -336,11 +336,11 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData */ public boolean supportsMixedCaseQuotedIdentifiers() throws SQLException { - Driver.debug("supportsMixedCaseQuotedIdentifiers " + true); + Driver.debug("supportsMixedCaseQuotedIdentifiers " + true); return true; } - /** + /* * Does the database treat mixed case quoted SQL identifiers as * case insensitive and store them in upper case? * @@ -348,11 +348,11 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData */ public boolean storesUpperCaseQuotedIdentifiers() throws SQLException { - Driver.debug("storesUpperCaseQuotedIdentifiers " + false); + Driver.debug("storesUpperCaseQuotedIdentifiers " + false); return false; } - /** + /* * Does the database treat mixed case quoted SQL identifiers as case * insensitive and store them in lower case? * @@ -360,11 +360,11 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData */ public boolean storesLowerCaseQuotedIdentifiers() throws SQLException { - Driver.debug("storesLowerCaseQuotedIdentifiers " + false); + Driver.debug("storesLowerCaseQuotedIdentifiers " + false); return false; } - /** + /* * Does the database treat mixed case quoted SQL identifiers as case * insensitive and store them in mixed case? * @@ -372,11 +372,11 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData */ public boolean storesMixedCaseQuotedIdentifiers() throws SQLException { - Driver.debug("storesMixedCaseQuotedIdentifiers " + false); + Driver.debug("storesMixedCaseQuotedIdentifiers " + false); return false; } - /** + /* * What is the string used to quote SQL identifiers? This returns * a space if identifier quoting isn't supported. A JDBC Compliant * driver will always use a double quote character. @@ -386,11 +386,11 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData */ public String getIdentifierQuoteString() throws SQLException { - Driver.debug("getIdentifierQuoteString \"" ); + Driver.debug("getIdentifierQuoteString \"" ); return "\""; } - /** + /* * Get a comma separated list of all a database's SQL keywords that * are NOT also SQL92 keywords. * @@ -408,39 +408,39 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData */ public String getSQLKeywords() throws SQLException { - Driver.debug("getSQLKeyWords"); + Driver.debug("getSQLKeyWords"); return "abort,acl,add,aggregate,append,archive,arch_store,backward,binary,change,cluster,copy,database,delimiters,do,extend,explain,forward,heavy,index,inherits,isnull,light,listen,load,merge,nothing,notify,notnull,oids,purge,rename,replace,retrieve,returns,rule,recipe,setof,stdin,stdout,store,vacuum,verbose,version"; } public String getNumericFunctions() throws SQLException { // XXX-Not Implemented - Driver.debug("getNumericFunctions"); + Driver.debug("getNumericFunctions"); return ""; } public String getStringFunctions() throws SQLException { // XXX-Not Implemented - Driver.debug("getStringFunctions"); + Driver.debug("getStringFunctions"); return ""; } public String getSystemFunctions() throws SQLException { // XXX-Not Implemented - Driver.debug("getSystemFunctions"); + Driver.debug("getSystemFunctions"); return ""; } public String getTimeDateFunctions() throws SQLException { // XXX-Not Implemented - Driver.debug("getTimeDateFunctions"); + Driver.debug("getTimeDateFunctions"); return ""; } - /** + /* * This is the string that can be used to escape '_' and '%' in * a search string pattern style catalog search parameters * @@ -449,11 +449,11 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData */ public String getSearchStringEscape() throws SQLException { - Driver.debug("getSearchStringEscape"); + Driver.debug("getSearchStringEscape"); return "\\"; } - /** + /* * Get all the "extra" characters that can be used in unquoted * identifier names (those beyond a-zA-Z0-9 and _) * @@ -466,11 +466,11 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData */ public String getExtraNameCharacters() throws SQLException { - Driver.debug("getExtraNameCharacters"); + Driver.debug("getExtraNameCharacters"); return ""; } - /** + /* * Is "ALTER TABLE" with an add column supported? * Yes for PostgreSQL 6.1 * @@ -479,11 +479,11 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData */ public boolean supportsAlterTableWithAddColumn() throws SQLException { - Driver.debug("supportsAlterTableWithAddColumn " + true); + Driver.debug("supportsAlterTableWithAddColumn " + true); return true; } - /** + /* * Is "ALTER TABLE" with a drop column supported? * Peter 10/10/2000 This was set to true, but 7.1devel doesn't support it! * @@ -492,11 +492,11 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData */ public boolean supportsAlterTableWithDropColumn() throws SQLException { - Driver.debug("supportsAlterTableWithDropColumn " + false); + Driver.debug("supportsAlterTableWithDropColumn " + false); return false; } - /** + /* * Is column aliasing supported? * *

If so, the SQL AS clause can be used to provide names for @@ -516,11 +516,11 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData */ public boolean supportsColumnAliasing() throws SQLException { - Driver.debug("supportsColumnAliasing " + true); + Driver.debug("supportsColumnAliasing " + true); return true; } - /** + /* * Are concatenations between NULL and non-NULL values NULL? A * JDBC Compliant driver always returns true * @@ -529,25 +529,25 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData */ public boolean nullPlusNonNullIsNull() throws SQLException { - Driver.debug("nullPlusNonNullIsNull " + true); + Driver.debug("nullPlusNonNullIsNull " + true); return true; } public boolean supportsConvert() throws SQLException { // XXX-Not Implemented - Driver.debug("supportsConvert " + false); + Driver.debug("supportsConvert " + false); return false; } public boolean supportsConvert(int fromType, int toType) throws SQLException { // XXX-Not Implemented - Driver.debug("supportsConvert " + false); + Driver.debug("supportsConvert " + false); return false; } - /** + /* * Are table correlation names supported? A JDBC Compliant * driver always returns true. * @@ -556,11 +556,11 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData */ public boolean supportsTableCorrelationNames() throws SQLException { - Driver.debug("supportsTableCorrelationNames " + true); + Driver.debug("supportsTableCorrelationNames " + true); return true; } - /** + /* * If table correlation names are supported, are they restricted to * be different from the names of the tables? * @@ -569,11 +569,11 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData */ public boolean supportsDifferentTableCorrelationNames() throws SQLException { - Driver.debug("supportsDifferentTableCorrelationNames " + false); + Driver.debug("supportsDifferentTableCorrelationNames " + false); return false; } - /** + /* * Are expressions in "ORDER BY" lists supported? * *
e.g. select * from t order by a + b; @@ -583,11 +583,11 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData */ public boolean supportsExpressionsInOrderBy() throws SQLException { - Driver.debug("supportsExpressionsInOrderBy " + true); + Driver.debug("supportsExpressionsInOrderBy " + true); return true; } - /** + /* * Can an "ORDER BY" clause use columns not in the SELECT? * * @return true if so @@ -595,12 +595,12 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData */ public boolean supportsOrderByUnrelated() throws SQLException { - boolean supportsOrderByUnrelated = connection.haveMinimumServerVersion("6.4"); - Driver.debug("supportsOrderByUnrelated " + supportsOrderByUnrelated); - return supportsOrderByUnrelated; + boolean supportsOrderByUnrelated = connection.haveMinimumServerVersion("6.4"); + Driver.debug("supportsOrderByUnrelated " + supportsOrderByUnrelated); + return supportsOrderByUnrelated; } - /** + /* * Is some form of "GROUP BY" clause supported? * I checked it, and yes it is. * @@ -609,11 +609,11 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData */ public boolean supportsGroupBy() throws SQLException { - Driver.debug("supportsGroupBy " + true); + Driver.debug("supportsGroupBy " + true); return true; } - /** + /* * Can a "GROUP BY" clause use columns not in the SELECT? * * @return true if so @@ -621,15 +621,14 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData */ public boolean supportsGroupByUnrelated() throws SQLException { - boolean supportsGroupByUnrelated = connection.haveMinimumServerVersion("6.4"); - Driver.debug("supportsGroupByUnrelated "+ supportsGroupByUnrelated); - return supportsGroupByUnrelated; - + boolean supportsGroupByUnrelated = connection.haveMinimumServerVersion("6.4"); + Driver.debug("supportsGroupByUnrelated "+ supportsGroupByUnrelated); + return supportsGroupByUnrelated; } - /** + /* * Can a "GROUP BY" clause add columns not in the SELECT provided - * it specifies all the columns in the SELECT? Does anyone actually + * it specifies all the columns in the SELECT? Does anyone actually * understand what they mean here? * * (I think this is a subset of the previous function. -- petere) @@ -639,12 +638,12 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData */ public boolean supportsGroupByBeyondSelect() throws SQLException { - boolean supportsGroupByBeyondSelect = connection.haveMinimumServerVersion("6.4"); - Driver.debug("supportsGroupByUnrelated " + supportsGroupByBeyondSelect); - return supportsGroupByBeyondSelect; + boolean supportsGroupByBeyondSelect = connection.haveMinimumServerVersion("6.4"); + Driver.debug("supportsGroupByUnrelated " + supportsGroupByBeyondSelect); + return supportsGroupByBeyondSelect; } - /** + /* * Is the escape character in "LIKE" clauses supported? A * JDBC compliant driver always returns true. * @@ -653,12 +652,12 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData */ public boolean supportsLikeEscapeClause() throws SQLException { - boolean supportsLikeEscapeClause = connection.haveMinimumServerVersion("7.1"); - Driver.debug("supportsLikeEscapeClause " + supportsLikeEscapeClause); - return supportsLikeEscapeClause; + boolean supportsLikeEscapeClause = connection.haveMinimumServerVersion("7.1"); + Driver.debug("supportsLikeEscapeClause " + supportsLikeEscapeClause); + return supportsLikeEscapeClause; } - /** + /* * Are multiple ResultSets from a single execute supported? * Well, I implemented it, but I dont think this is possible from * the back ends point of view. @@ -668,11 +667,11 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData */ public boolean supportsMultipleResultSets() throws SQLException { - Driver.debug("supportsMultipleResultSets " + false); + Driver.debug("supportsMultipleResultSets " + false); return false; } - /** + /* * Can we have multiple transactions open at once (on different * connections?) * I guess we can have, since Im relying on it. @@ -682,12 +681,12 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData */ public boolean supportsMultipleTransactions() throws SQLException { - Driver.debug("supportsMultipleTransactions " + true); - return true; - } + Driver.debug("supportsMultipleTransactions " + true); + return true; + } - /** - * Can columns be defined as non-nullable. A JDBC Compliant driver + /* + * Can columns be defined as non-nullable. A JDBC Compliant driver * always returns true. * *

This changed from false to true in v6.2 of the driver, as this @@ -698,11 +697,11 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData */ public boolean supportsNonNullableColumns() throws SQLException { - Driver.debug("supportsNonNullableColumns true"); + Driver.debug("supportsNonNullableColumns true"); return true; } - /** + /* * Does this driver support the minimum ODBC SQL grammar. This * grammar is defined at: * @@ -716,12 +715,12 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData */ public boolean supportsMinimumSQLGrammar() throws SQLException { - Driver.debug("supportsMinimumSQLGrammar TRUE"); - return true; - } + Driver.debug("supportsMinimumSQLGrammar TRUE"); + return true; + } - /** - * Does this driver support the Core ODBC SQL grammar. We need + /* + * Does this driver support the Core ODBC SQL grammar. We need * SQL-92 conformance for this. * * @return true if so @@ -729,11 +728,11 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData */ public boolean supportsCoreSQLGrammar() throws SQLException { - Driver.debug("supportsCoreSQLGrammar FALSE "); + Driver.debug("supportsCoreSQLGrammar FALSE "); return false; } - /** + /* * Does this driver support the Extended (Level 2) ODBC SQL * grammar. We don't conform to the Core (Level 1), so we can't * conform to the Extended SQL Grammar. @@ -743,11 +742,11 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData */ public boolean supportsExtendedSQLGrammar() throws SQLException { - Driver.debug("supportsExtendedSQLGrammar FALSE"); + Driver.debug("supportsExtendedSQLGrammar FALSE"); return false; } - /** + /* * Does this driver support the ANSI-92 entry level SQL grammar? * All JDBC Compliant drivers must return true. We currently * report false until 'schema' support is added. Then this @@ -761,11 +760,11 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData */ public boolean supportsANSI92EntryLevelSQL() throws SQLException { - Driver.debug("supportsANSI92EntryLevelSQL false "); + Driver.debug("supportsANSI92EntryLevelSQL false "); return false; } - /** + /* * Does this driver support the ANSI-92 intermediate level SQL * grammar? * @@ -774,11 +773,11 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData */ public boolean supportsANSI92IntermediateSQL() throws SQLException { - Driver.debug("supportsANSI92IntermediateSQL false "); + Driver.debug("supportsANSI92IntermediateSQL false "); return false; } - /** + /* * Does this driver support the ANSI-92 full SQL grammar? * * @return true if so @@ -786,11 +785,11 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData */ public boolean supportsANSI92FullSQL() throws SQLException { - Driver.debug("supportsANSI92FullSQL false "); + Driver.debug("supportsANSI92FullSQL false "); return false; } - /** + /* * Is the SQL Integrity Enhancement Facility supported? * I haven't seen this mentioned anywhere, so I guess not * @@ -799,11 +798,11 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData */ public boolean supportsIntegrityEnhancementFacility() throws SQLException { - Driver.debug("supportsIntegrityEnhancementFacility false "); + Driver.debug("supportsIntegrityEnhancementFacility false "); return false; } - /** + /* * Is some form of outer join supported? * * @return true if so @@ -811,12 +810,12 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData */ public boolean supportsOuterJoins() throws SQLException { - boolean supportsOuterJoins = connection.haveMinimumServerVersion("7.1"); - Driver.debug("supportsOuterJoins " + supportsOuterJoins); - return supportsOuterJoins; + boolean supportsOuterJoins = connection.haveMinimumServerVersion("7.1"); + Driver.debug("supportsOuterJoins " + supportsOuterJoins); + return supportsOuterJoins; } - /** + /* * Are full nexted outer joins supported? * * @return true if so @@ -824,12 +823,12 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData */ public boolean supportsFullOuterJoins() throws SQLException { - boolean supportsFullOuterJoins = connection.haveMinimumServerVersion("7.1"); - Driver.debug("supportsFullOuterJoins " + supportsFullOuterJoins); - return supportsFullOuterJoins; + boolean supportsFullOuterJoins = connection.haveMinimumServerVersion("7.1"); + Driver.debug("supportsFullOuterJoins " + supportsFullOuterJoins); + return supportsFullOuterJoins; } - /** + /* * Is there limited support for outer joins? * * @return true if so @@ -837,12 +836,12 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData */ public boolean supportsLimitedOuterJoins() throws SQLException { - boolean supportsLimitedOuterJoins = connection.haveMinimumServerVersion("7.1"); - Driver.debug("supportsFullOuterJoins " + supportsLimitedOuterJoins); - return supportsLimitedOuterJoins; + boolean supportsLimitedOuterJoins = connection.haveMinimumServerVersion("7.1"); + Driver.debug("supportsFullOuterJoins " + supportsLimitedOuterJoins); + return supportsLimitedOuterJoins; } - /** + /* * What is the database vendor's preferred term for "schema"? * PostgreSQL doesn't have schemas, but when it does, we'll use the * term "schema". @@ -852,11 +851,11 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData */ public String getSchemaTerm() throws SQLException { - Driver.debug("getSchemaTerm schema"); + Driver.debug("getSchemaTerm schema"); return "schema"; } - /** + /* * What is the database vendor's preferred term for "procedure"? * Traditionally, "function" has been used. * @@ -865,11 +864,11 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData */ public String getProcedureTerm() throws SQLException { - Driver.debug("getProcedureTerm function "); + Driver.debug("getProcedureTerm function "); return "function"; } - /** + /* * What is the database vendor's preferred term for "catalog"? * * @return the vendor term @@ -877,11 +876,11 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData */ public String getCatalogTerm() throws SQLException { - Driver.debug("getCatalogTerm database "); + Driver.debug("getCatalogTerm database "); return "database"; } - /** + /* * Does a catalog appear at the start of a qualified table name? * (Otherwise it appears at the end). * @@ -890,13 +889,13 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData */ public boolean isCatalogAtStart() throws SQLException { - // return true here; we return false for every other catalog function - // so it won't matter what we return here D.C. - Driver.debug("isCatalogAtStart not implemented"); - return true; + // return true here; we return false for every other catalog function + // so it won't matter what we return here D.C. + Driver.debug("isCatalogAtStart not implemented"); + return true; } - /** + /* * What is the Catalog separator. * * @return the catalog separator string @@ -904,25 +903,25 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData */ public String getCatalogSeparator() throws SQLException { - // Give them something to work with here - // everything else returns false so it won't matter what we return here D.C. - Driver.debug("getCatalogSeparator not implemented "); - return "."; - } + // Give them something to work with here + // everything else returns false so it won't matter what we return here D.C. + Driver.debug("getCatalogSeparator not implemented "); + return "."; + } - /** - * Can a schema name be used in a data manipulation statement? Nope. + /* + * Can a schema name be used in a data manipulation statement? Nope. * * @return true if so * @exception SQLException if a database access error occurs */ public boolean supportsSchemasInDataManipulation() throws SQLException { - Driver.debug("supportsSchemasInDataManipulation false"); + Driver.debug("supportsSchemasInDataManipulation false"); return false; } - /** + /* * Can a schema name be used in a procedure call statement? Nope. * * @return true if so @@ -930,11 +929,11 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData */ public boolean supportsSchemasInProcedureCalls() throws SQLException { - Driver.debug("supportsSchemasInProcedureCalls false"); + Driver.debug("supportsSchemasInProcedureCalls false"); return false; } - /** + /* * Can a schema be used in a table definition statement? Nope. * * @return true if so @@ -942,11 +941,11 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData */ public boolean supportsSchemasInTableDefinitions() throws SQLException { - Driver.debug("supportsSchemasInTableDefinitions false"); + Driver.debug("supportsSchemasInTableDefinitions false"); return false; } - /** + /* * Can a schema name be used in an index definition statement? * * @return true if so @@ -954,11 +953,11 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData */ public boolean supportsSchemasInIndexDefinitions() throws SQLException { - Driver.debug("supportsSchemasInIndexDefinitions false"); + Driver.debug("supportsSchemasInIndexDefinitions false"); return false; } - /** + /* * Can a schema name be used in a privilege definition statement? * * @return true if so @@ -966,11 +965,11 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData */ public boolean supportsSchemasInPrivilegeDefinitions() throws SQLException { - Driver.debug("supportsSchemasInPrivilegeDefinitions false"); + Driver.debug("supportsSchemasInPrivilegeDefinitions false"); return false; } - /** + /* * Can a catalog name be used in a data manipulation statement? * * @return true if so @@ -978,11 +977,11 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData */ public boolean supportsCatalogsInDataManipulation() throws SQLException { - Driver.debug("supportsCatalogsInDataManipulation false"); + Driver.debug("supportsCatalogsInDataManipulation false"); return false; } - /** + /* * Can a catalog name be used in a procedure call statement? * * @return true if so @@ -990,11 +989,11 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData */ public boolean supportsCatalogsInProcedureCalls() throws SQLException { - Driver.debug("supportsCatalogsInDataManipulation false"); + Driver.debug("supportsCatalogsInDataManipulation false"); return false; } - /** + /* * Can a catalog name be used in a table definition statement? * * @return true if so @@ -1002,11 +1001,11 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData */ public boolean supportsCatalogsInTableDefinitions() throws SQLException { - Driver.debug("supportsCatalogsInTableDefinitions false"); + Driver.debug("supportsCatalogsInTableDefinitions false"); return false; } - /** + /* * Can a catalog name be used in an index definition? * * @return true if so @@ -1014,11 +1013,11 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData */ public boolean supportsCatalogsInIndexDefinitions() throws SQLException { - Driver.debug("supportsCatalogsInIndexDefinitions false"); + Driver.debug("supportsCatalogsInIndexDefinitions false"); return false; } - /** + /* * Can a catalog name be used in a privilege definition statement? * * @return true if so @@ -1026,11 +1025,11 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData */ public boolean supportsCatalogsInPrivilegeDefinitions() throws SQLException { - Driver.debug("supportsCatalogsInPrivilegeDefinitions false"); + Driver.debug("supportsCatalogsInPrivilegeDefinitions false"); return false; } - /** + /* * We support cursors for gets only it seems. I dont see a method * to get a positioned delete. * @@ -1039,11 +1038,11 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData */ public boolean supportsPositionedDelete() throws SQLException { - Driver.debug("supportsPositionedDelete false"); + Driver.debug("supportsPositionedDelete false"); return false; // For now... } - /** + /* * Is positioned UPDATE supported? * * @return true if so @@ -1051,11 +1050,11 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData */ public boolean supportsPositionedUpdate() throws SQLException { - Driver.debug("supportsPositionedUpdate false"); + Driver.debug("supportsPositionedUpdate false"); return false; // For now... } - /** + /* * Is SELECT for UPDATE supported? * * @return true if so; false otherwise @@ -1066,7 +1065,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData return connection.haveMinimumServerVersion("6.5"); } - /** + /* * Are stored procedure calls using the stored procedure escape * syntax supported? * @@ -1078,7 +1077,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData return false; } - /** + /* * Are subqueries in comparison expressions supported? A JDBC * Compliant driver always returns true. * @@ -1090,7 +1089,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData return true; } - /** + /* * Are subqueries in 'exists' expressions supported? A JDBC * Compliant driver always returns true. * @@ -1102,7 +1101,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData return true; } - /** + /* * Are subqueries in 'in' statements supported? A JDBC * Compliant driver always returns true. * @@ -1114,7 +1113,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData return true; } - /** + /* * Are subqueries in quantified expressions supported? A JDBC * Compliant driver always returns true. * @@ -1129,7 +1128,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData return true; } - /** + /* * Are correlated subqueries supported? A JDBC Compliant driver * always returns true. * @@ -1143,7 +1142,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData return connection.haveMinimumServerVersion("7.1"); } - /** + /* * Is SQL UNION supported? * * @return true if so @@ -1154,7 +1153,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData return true; // since 6.3 } - /** + /* * Is SQL UNION ALL supported? * * @return true if so @@ -1165,7 +1164,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData return connection.haveMinimumServerVersion("7.1"); } - /** + /* * In PostgreSQL, Cursors are only open within transactions. * * @return true if so @@ -1176,7 +1175,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData return false; } - /** + /* * Do we support open cursors across multiple transactions? * * @return true if so @@ -1187,7 +1186,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData return false; } - /** + /* * Can statements remain open across commits? They may, but * this driver cannot guarentee that. In further reflection. * we are talking a Statement object here, so the answer is @@ -1201,7 +1200,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData return true; } - /** + /* * Can statements remain open across rollbacks? They may, but * this driver cannot guarentee that. In further contemplation, * we are talking a Statement object here, so the answer is yes, @@ -1215,7 +1214,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData return true; } - /** + /* * How many hex characters can you have in an inline binary literal * * @return the max literal length @@ -1226,7 +1225,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData return 0; // no limit } - /** + /* * What is the maximum length for a character literal * I suppose it is 8190 (8192 - 2 for the quotes) * @@ -1238,7 +1237,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData return 0; // no limit } - /** + /* * Whats the limit on column name length. The description of * pg_class would say '32' (length of pg_class.relname) - we * should probably do a query for this....but.... @@ -1251,7 +1250,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData return 32; } - /** + /* * What is the maximum number of columns in a "GROUP BY" clause? * * @return the max number of columns @@ -1262,7 +1261,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData return 0; // no limit } - /** + /* * What's the maximum number of columns allowed in an index? * 6.0 only allowed one column, but 6.1 introduced multi-column * indices, so, theoretically, its all of them. @@ -1275,7 +1274,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData return getMaxColumnsInTable(); } - /** + /* * What's the maximum number of columns in an "ORDER BY clause? * * @return the max columns @@ -1286,7 +1285,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData return 0; // no limit } - /** + /* * What is the maximum number of columns in a "SELECT" list? * * @return the max columns @@ -1297,7 +1296,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData return 0; // no limit } - /** + /* * What is the maximum number of columns in a table? From the * CREATE TABLE reference page... * @@ -1314,7 +1313,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData return 1600; } - /** + /* * How many active connection can we have at a time to this * database? Well, since it depends on postmaster, which just * does a listen() followed by an accept() and fork(), its @@ -1331,7 +1330,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData return 8192; } - /** + /* * What is the maximum cursor name length (the same as all * the other F***** identifiers!) * @@ -1343,7 +1342,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData return 32; } - /** + /* * Retrieves the maximum number of bytes for an index, including all * of the parts of the index. * @@ -1363,7 +1362,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData return 0; } - /** + /* * What is the maximum length of a procedure name? * (length of pg_proc.proname used) - again, I really * should do a query here to get it. @@ -1382,7 +1381,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData return 0; } - /** + /* * What is the maximum length of a single row? * * @return max row size in bytes @@ -1396,7 +1395,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData return 8192; // XXX could be altered } - /** + /* * Did getMaxRowSize() include LONGVARCHAR and LONGVARBINARY * blobs? We don't handle blobs yet * @@ -1408,7 +1407,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData return false; } - /** + /* * What is the maximum length of a SQL statement? * * @return max length in bytes @@ -1422,7 +1421,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData return 16384; } - /** + /* * How many active statements can we have open at one time to * this database? Basically, since each Statement downloads * the results as the query is executed, we can have many. However, @@ -1438,7 +1437,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData return 1; } - /** + /* * What is the maximum length of a table name? This was found * from pg_class.relname length * @@ -1450,7 +1449,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData return 32; } - /** + /* * What is the maximum number of tables that can be specified * in a SELECT? * @@ -1462,7 +1461,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData return 0; // no limit } - /** + /* * What is the maximum length of a user name? Well, we generally * use UNIX like user names in PostgreSQL, so I think this would * be 8. However, showing the schema for pg_user shows a length @@ -1477,7 +1476,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData } - /** + /* * What is the database's default transaction isolation level? We * do not support this, so all transactions are SERIALIZABLE. * @@ -1490,7 +1489,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData return Connection.TRANSACTION_READ_COMMITTED; } - /** + /* * Are transactions supported? If not, commit and rollback are noops * and the isolation level is TRANSACTION_NONE. We do support * transactions. @@ -1503,7 +1502,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData return true; } - /** + /* * Does the database support the given transaction isolation level? * We only support TRANSACTION_SERIALIZABLE and TRANSACTION_READ_COMMITTED * @@ -1521,7 +1520,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData return false; } - /** + /* * Are both data definition and data manipulation transactions * supported? * @@ -1533,7 +1532,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData return true; } - /** + /* * Are only data manipulation statements withing a transaction * supported? * @@ -1545,7 +1544,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData return false; } - /** + /* * Does a data definition statement within a transaction force * the transaction to commit? I think this means something like: * @@ -1569,7 +1568,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData return false; } - /** + /* * Is a data definition statement within a transaction ignored? * It seems to be (from experiment in previous method) * @@ -1581,7 +1580,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData return true; } - /** + /* * Get a description of stored procedures available in a catalog * *

Only procedure descriptions matching the schema and procedure @@ -1653,7 +1652,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData return new ResultSet(connection, f, v, "OK", 1); } - /** + /* * Get a description of a catalog's stored procedure parameters * and result columns. * @@ -1731,7 +1730,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData return new ResultSet(connection, f, v, "OK", 1); } - /** + /* * Get a description of tables available in a catalog. * *

Only table descriptions matching the catalog, schema, table @@ -1881,7 +1880,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData "TABLE", "VIEW", "INDEX", "SEQUENCE" }; - /** + /* * Get the schema names available in this database. The results * are ordered by schema name. * @@ -1906,7 +1905,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData return new ResultSet(connection, f, v, "OK", 1); } - /** + /* * Get the catalog names available in this database. The results * are ordered by catalog name. * @@ -1923,7 +1922,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData return connection.createStatement().executeQuery("select datname as TABLE_CAT from pg_database;"); } - /** + /* * Get the table types available in this database. The results * are ordered by table type. * @@ -1951,7 +1950,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData return new ResultSet(connection, f, v, "OK", 1); } - /** + /* * Get a description of table columns available in a catalog. * *

Only column descriptions matching the catalog, schema, table @@ -2143,7 +2142,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData return new ResultSet(connection, f, v, "OK", 1); } - /** + /* * Get a description of the access rights for a table's columns. * *

Only privileges matching the column name criteria are @@ -2207,7 +2206,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData return new ResultSet(connection, f, v, "OK", 1); } - /** + /* * Get a description of the access rights for each table available * in a catalog. * @@ -2240,36 +2239,36 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData */ public java.sql.ResultSet getTablePrivileges(String catalog, String schemaPattern, String tableNamePattern) throws SQLException { - Field f[] = new Field[8]; - Vector v = new Vector(); - - if(tableNamePattern == null) - tableNamePattern = "%"; + Field f[] = new Field[8]; + Vector v = new Vector(); - f[0] = new Field(connection,"TABLE_CAT",iVarcharOid,32); - f[1] = new Field(connection,"TABLE_SCHEM",iVarcharOid,32); - f[2] = new Field(connection,"TABLE_NAME",iVarcharOid,32); - f[3] = new Field(connection,"COLUMN_NAME",iVarcharOid,32); - f[4] = new Field(connection,"GRANTOR",iVarcharOid,32); - f[5] = new Field(connection,"GRANTEE",iVarcharOid,32); - f[6] = new Field(connection,"PRIVILEGE",iVarcharOid,32); - f[7] = new Field(connection,"IS_GRANTABLE",iVarcharOid,32); + if (tableNamePattern == null) + tableNamePattern = "%"; - // This is taken direct from the psql source - java.sql.ResultSet r = connection.ExecSQL("SELECT relname, relacl FROM pg_class, pg_user WHERE ( relkind = 'r' OR relkind = 'i') and relname !~ '^pg_' and relname !~ '^xin[vx][0-9]+' and usesysid = relowner and relname like '"+tableNamePattern.toLowerCase()+"' ORDER BY relname"); - while(r.next()) { - byte[][] tuple = new byte[8][0]; - tuple[0] = tuple[1]= "".getBytes(); - DriverManager.println("relname=\""+r.getString(1)+"\" relacl=\""+r.getString(2)+"\""); + f[0] = new Field(connection,"TABLE_CAT",iVarcharOid,32); + f[1] = new Field(connection,"TABLE_SCHEM",iVarcharOid,32); + f[2] = new Field(connection,"TABLE_NAME",iVarcharOid,32); + f[3] = new Field(connection,"COLUMN_NAME",iVarcharOid,32); + f[4] = new Field(connection,"GRANTOR",iVarcharOid,32); + f[5] = new Field(connection,"GRANTEE",iVarcharOid,32); + f[6] = new Field(connection,"PRIVILEGE",iVarcharOid,32); + f[7] = new Field(connection,"IS_GRANTABLE",iVarcharOid,32); - // For now, don't add to the result as relacl needs to be processed. - //v.addElement(tuple); - } + // This is taken direct from the psql source + java.sql.ResultSet r = connection.ExecSQL("SELECT relname, relacl FROM pg_class, pg_user WHERE ( relkind = 'r' OR relkind = 'i') and relname !~ '^pg_' and relname !~ '^xin[vx][0-9]+' and usesysid = relowner and relname like '"+tableNamePattern.toLowerCase()+"' ORDER BY relname"); + while (r.next()) { + byte[][] tuple = new byte[8][0]; + tuple[0] = tuple[1]= "".getBytes(); + DriverManager.println("relname=\""+r.getString(1)+"\" relacl=\""+r.getString(2)+"\""); + + // For now, don't add to the result as relacl needs to be processed. + //v.addElement(tuple); + } - return new ResultSet(connection,f,v,"OK",1); + return new ResultSet(connection,f,v,"OK",1); } - /** + /* * Get a description of a table's optimal set of columns that * uniquely identifies a row. They are ordered by SCOPE. * @@ -2325,7 +2324,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData return new ResultSet(connection, f, v, "OK", 1); } - /** + /* * Get a description of a table's columns that are automatically * updated when any value in a row is updated. They are * unordered. @@ -2360,7 +2359,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData throw org.postgresql.Driver.notImplemented(); } - /** + /* * Get a description of a table's primary key columns. They * are ordered by COLUMN_NAME. * @@ -2400,69 +2399,69 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData ); } - private java.sql.ResultSet getImportedExportedKeys(String catalog, String schema, String primaryTable, String foreignTable) throws SQLException - { - Field f[]=new Field[14]; - - f[0]=new Field(connection, "PKTABLE_CAT", iVarcharOid, 32); - f[1]=new Field(connection, "PKTABLE_SCHEM", iVarcharOid, 32); - f[2]=new Field(connection, "PKTABLE_NAME", iVarcharOid, 32); - f[3]=new Field(connection, "PKCOLUMN_NAME", iVarcharOid, 32); - f[4]=new Field(connection, "FKTABLE_CAT", iVarcharOid, 32); - f[5]=new Field(connection, "FKTABLE_SCHEM", iVarcharOid, 32); - f[6]=new Field(connection, "FKTABLE_NAME", iVarcharOid, 32); - f[7]=new Field(connection, "FKCOLUMN_NAME", iVarcharOid, 32); - f[8]=new Field(connection, "KEY_SEQ", iInt2Oid, 2); - f[9]=new Field(connection, "UPDATE_RULE", iInt2Oid, 2); - f[10]=new Field(connection, "DELETE_RULE", iInt2Oid, 2); - f[11]=new Field(connection, "FK_NAME", iVarcharOid, 32); - f[12]=new Field(connection, "PK_NAME", iVarcharOid, 32); - f[13]=new Field(connection, "DEFERRABILITY", iInt2Oid, 2); - - java.sql.ResultSet rs = connection.ExecSQL("SELECT c.relname,c2.relname," - + "t.tgconstrname,ic.relname," - + "t.tgdeferrable,t.tginitdeferred," - + "t.tgnargs,t.tgargs,p.proname " - + "FROM pg_trigger t,pg_class c,pg_class c2," - + "pg_class ic,pg_proc p, pg_index i " - + "WHERE t.tgrelid=c.oid AND t.tgconstrrelid=c2.oid " - + "AND t.tgfoid=p.oid AND tgisconstraint " - + ((primaryTable!=null) ? "AND c2.relname='"+primaryTable+"' " : "") - + ((foreignTable!=null) ? "AND c.relname='"+foreignTable+"' " : "") - + "AND i.indrelid=c.oid " - + "AND i.indexrelid=ic.oid AND i.indisprimary " - + "ORDER BY c.relname,c2.relname" - ); - Vector tuples = new Vector(); - short seq=0; - if(rs.next()) { + private java.sql.ResultSet getImportedExportedKeys(String catalog, String schema, String primaryTable, String foreignTable) throws SQLException + { + Field f[]=new Field[14]; + + f[0]=new Field(connection, "PKTABLE_CAT", iVarcharOid, 32); + f[1]=new Field(connection, "PKTABLE_SCHEM", iVarcharOid, 32); + f[2]=new Field(connection, "PKTABLE_NAME", iVarcharOid, 32); + f[3]=new Field(connection, "PKCOLUMN_NAME", iVarcharOid, 32); + f[4]=new Field(connection, "FKTABLE_CAT", iVarcharOid, 32); + f[5]=new Field(connection, "FKTABLE_SCHEM", iVarcharOid, 32); + f[6]=new Field(connection, "FKTABLE_NAME", iVarcharOid, 32); + f[7]=new Field(connection, "FKCOLUMN_NAME", iVarcharOid, 32); + f[8]=new Field(connection, "KEY_SEQ", iInt2Oid, 2); + f[9]=new Field(connection, "UPDATE_RULE", iInt2Oid, 2); + f[10]=new Field(connection, "DELETE_RULE", iInt2Oid, 2); + f[11]=new Field(connection, "FK_NAME", iVarcharOid, 32); + f[12]=new Field(connection, "PK_NAME", iVarcharOid, 32); + f[13]=new Field(connection, "DEFERRABILITY", iInt2Oid, 2); + + java.sql.ResultSet rs = connection.ExecSQL("SELECT c.relname,c2.relname," + + "t.tgconstrname,ic.relname," + + "t.tgdeferrable,t.tginitdeferred," + + "t.tgnargs,t.tgargs,p.proname " + + "FROM pg_trigger t,pg_class c,pg_class c2," + + "pg_class ic,pg_proc p, pg_index i " + + "WHERE t.tgrelid=c.oid AND t.tgconstrrelid=c2.oid " + + "AND t.tgfoid=p.oid AND tgisconstraint " + + ((primaryTable!=null) ? "AND c2.relname='"+primaryTable+"' " : "") + + ((foreignTable!=null) ? "AND c.relname='"+foreignTable+"' " : "") + + "AND i.indrelid=c.oid " + + "AND i.indexrelid=ic.oid AND i.indisprimary " + + "ORDER BY c.relname,c2.relname" + ); + Vector tuples = new Vector(); + short seq=0; + if (rs.next()) { boolean hasMore; do { - byte tuple[][]=new byte[14][0]; - for (int k = 0;k < 14;k++) + byte tuple[][]=new byte[14][0]; + for (int k = 0;k < 14;k++) tuple[k] = null; - String fKeyName=rs.getString(3); - boolean foundRule=false; - do { + String fKeyName=rs.getString(3); + boolean foundRule=false; + do { String proname=rs.getString(9); - if(proname!=null && proname.startsWith("RI_FKey_")) { - int col=-1; - if(proname.endsWith("_upd")) col=9; // UPDATE_RULE - else if(proname.endsWith("_del")) col=10; // DELETE_RULE - if(col>-1) { + if (proname!=null && proname.startsWith("RI_FKey_")) { + int col=-1; + if (proname.endsWith("_upd")) col=9; // UPDATE_RULE + else if (proname.endsWith("_del")) col=10; // DELETE_RULE + if (col>-1) { String rule=proname.substring(8, proname.length()-4); int action=importedKeyNoAction; - if("cascade".equals(rule)) action=importedKeyCascade; - else if("setnull".equals(rule)) action=importedKeySetNull; - else if("setdefault".equals(rule)) action=importedKeySetDefault; + if ("cascade".equals(rule)) action=importedKeyCascade; + else if ("setnull".equals(rule)) action=importedKeySetNull; + else if ("setdefault".equals(rule)) action=importedKeySetDefault; tuple[col]=Integer.toString(action).getBytes(); foundRule=true; - } + } } - } while((hasMore=rs.next()) && fKeyName.equals(rs.getString(3))); + } while ((hasMore=rs.next()) && fKeyName.equals(rs.getString(3))); - if(foundRule) { + if (foundRule) { tuple[2]=rs.getBytes(2); //PKTABLE_NAME tuple[6]=rs.getBytes(1); //FKTABLE_NAME @@ -2473,18 +2472,18 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData String s=rs.getString(8); int pos=s.lastIndexOf("\\000"); for(int c=0;c-1) { + if (pos>-1) { int pos2=s.lastIndexOf("\\000", pos-1); - if(pos2>-1) { - if(fkeyColumns.length()>0) fkeyColumns.insert(0, ','); - fkeyColumns.insert(0, s.substring(pos2+4, pos)); //FKCOLUMN_NAME - pos=s.lastIndexOf("\\000", pos2-1); - if(pos>-1) { - if(pkeyColumns.length()>0) pkeyColumns.insert(0, ','); + if (pos2>-1) { + if (fkeyColumns.length()>0) fkeyColumns.insert(0, ','); + fkeyColumns.insert(0, s.substring(pos2+4, pos)); //FKCOLUMN_NAME + pos=s.lastIndexOf("\\000", pos2-1); + if (pos>-1) { + if (pkeyColumns.length()>0) pkeyColumns.insert(0, ','); pkeyColumns.insert(0, s.substring(pos+4, pos2)); //PKCOLUMN_NAME - } + } + } } - } } tuple[7]=fkeyColumns.toString().getBytes(); //FKCOLUMN_NAME tuple[3]=pkeyColumns.toString().getBytes(); //PKCOLUMN_NAME @@ -2497,23 +2496,23 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData int deferrability=importedKeyNotDeferrable; boolean deferrable=rs.getBoolean(5); boolean initiallyDeferred=rs.getBoolean(6); - if(deferrable) { - if(initiallyDeferred) + if (deferrable) { + if (initiallyDeferred) deferrability=importedKeyInitiallyDeferred; - else + else deferrability=importedKeyInitiallyImmediate; } tuple[13]=Integer.toString(deferrability).getBytes(); tuples.addElement(tuple); - } - } while(hasMore); - } + } + } while (hasMore); + } - return new ResultSet(connection, f, tuples, "OK", 1); + return new ResultSet(connection, f, tuples, "OK", 1); } - /** + /* * Get a description of the primary key columns that are * referenced by a table's foreign key columns (the primary keys * imported by a table). They are ordered by PKTABLE_CAT, @@ -2567,9 +2566,9 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData public java.sql.ResultSet getImportedKeys(String catalog, String schema, String table) throws SQLException { return getImportedExportedKeys(catalog, schema, null, table); - } + } - /** + /* * Get a description of a foreign key columns that reference a * table's primary key columns (the foreign keys exported by a * table). They are ordered by FKTABLE_CAT, FKTABLE_SCHEM, @@ -2627,7 +2626,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData return getImportedExportedKeys(catalog, schema, table, null); } - /** + /* * Get a description of the foreign key columns in the foreign key * table that reference the primary key columns of the primary key * table (describe how one table imports another's key.) This @@ -2688,7 +2687,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData return getImportedExportedKeys(primaryCatalog, primarySchema, primaryTable, foreignTable); } - /** + /* * Get a description of all the standard SQL types supported by * this database. They are ordered by DATA_TYPE and then by how * closely the data type maps to the corresponding JDBC SQL type. @@ -2795,7 +2794,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData throw new PSQLException("postgresql.metadata.unavailable"); } - /** + /* * Get a description of a table's indices and statistics. They are * ordered by NON_UNIQUE, TYPE, INDEX_NAME, and ORDINAL_POSITION. * @@ -2903,8 +2902,8 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData tuple[0] = "".getBytes(); tuple[1] = "".getBytes(); tuple[2] = r.getBytes(1); - tuple[3] = r.getBoolean(2) ? "false".getBytes() : "true".getBytes(); - tuple[4] = null; + tuple[3] = r.getBoolean(2) ? "false".getBytes() : "true".getBytes(); + tuple[4] = null; tuple[5] = r.getBytes(3); tuple[6] = r.getBoolean(4) ? Integer.toString(tableIndexClustered).getBytes() : @@ -2913,10 +2912,10 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData Integer.toString(tableIndexOther).getBytes(); tuple[7] = Integer.toString(i + 1).getBytes(); java.sql.ResultSet columnNameRS = connection.ExecSQL("select a.attname FROM pg_attribute a WHERE (a.attnum = " + columnOrdinals[i] + ") AND (a.attrelid = " + r.getInt(9) + ")"); - if(columnNameRS.next()) - tuple[8] = columnNameRS.getBytes(1); - else - tuple[8] = "".getBytes(); + if (columnNameRS.next()) + tuple[8] = columnNameRS.getBytes(1); + else + tuple[8] = "".getBytes(); tuple[8] = columnNameRS.getBytes(1); tuple[9] = null; // sort sequence ??? tuple[10] = r.getBytes(7); // inexact @@ -2932,7 +2931,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData // ** JDBC 2 Extensions ** - /** + /* * Does the database support the given result set type? * * @param type - defined in java.sql.ResultSet @@ -2946,7 +2945,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData } - /** + /* * Does the database support the concurrency type in combination * with the given result set type? * @@ -3016,7 +3015,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData return false; } - /** + /* * Indicates whether the driver supports batch updates. */ public boolean supportsBatchUpdates() throws SQLException @@ -3024,7 +3023,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData return true; } - /** + /* * Return user defined types in a schema */ public java.sql.ResultSet getUDTs(String catalog, @@ -3037,7 +3036,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData } - /** + /* * Retrieves the connection that produced this metadata object. * * @return the connection that produced this metadata object diff --git a/src/interfaces/jdbc/org/postgresql/jdbc2/PBatchUpdateException.java b/src/interfaces/jdbc/org/postgresql/jdbc2/PBatchUpdateException.java index f001f4ce28..ba58702f8c 100644 --- a/src/interfaces/jdbc/org/postgresql/jdbc2/PBatchUpdateException.java +++ b/src/interfaces/jdbc/org/postgresql/jdbc2/PBatchUpdateException.java @@ -3,7 +3,7 @@ package org.postgresql.jdbc2; import org.postgresql.util.*; import java.sql.*; -/** +/* * This class extends java.sql.BatchUpdateException, and provides our * internationalisation handling. */ diff --git a/src/interfaces/jdbc/org/postgresql/jdbc2/PreparedStatement.java b/src/interfaces/jdbc/org/postgresql/jdbc2/PreparedStatement.java index d7db0669c6..daf9650dce 100644 --- a/src/interfaces/jdbc/org/postgresql/jdbc2/PreparedStatement.java +++ b/src/interfaces/jdbc/org/postgresql/jdbc2/PreparedStatement.java @@ -13,7 +13,7 @@ import java.util.*; import org.postgresql.largeobject.*; import org.postgresql.util.*; -/** +/* * A SQL Statement is pre-compiled and stored in a PreparedStatement object. * This object can then be used to efficiently execute this statement multiple * times. @@ -44,7 +44,7 @@ public class PreparedStatement extends Statement implements java.sql.PreparedSta private static ThreadLocal tl_df = new ThreadLocal(); // setDate() SimpleDateFormat private static ThreadLocal tl_tsdf = new ThreadLocal(); // setTimestamp() SimpleDateFormat - /** + /* * Constructor for the PreparedStatement class. * Split the SQL statement into segments - separated by the arguments. * When we rebuild the thing with the arguments, we can substitute the @@ -87,7 +87,7 @@ public class PreparedStatement extends Statement implements java.sql.PreparedSta templateStrings[i] = (String)v.elementAt(i); } - /** + /* * A Prepared SQL query is executed and its ResultSet is returned * * @return a ResultSet that contains the data produced by the @@ -99,7 +99,7 @@ public class PreparedStatement extends Statement implements java.sql.PreparedSta return super.executeQuery(compileQuery()); // in Statement class } - /** + /* * Execute a SQL INSERT, UPDATE or DELETE statement. In addition, * SQL statements that return nothing such as SQL DDL statements can * be executed. @@ -113,7 +113,7 @@ public class PreparedStatement extends Statement implements java.sql.PreparedSta return super.executeUpdate(compileQuery()); // in Statement class } - /** + /* * Helper - this compiles the SQL query from the various parameters * This is identical to toString() except it throws an exception if a * parameter is unused. @@ -134,7 +134,7 @@ public class PreparedStatement extends Statement implements java.sql.PreparedSta return sbuf.toString(); } - /** + /* * Set a parameter to SQL NULL * *

Note: You must specify the parameters SQL type (although @@ -149,7 +149,7 @@ public class PreparedStatement extends Statement implements java.sql.PreparedSta set(parameterIndex, "null"); } - /** + /* * Set a parameter to a Java boolean value. The driver converts this * to a SQL BIT value when it sends it to the database. * @@ -162,7 +162,7 @@ public class PreparedStatement extends Statement implements java.sql.PreparedSta set(parameterIndex, x ? "'t'" : "'f'"); } - /** + /* * Set a parameter to a Java byte value. The driver converts this to * a SQL TINYINT value when it sends it to the database. * @@ -175,7 +175,7 @@ public class PreparedStatement extends Statement implements java.sql.PreparedSta set(parameterIndex, Integer.toString(x)); } - /** + /* * Set a parameter to a Java short value. The driver converts this * to a SQL SMALLINT value when it sends it to the database. * @@ -188,7 +188,7 @@ public class PreparedStatement extends Statement implements java.sql.PreparedSta set(parameterIndex, Integer.toString(x)); } - /** + /* * Set a parameter to a Java int value. The driver converts this to * a SQL INTEGER value when it sends it to the database. * @@ -201,7 +201,7 @@ public class PreparedStatement extends Statement implements java.sql.PreparedSta set(parameterIndex, Integer.toString(x)); } - /** + /* * Set a parameter to a Java long value. The driver converts this to * a SQL BIGINT value when it sends it to the database. * @@ -214,7 +214,7 @@ public class PreparedStatement extends Statement implements java.sql.PreparedSta set(parameterIndex, Long.toString(x)); } - /** + /* * Set a parameter to a Java float value. The driver converts this * to a SQL FLOAT value when it sends it to the database. * @@ -227,7 +227,7 @@ public class PreparedStatement extends Statement implements java.sql.PreparedSta set(parameterIndex, Float.toString(x)); } - /** + /* * Set a parameter to a Java double value. The driver converts this * to a SQL DOUBLE value when it sends it to the database * @@ -240,7 +240,7 @@ public class PreparedStatement extends Statement implements java.sql.PreparedSta set(parameterIndex, Double.toString(x)); } - /** + /* * Set a parameter to a java.lang.BigDecimal value. The driver * converts this to a SQL NUMERIC value when it sends it to the * database. @@ -254,7 +254,7 @@ public class PreparedStatement extends Statement implements java.sql.PreparedSta set(parameterIndex, x.toString()); } - /** + /* * Set a parameter to a Java String value. The driver converts this * to a SQL VARCHAR or LONGVARCHAR value (depending on the arguments * size relative to the driver's limits on VARCHARs) when it sends it @@ -292,7 +292,7 @@ public class PreparedStatement extends Statement implements java.sql.PreparedSta } } - /** + /* * Set a parameter to a Java array of bytes. The driver converts this * to a SQL VARBINARY or LONGVARBINARY (depending on the argument's * size relative to the driver's limits on VARBINARYs) when it sends @@ -332,7 +332,7 @@ public class PreparedStatement extends Statement implements java.sql.PreparedSta } } - /** + /* * Set a parameter to a java.sql.Date value. The driver converts this * to a SQL DATE value when it sends it to the database. * @@ -368,7 +368,7 @@ public class PreparedStatement extends Statement implements java.sql.PreparedSta //set(parameterIndex, df.format(new java.util.Date(x.getTime()+86400000))); } - /** + /* * Set a parameter to a java.sql.Time value. The driver converts * this to a SQL TIME value when it sends it to the database. * @@ -388,7 +388,7 @@ public class PreparedStatement extends Statement implements java.sql.PreparedSta } } - /** + /* * Set a parameter to a java.sql.Timestamp value. The driver converts * this to a SQL TIMESTAMP value when it sends it to the database. * @@ -426,7 +426,7 @@ public class PreparedStatement extends Statement implements java.sql.PreparedSta } } - /** + /* * When a very large ASCII value is input to a LONGVARCHAR parameter, * it may be more practical to send it via a java.io.InputStream. * JDBC will read the data from the stream as needed, until it reaches @@ -476,7 +476,7 @@ public class PreparedStatement extends Statement implements java.sql.PreparedSta } } - /** + /* * When a very large Unicode value is input to a LONGVARCHAR parameter, * it may be more practical to send it via a java.io.InputStream. * JDBC will read the data from the stream as needed, until it reaches @@ -528,7 +528,7 @@ public class PreparedStatement extends Statement implements java.sql.PreparedSta } } - /** + /* * When a very large binary value is input to a LONGVARBINARY parameter, * it may be more practical to send it via a java.io.InputStream. * JDBC will read the data from the stream as needed, until it reaches @@ -607,7 +607,7 @@ public class PreparedStatement extends Statement implements java.sql.PreparedSta } } - /** + /* * In general, parameter values remain in force for repeated used of a * Statement. Setting a parameter value automatically clears its * previous value. However, in coms cases, it is useful to immediately @@ -624,7 +624,7 @@ public class PreparedStatement extends Statement implements java.sql.PreparedSta inStrings[i] = null; } - /** + /* * Set the value of a parameter using an object; use the java.lang * equivalent objects for integral values. * @@ -707,7 +707,7 @@ public class PreparedStatement extends Statement implements java.sql.PreparedSta setObject(parameterIndex, x, targetSqlType, 0); } - /** + /* * This stores an Object into a parameter. *

New for 6.4, if the object is not recognised, but it is * Serializable, then the object is serialised using the @@ -751,7 +751,7 @@ public class PreparedStatement extends Statement implements java.sql.PreparedSta setSerialize(parameterIndex, connection.putObject(x), x.getClass().getName() ); } - /** + /* * Some prepared statements return multiple results; the execute method * handles these complex statements as well as the simpler form of * statements handled by executeQuery and executeUpdate @@ -765,7 +765,7 @@ public class PreparedStatement extends Statement implements java.sql.PreparedSta return super.execute(compileQuery()); // in Statement class } - /** + /* * Returns the SQL statement with the current template values * substituted. * NB: This is identical to compileQuery() except instead of throwing @@ -795,7 +795,7 @@ public class PreparedStatement extends Statement implements java.sql.PreparedSta // END OF PUBLIC INTERFACE // ************************************************************** - /** + /* * There are a lot of setXXX classes which all basically do * the same thing. We need a method which actually does the * set for us. @@ -811,7 +811,7 @@ public class PreparedStatement extends Statement implements java.sql.PreparedSta inStrings[paramIndex - 1] = s; } - /** + /* * Set a parameter to a tablerow-type oid reference. * * @param parameterIndex the first parameter is 1... @@ -836,7 +836,7 @@ public class PreparedStatement extends Statement implements java.sql.PreparedSta // ** JDBC 2 Extensions ** - /** + /* * This parses the query and adds it to the current batch */ public void addBatch() throws SQLException @@ -844,7 +844,7 @@ public class PreparedStatement extends Statement implements java.sql.PreparedSta super.addBatch(compileQuery()); } - /** + /* * Not sure what this one does, so I'm saying this returns the MetaData for * the last ResultSet returned! */ @@ -863,7 +863,7 @@ public class PreparedStatement extends Statement implements java.sql.PreparedSta setString(i, x.toString()); } - /** + /* * Sets a Blob */ public void setBlob(int i, Blob x) throws SQLException @@ -897,7 +897,7 @@ public class PreparedStatement extends Statement implements java.sql.PreparedSta setInt(i, oid); } - /** + /* * This is similar to setBinaryStream except it uses a Reader instead of * InputStream. */ @@ -956,7 +956,7 @@ public class PreparedStatement extends Statement implements java.sql.PreparedSta } } - /** + /* * New in 7.1 */ public void setClob(int i, Clob x) throws SQLException @@ -990,7 +990,7 @@ public class PreparedStatement extends Statement implements java.sql.PreparedSta setInt(i, oid); } - /** + /* * At least this works as in PostgreSQL null represents anything null ;-) * * New in 7,1 @@ -1005,7 +1005,7 @@ public class PreparedStatement extends Statement implements java.sql.PreparedSta throw org.postgresql.Driver.notImplemented(); } - /** + /* * New in 7,1 */ public void setDate(int i, java.sql.Date d, java.util.Calendar cal) throws SQLException @@ -1019,7 +1019,7 @@ public class PreparedStatement extends Statement implements java.sql.PreparedSta } } - /** + /* * New in 7,1 */ public void setTime(int i, Time t, java.util.Calendar cal) throws SQLException @@ -1033,7 +1033,7 @@ public class PreparedStatement extends Statement implements java.sql.PreparedSta } } - /** + /* * New in 7,1 */ public void setTimestamp(int i, Timestamp t, java.util.Calendar cal) throws SQLException diff --git a/src/interfaces/jdbc/org/postgresql/jdbc2/ResultSet.java b/src/interfaces/jdbc/org/postgresql/jdbc2/ResultSet.java index e98cef8660..804d9a2c77 100644 --- a/src/interfaces/jdbc/org/postgresql/jdbc2/ResultSet.java +++ b/src/interfaces/jdbc/org/postgresql/jdbc2/ResultSet.java @@ -16,7 +16,7 @@ import org.postgresql.largeobject.*; import org.postgresql.util.*; import org.postgresql.core.Encoding; -/** +/* * A ResultSet provides access to a table of data generated by executing a * Statement. The table rows are retrieved in sequence. Within a row its * column values can be accessed in any order. @@ -63,7 +63,7 @@ public class ResultSet extends org.postgresql.ResultSet implements java.sql.Resu private StringBuffer sbuf = null; - /** + /* * Create a new ResultSet - Note that we create ResultSets to * represent the results of everything. * @@ -79,7 +79,7 @@ public class ResultSet extends org.postgresql.ResultSet implements java.sql.Resu super(conn, fields, tuples, status, updateCount, insertOID, binaryCursor); } - /** + /* * Create a new ResultSet - Note that we create ResultSets to * represent the results of everything. * @@ -95,7 +95,7 @@ public class ResultSet extends org.postgresql.ResultSet implements java.sql.Resu super(conn, fields, tuples, status, updateCount, 0, false); } - /** + /* * A ResultSet is initially positioned before its first row, * the first call to next makes the first row the current row; * the second call makes the second row the current row, etc. @@ -116,7 +116,7 @@ public class ResultSet extends org.postgresql.ResultSet implements java.sql.Resu return true; } - /** + /* * In some cases, it is desirable to immediately release a ResultSet * database and JDBC resources instead of waiting for this to happen * when it is automatically closed. The close method provides this @@ -139,7 +139,7 @@ public class ResultSet extends org.postgresql.ResultSet implements java.sql.Resu } } - /** + /* * A column may have the value of SQL NULL; wasNull() reports whether * the last column read had this special value. Note that you must * first call getXXX on a column to try to read its value and then @@ -153,7 +153,7 @@ public class ResultSet extends org.postgresql.ResultSet implements java.sql.Resu return wasNullFlag; } - /** + /* * Get the value of a column in the current row as a Java String * * @param columnIndex the first column is 1, the second is 2... @@ -173,7 +173,7 @@ public class ResultSet extends org.postgresql.ResultSet implements java.sql.Resu return encoding.decode(this_row[columnIndex - 1]); } - /** + /* * Get the value of a column in the current row as a Java boolean * * @param columnIndex the first column is 1, the second is 2... @@ -185,7 +185,7 @@ public class ResultSet extends org.postgresql.ResultSet implements java.sql.Resu return toBoolean( getString(columnIndex) ); } - /** + /* * Get the value of a column in the current row as a Java byte. * * @param columnIndex the first column is 1, the second is 2,... @@ -210,7 +210,7 @@ public class ResultSet extends org.postgresql.ResultSet implements java.sql.Resu return 0; // SQL NULL } - /** + /* * Get the value of a column in the current row as a Java short. * * @param columnIndex the first column is 1, the second is 2,... @@ -235,7 +235,7 @@ public class ResultSet extends org.postgresql.ResultSet implements java.sql.Resu return 0; // SQL NULL } - /** + /* * Get the value of a column in the current row as a Java int. * * @param columnIndex the first column is 1, the second is 2,... @@ -247,7 +247,7 @@ public class ResultSet extends org.postgresql.ResultSet implements java.sql.Resu return toInt( getFixedString(columnIndex) ); } - /** + /* * Get the value of a column in the current row as a Java long. * * @param columnIndex the first column is 1, the second is 2,... @@ -259,7 +259,7 @@ public class ResultSet extends org.postgresql.ResultSet implements java.sql.Resu return toLong( getFixedString(columnIndex) ); } - /** + /* * Get the value of a column in the current row as a Java float. * * @param columnIndex the first column is 1, the second is 2,... @@ -271,7 +271,7 @@ public class ResultSet extends org.postgresql.ResultSet implements java.sql.Resu return toFloat( getFixedString(columnIndex) ); } - /** + /* * Get the value of a column in the current row as a Java double. * * @param columnIndex the first column is 1, the second is 2,... @@ -283,7 +283,7 @@ public class ResultSet extends org.postgresql.ResultSet implements java.sql.Resu return toDouble( getFixedString(columnIndex) ); } - /** + /* * Get the value of a column in the current row as a * java.math.BigDecimal object * @@ -298,7 +298,7 @@ public class ResultSet extends org.postgresql.ResultSet implements java.sql.Resu return toBigDecimal( getFixedString(columnIndex), scale ); } - /** + /* * Get the value of a column in the current row as a Java byte array. * *

In normal use, the bytes represent the raw values returned by the @@ -359,7 +359,7 @@ public class ResultSet extends org.postgresql.ResultSet implements java.sql.Resu return null; } - /** + /* * Get the value of a column in the current row as a java.sql.Date * object * @@ -372,7 +372,7 @@ public class ResultSet extends org.postgresql.ResultSet implements java.sql.Resu return toDate( getString(columnIndex) ); } - /** + /* * Get the value of a column in the current row as a java.sql.Time * object * @@ -385,7 +385,7 @@ public class ResultSet extends org.postgresql.ResultSet implements java.sql.Resu return toTime( getString(columnIndex) ); } - /** + /* * Get the value of a column in the current row as a * java.sql.Timestamp object * @@ -398,7 +398,7 @@ public class ResultSet extends org.postgresql.ResultSet implements java.sql.Resu return toTimestamp( getString(columnIndex), this ); } - /** + /* * A column value can be retrieved as a stream of ASCII characters * and then read in chunks from the stream. This method is * particular suitable for retrieving large LONGVARCHAR values. @@ -452,7 +452,7 @@ public class ResultSet extends org.postgresql.ResultSet implements java.sql.Resu } } - /** + /* * A column value can also be retrieved as a stream of Unicode * characters. We implement this as a binary stream. * @@ -497,7 +497,7 @@ public class ResultSet extends org.postgresql.ResultSet implements java.sql.Resu } } - /** + /* * A column value can also be retrieved as a binary strea. This * method is suitable for retrieving LONGVARBINARY values. * @@ -540,7 +540,7 @@ public class ResultSet extends org.postgresql.ResultSet implements java.sql.Resu return null; } - /** + /* * The following routines simply convert the columnName into * a columnIndex and then call the appropriate routine above. * @@ -589,7 +589,7 @@ public class ResultSet extends org.postgresql.ResultSet implements java.sql.Resu return getDouble(findColumn(columnName)); } - /** + /* * @deprecated */ public BigDecimal getBigDecimal(String columnName, int scale) throws SQLException @@ -622,7 +622,7 @@ public class ResultSet extends org.postgresql.ResultSet implements java.sql.Resu return getAsciiStream(findColumn(columnName)); } - /** + /* * * ** DEPRECATED IN JDBC 2 ** * @@ -638,7 +638,7 @@ public class ResultSet extends org.postgresql.ResultSet implements java.sql.Resu return getBinaryStream(findColumn(columnName)); } - /** + /* * The first warning reported by calls on this ResultSet is * returned. Subsequent ResultSet warnings will be chained * to this SQLWarning. @@ -659,7 +659,7 @@ public class ResultSet extends org.postgresql.ResultSet implements java.sql.Resu return warnings; } - /** + /* * After this call, getWarnings returns null until a new warning * is reported for this ResultSet * @@ -670,7 +670,7 @@ public class ResultSet extends org.postgresql.ResultSet implements java.sql.Resu warnings = null; } - /** + /* * Get the name of the SQL cursor used by this ResultSet * *

In SQL, a result table is retrieved though a cursor that is @@ -693,7 +693,7 @@ public class ResultSet extends org.postgresql.ResultSet implements java.sql.Resu return connection.getCursorName(); } - /** + /* * The numbers, types and properties of a ResultSet's columns are * provided by the getMetaData method * @@ -705,7 +705,7 @@ public class ResultSet extends org.postgresql.ResultSet implements java.sql.Resu return new ResultSetMetaData(rows, fields); } - /** + /* * Get the value of a column in the current row as a Java object * *

This method will return the value of the given column as a @@ -783,7 +783,7 @@ public class ResultSet extends org.postgresql.ResultSet implements java.sql.Resu } } - /** + /* * Get the value of a column in the current row as a Java object * *

This method will return the value of the given column as a @@ -803,7 +803,7 @@ public class ResultSet extends org.postgresql.ResultSet implements java.sql.Resu return getObject(findColumn(columnName)); } - /** + /* * Map a ResultSet column name to a ResultSet column index * * @param columnName the name of the column @@ -964,7 +964,7 @@ public class ResultSet extends org.postgresql.ResultSet implements java.sql.Resu } } - /** + /* * New in 7.1 */ public Clob getClob(String columnName) throws SQLException @@ -972,7 +972,7 @@ public class ResultSet extends org.postgresql.ResultSet implements java.sql.Resu return getClob(findColumn(columnName)); } - /** + /* * New in 7.1 */ public Clob getClob(int i) throws SQLException @@ -1046,7 +1046,7 @@ public class ResultSet extends org.postgresql.ResultSet implements java.sql.Resu return getObject(findColumn(columnName), map); } - /** + /* * This checks against map for the type of column i, and if found returns * an object based on that mapping. The class must implement the SQLData * interface. @@ -1058,7 +1058,7 @@ public class ResultSet extends org.postgresql.ResultSet implements java.sql.Resu String t = getTypeName(i); SQLData o = (SQLData) map.get(t); // If the type is not in the map, then pass to the existing code - if(o==null) + if (o==null) return getObject(i); o.readSQL(s,t); return o; @@ -1446,7 +1446,7 @@ public class ResultSet extends org.postgresql.ResultSet implements java.sql.Resu throw new PSQLException("postgresql.noupdate"); } - /** + /* * This is called by Statement to register itself with this statement. * It's used currently by getStatement() but may also with the new core * package. diff --git a/src/interfaces/jdbc/org/postgresql/jdbc2/ResultSetMetaData.java b/src/interfaces/jdbc/org/postgresql/jdbc2/ResultSetMetaData.java index 5d6abf814a..1268efeff9 100644 --- a/src/interfaces/jdbc/org/postgresql/jdbc2/ResultSetMetaData.java +++ b/src/interfaces/jdbc/org/postgresql/jdbc2/ResultSetMetaData.java @@ -11,7 +11,7 @@ import java.util.*; import org.postgresql.*; import org.postgresql.util.*; -/** +/* * A ResultSetMetaData object can be used to find out about the types and * properties of the columns in a ResultSet * @@ -22,7 +22,7 @@ public class ResultSetMetaData implements java.sql.ResultSetMetaData Vector rows; Field[] fields; - /** + /* * Initialise for a result with a tuple set and * a field descriptor set * @@ -35,7 +35,7 @@ public class ResultSetMetaData implements java.sql.ResultSetMetaData this.fields = fields; } - /** + /* * Whats the number of columns in the ResultSet? * * @return the number @@ -46,7 +46,7 @@ public class ResultSetMetaData implements java.sql.ResultSetMetaData return fields.length; } - /** + /* * Is the column automatically numbered (and thus read-only) * I believe that PostgreSQL does not support this feature. * @@ -59,7 +59,7 @@ public class ResultSetMetaData implements java.sql.ResultSetMetaData return false; } - /** + /* * Does a column's case matter? ASSUMPTION: Any field that is * not obviously case insensitive is assumed to be case sensitive * @@ -87,7 +87,7 @@ public class ResultSetMetaData implements java.sql.ResultSetMetaData } } - /** + /* * Can the column be used in a WHERE clause? Basically for * this, I split the functions into two types: recognised * types (which are always useable), and OTHER types (which @@ -114,7 +114,7 @@ public class ResultSetMetaData implements java.sql.ResultSetMetaData } } - /** + /* * Is the column a cash value? 6.1 introduced the cash/money * type, which haven't been incorporated as of 970414, so I * just check the type name for both 'cash' and 'money' @@ -130,7 +130,7 @@ public class ResultSetMetaData implements java.sql.ResultSetMetaData return type_name.equals("cash") || type_name.equals("money"); } - /** + /* * Indicates the nullability of values in the designated column. * * @param column the first column is 1, the second is 2... @@ -147,7 +147,7 @@ public class ResultSetMetaData implements java.sql.ResultSetMetaData return columnNullableUnknown; } - /** + /* * Is the column a signed number? In PostgreSQL, all numbers * are signed, so this is trivial. However, strings are not * signed (duh!) @@ -177,7 +177,7 @@ public class ResultSetMetaData implements java.sql.ResultSetMetaData } } - /** + /* * What is the column's normal maximum width in characters? * * @param column the first column is 1, the second is 2, etc. @@ -233,7 +233,7 @@ public class ResultSetMetaData implements java.sql.ResultSetMetaData return f.getLength(); } - /** + /* * What is the suggested column title for use in printouts and * displays? We suggest the ColumnName! * @@ -246,7 +246,7 @@ public class ResultSetMetaData implements java.sql.ResultSetMetaData return getColumnName(column); } - /** + /* * What's a column's name? * * @param column the first column is 1, the second is 2, etc. @@ -261,7 +261,7 @@ public class ResultSetMetaData implements java.sql.ResultSetMetaData return "field" + column; } - /** + /* * What is a column's table's schema? This relies on us knowing * the table name....which I don't know how to do as yet. The * JDBC specification allows us to return "" if this is not @@ -276,7 +276,7 @@ public class ResultSetMetaData implements java.sql.ResultSetMetaData return ""; } - /** + /* * What is a column's number of decimal digits. * * @param column the first column is 1, the second is 2... @@ -312,7 +312,7 @@ public class ResultSetMetaData implements java.sql.ResultSetMetaData } } - /** + /* * What is a column's number of digits to the right of the * decimal point? * @@ -349,7 +349,7 @@ public class ResultSetMetaData implements java.sql.ResultSetMetaData } } - /** + /* * Whats a column's table's name? How do I find this out? Both * getSchemaName() and getCatalogName() rely on knowing the table * Name, so we need this before we can work on them. @@ -363,7 +363,7 @@ public class ResultSetMetaData implements java.sql.ResultSetMetaData return ""; } - /** + /* * What's a column's table's catalog name? As with getSchemaName(), * we can say that if getTableName() returns n/a, then we can too - * otherwise, we need to work on it. @@ -377,7 +377,7 @@ public class ResultSetMetaData implements java.sql.ResultSetMetaData return ""; } - /** + /* * What is a column's SQL Type? (java.sql.Type int) * * @param column the first column is 1, the second is 2, etc. @@ -391,7 +391,7 @@ public class ResultSetMetaData implements java.sql.ResultSetMetaData return getField(column).getSQLType(); } - /** + /* * Whats is the column's data source specific type name? * * @param column the first column is 1, the second is 2, etc. @@ -403,7 +403,7 @@ public class ResultSetMetaData implements java.sql.ResultSetMetaData return getField(column).getPGType(); } - /** + /* * Is the column definitely not writable? In reality, we would * have to check the GRANT/REVOKE stuff for this to be effective, * and I haven't really looked into that yet, so this will get @@ -418,7 +418,7 @@ public class ResultSetMetaData implements java.sql.ResultSetMetaData return false; } - /** + /* * Is it possible for a write on the column to succeed? Again, we * would in reality have to check the GRANT/REVOKE stuff, which * I haven't worked with as yet. However, if it isn't ReadOnly, then @@ -433,7 +433,7 @@ public class ResultSetMetaData implements java.sql.ResultSetMetaData return !isReadOnly(column); } - /** + /* * Will a write on this column definately succeed? Hmmm...this * is a bad one, since the two preceding functions have not been * really defined. I cannot tell is the short answer. I thus @@ -452,7 +452,7 @@ public class ResultSetMetaData implements java.sql.ResultSetMetaData // END OF PUBLIC INTERFACE // ******************************************************** - /** + /* * For several routines in this package, we need to convert * a columnIndex into a Field[] descriptor. Rather than do * the same code several times, here it is. diff --git a/src/interfaces/jdbc/org/postgresql/jdbc2/Statement.java b/src/interfaces/jdbc/org/postgresql/jdbc2/Statement.java index 232f9d41d1..19f64d2552 100644 --- a/src/interfaces/jdbc/org/postgresql/jdbc2/Statement.java +++ b/src/interfaces/jdbc/org/postgresql/jdbc2/Statement.java @@ -9,7 +9,7 @@ import java.sql.*; import java.util.Vector; import org.postgresql.util.*; -/** +/* * A Statement object is used for executing a static SQL statement and * obtaining the results produced by it. * @@ -29,7 +29,7 @@ public class Statement extends org.postgresql.Statement implements java.sql.Stat private int resultsettype; // the resultset type to return private int concurrency; // is it updateable or not? - /** + /* * Constructor for a Statement. It simply sets the connection * that created us. * @@ -42,7 +42,7 @@ public class Statement extends org.postgresql.Statement implements java.sql.Stat concurrency = java.sql.ResultSet.CONCUR_READ_ONLY; } - /** + /* * Execute a SQL statement that retruns a single ResultSet * * @param sql typically a static SQL SELECT statement @@ -59,7 +59,7 @@ public class Statement extends org.postgresql.Statement implements java.sql.Stat return result; } - /** + /* * Execute a SQL INSERT, UPDATE or DELETE statement. In addition * SQL statements that return nothing such as SQL DDL statements * can be executed @@ -76,7 +76,7 @@ public class Statement extends org.postgresql.Statement implements java.sql.Stat return this.getUpdateCount(); } - /** + /* * setCursorName defines the SQL cursor name that will be used by * subsequent execute methods. This name can then be used in SQL * positioned update/delete statements to identify the current row @@ -100,7 +100,7 @@ public class Statement extends org.postgresql.Statement implements java.sql.Stat connection.setCursorName(name); } - /** + /* * Execute a SQL statement that may return multiple results. We * don't have to worry about this since we do not support multiple * ResultSets. You can use getResultSet or getUpdateCount to @@ -135,7 +135,7 @@ public class Statement extends org.postgresql.Statement implements java.sql.Stat return (result != null && ((org.postgresql.ResultSet)result).reallyResultSet()); } - /** + /* * getUpdateCount returns the current result as an update count, * if the result is a ResultSet or there are no more results, -1 * is returned. It should only be called once per result. @@ -152,7 +152,7 @@ public class Statement extends org.postgresql.Statement implements java.sql.Stat return ((org.postgresql.ResultSet)result).getResultCount(); } - /** + /* * getMoreResults moves to a Statement's next result. If it returns * true, this result is a ResulSet. * @@ -249,7 +249,7 @@ public class Statement extends org.postgresql.Statement implements java.sql.Stat throw org.postgresql.Driver.notImplemented(); } - /** + /* * New in 7.1 */ public void setResultSetConcurrency(int value) throws SQLException @@ -257,7 +257,7 @@ public class Statement extends org.postgresql.Statement implements java.sql.Stat concurrency = value; } - /** + /* * New in 7.1 */ public void setResultSetType(int value) throws SQLException diff --git a/src/interfaces/jdbc/org/postgresql/jdbc2/UpdateableResultSet.java b/src/interfaces/jdbc/org/postgresql/jdbc2/UpdateableResultSet.java index c5e7c2a4bf..2bd2023170 100644 --- a/src/interfaces/jdbc/org/postgresql/jdbc2/UpdateableResultSet.java +++ b/src/interfaces/jdbc/org/postgresql/jdbc2/UpdateableResultSet.java @@ -21,7 +21,7 @@ import org.postgresql.Field; import org.postgresql.largeobject.*; import org.postgresql.util.*; -/** +/* * @see ResultSet * @see ResultSetMetaData * @see java.sql.ResultSet @@ -29,7 +29,7 @@ import org.postgresql.util.*; public class UpdateableResultSet extends org.postgresql.jdbc2.ResultSet { - /** + /* * Create a new ResultSet - Note that we create ResultSets to * represent the results of everything. * @@ -45,7 +45,7 @@ public class UpdateableResultSet extends org.postgresql.jdbc2.ResultSet super(conn, fields, tuples, status, updateCount, insertOID, binaryCursor); } - /** + /* * Create a new ResultSet - Note that we create ResultSets to * represent the results of everything. * diff --git a/src/interfaces/jdbc/org/postgresql/largeobject/BlobInputStream.java b/src/interfaces/jdbc/org/postgresql/largeobject/BlobInputStream.java index 74c83b98a8..0e508cfd32 100644 --- a/src/interfaces/jdbc/org/postgresql/largeobject/BlobInputStream.java +++ b/src/interfaces/jdbc/org/postgresql/largeobject/BlobInputStream.java @@ -4,39 +4,39 @@ import java.io.InputStream; import java.io.IOException; import java.sql.SQLException; -/** +/* * This is an initial implementation of an InputStream from a large object. * For now, the bare minimum is implemented. Later (after 7.1) we will overide * the other read methods to optimise them. */ public class BlobInputStream extends InputStream { - /** + /* * The parent LargeObject */ private LargeObject lo; - /** + /* * Buffer used to improve performance */ private byte[] buffer; - /** + /* * Position within buffer */ private int bpos; - /** + /* * The buffer size */ private int bsize; - /** + /* * The mark position */ private int mpos = 0; - /** + /* * @param lo LargeObject to read from */ public BlobInputStream(LargeObject lo) @@ -44,7 +44,7 @@ public class BlobInputStream extends InputStream this(lo, 1024); } - /** + /* * @param lo LargeObject to read from * @param bsize buffer size */ @@ -56,7 +56,7 @@ public class BlobInputStream extends InputStream this.bsize = bsize; } - /** + /* * The minimum required to implement input stream */ public int read() throws java.io.IOException @@ -92,7 +92,7 @@ public class BlobInputStream extends InputStream } - /** + /* * Closes this input stream and releases any system resources associated * with the stream. * @@ -114,7 +114,7 @@ public class BlobInputStream extends InputStream } } - /** + /* * Marks the current position in this input stream. A subsequent call to * the reset method repositions this stream at the last marked * position so that subsequent reads re-read the same bytes. @@ -150,7 +150,7 @@ public class BlobInputStream extends InputStream } } - /** + /* * Repositions this stream to the position at the time the * mark method was last called on this input stream. * NB: If mark is not called we move to the begining. @@ -170,7 +170,7 @@ public class BlobInputStream extends InputStream } } - /** + /* * Tests if this input stream supports the mark and * reset methods. The markSupported method of * InputStream returns false. diff --git a/src/interfaces/jdbc/org/postgresql/largeobject/BlobOutputStream.java b/src/interfaces/jdbc/org/postgresql/largeobject/BlobOutputStream.java index 763e2bbba1..b56de6e543 100644 --- a/src/interfaces/jdbc/org/postgresql/largeobject/BlobOutputStream.java +++ b/src/interfaces/jdbc/org/postgresql/largeobject/BlobOutputStream.java @@ -4,32 +4,32 @@ import java.io.IOException; import java.io.OutputStream; import java.sql.SQLException; -/** +/* * This implements a basic output stream that writes to a LargeObject */ public class BlobOutputStream extends OutputStream { - /** + /* * The parent LargeObject */ private LargeObject lo; - /** + /* * Buffer */ private byte buf[]; - /** + /* * Size of the buffer (default 1K) */ private int bsize; - /** + /* * Position within the buffer */ private int bpos; - /** + /* * Create an OutputStream to a large object * @param lo LargeObject */ @@ -38,7 +38,7 @@ public class BlobOutputStream extends OutputStream this(lo, 1024); } - /** + /* * Create an OutputStream to a large object * @param lo LargeObject * @param bsize The size of the buffer used to improve performance @@ -68,7 +68,7 @@ public class BlobOutputStream extends OutputStream } } - /** + /* * Flushes this output stream and forces any buffered output bytes * to be written out. The general contract of flush is * that calling it is an indication that, if any bytes previously @@ -92,7 +92,7 @@ public class BlobOutputStream extends OutputStream } } - /** + /* * Closes this output stream and releases any system resources * associated with this stream. The general contract of close * is that it closes the output stream. A closed stream cannot perform diff --git a/src/interfaces/jdbc/org/postgresql/largeobject/LargeObject.java b/src/interfaces/jdbc/org/postgresql/largeobject/LargeObject.java index d701c6122b..f5eab8310f 100644 --- a/src/interfaces/jdbc/org/postgresql/largeobject/LargeObject.java +++ b/src/interfaces/jdbc/org/postgresql/largeobject/LargeObject.java @@ -8,7 +8,7 @@ import java.sql.*; import org.postgresql.fastpath.*; -/** +/* * This class implements the large object interface to org.postgresql. * *

It provides the basic methods required to run the interface, plus @@ -43,17 +43,17 @@ import org.postgresql.fastpath.*; */ public class LargeObject { - /** + /* * Indicates a seek from the begining of a file */ public static final int SEEK_SET = 0; - /** + /* * Indicates a seek from the current position */ public static final int SEEK_CUR = 1; - /** + /* * Indicates a seek from the end of a file */ public static final int SEEK_END = 2; @@ -66,7 +66,7 @@ public class LargeObject private boolean closed = false; // true when we are closed - /** + /* * This opens a large object. * *

If the object does not exist, then an SQLException is thrown. @@ -95,7 +95,7 @@ public class LargeObject close(); } - /** + /* * @return the OID of this LargeObject */ public int getOID() @@ -103,7 +103,7 @@ public class LargeObject return oid; } - /** + /* * This method closes the object. You must not call methods in this * object after this is called. * @exception SQLException if a database-access error occurs. @@ -138,7 +138,7 @@ public class LargeObject } } - /** + /* * Reads some data from the object, and return as a byte[] array * * @param len number of bytes to read @@ -155,7 +155,7 @@ public class LargeObject return fp.getData("loread", args); // This version allows us to break this down into 4k blocks - //if(len<=4048) { + //if (len<=4048) { //// handle as before, return the whole block in one go //FastpathArg args[] = new FastpathArg[2]; //args[0] = new FastpathArg(fd); @@ -165,10 +165,10 @@ public class LargeObject //// return in 4k blocks //byte[] buf=new byte[len]; //int off=0; - //while(len>0) { + //while (len>0) { //int bs=4048; //len-=bs; - //if(len<0) { + //if (len<0) { //bs+=len; //len=0; //} @@ -179,7 +179,7 @@ public class LargeObject //} } - /** + /* * Reads some data from the object into an existing array * * @param buf destination array @@ -197,7 +197,7 @@ public class LargeObject return len; } - /** + /* * Writes an array to the object * * @param buf array to write @@ -211,7 +211,7 @@ public class LargeObject fp.fastpath("lowrite", false, args); } - /** + /* * Writes some data from an array to the object * * @param buf destination array @@ -226,7 +226,7 @@ public class LargeObject write(data); } - /** + /* * Sets the current position within the object. * *

This is similar to the fseek() call in the standard C library. It @@ -245,7 +245,7 @@ public class LargeObject fp.fastpath("lo_lseek", false, args); } - /** + /* * Sets the current position within the object. * *

This is similar to the fseek() call in the standard C library. It @@ -259,7 +259,7 @@ public class LargeObject seek(pos, SEEK_SET); } - /** + /* * @return the current position within the object * @exception SQLException if a database-access error occurs. */ @@ -270,7 +270,7 @@ public class LargeObject return fp.getInteger("lo_tell", args); } - /** + /* * This method is inefficient, as the only way to find out the size of * the object is to seek to the end, record the current position, then * return to the original position. @@ -289,7 +289,7 @@ public class LargeObject return sz; } - /** + /* * Returns an InputStream from this object. * *

This InputStream can then be used in any method that requires an @@ -302,7 +302,7 @@ public class LargeObject return new BlobInputStream(this); } - /** + /* * Returns an OutputStream to this object * *

This OutputStream can then be used in any method that requires an diff --git a/src/interfaces/jdbc/org/postgresql/largeobject/LargeObjectManager.java b/src/interfaces/jdbc/org/postgresql/largeobject/LargeObjectManager.java index 03445c01b7..dec1de55f0 100644 --- a/src/interfaces/jdbc/org/postgresql/largeobject/LargeObjectManager.java +++ b/src/interfaces/jdbc/org/postgresql/largeobject/LargeObjectManager.java @@ -9,7 +9,7 @@ import java.sql.*; import org.postgresql.fastpath.*; import org.postgresql.util.*; -/** +/* * This class implements the large object interface to org.postgresql. * *

It provides methods that allow client code to create, open and delete @@ -61,29 +61,29 @@ public class LargeObjectManager // the fastpath api for this connection private Fastpath fp; - /** + /* * This mode indicates we want to write to an object */ public static final int WRITE = 0x00020000; - /** + /* * This mode indicates we want to read an object */ public static final int READ = 0x00040000; - /** + /* * This mode is the default. It indicates we want read and write access to * a large object */ public static final int READWRITE = READ | WRITE; - /** + /* * This prevents us being created by mere mortals */ private LargeObjectManager() {} - /** + /* * Constructs the LargeObject API. * *

Important Notice @@ -120,7 +120,7 @@ public class LargeObjectManager DriverManager.println("Large Object initialised"); } - /** + /* * This opens an existing large object, based on its OID. This method * assumes that READ and WRITE access is required (the default). * @@ -133,7 +133,7 @@ public class LargeObjectManager return new LargeObject(fp, oid, READWRITE); } - /** + /* * This opens an existing large object, based on its OID * * @param oid of large object @@ -146,7 +146,7 @@ public class LargeObjectManager return new LargeObject(fp, oid, mode); } - /** + /* * This creates a large object, returning its OID. * *

It defaults to READWRITE for the new object's attributes. @@ -161,7 +161,7 @@ public class LargeObjectManager return fp.getInteger("lo_creat", args); } - /** + /* * This creates a large object, returning its OID * * @param mode a bitmask describing different attributes of the new object @@ -175,7 +175,7 @@ public class LargeObjectManager return fp.getInteger("lo_creat", args); } - /** + /* * This deletes a large object. * * @param oid describing object to delete @@ -188,7 +188,7 @@ public class LargeObjectManager fp.fastpath("lo_unlink", false, args); } - /** + /* * This deletes a large object. * *

It is identical to the delete method, and is supplied as the C API uses diff --git a/src/interfaces/jdbc/org/postgresql/largeobject/PGblob.java b/src/interfaces/jdbc/org/postgresql/largeobject/PGblob.java index 2959668bac..12e04e4c14 100644 --- a/src/interfaces/jdbc/org/postgresql/largeobject/PGblob.java +++ b/src/interfaces/jdbc/org/postgresql/largeobject/PGblob.java @@ -16,11 +16,11 @@ import org.postgresql.Field; import org.postgresql.largeobject.*; import org.postgresql.largeobject.*; -/** +/* * This implements the Blob interface, which is basically another way to * access a LargeObject. * - * $Id: PGblob.java,v 1.2 2001/10/25 05:59:59 momjian Exp $ + * $Id: PGblob.java,v 1.3 2001/11/19 22:33:39 momjian Exp $ * */ public class PGblob implements java.sql.Blob diff --git a/src/interfaces/jdbc/org/postgresql/largeobject/PGclob.java b/src/interfaces/jdbc/org/postgresql/largeobject/PGclob.java index 805ca01890..63d39c07b0 100644 --- a/src/interfaces/jdbc/org/postgresql/largeobject/PGclob.java +++ b/src/interfaces/jdbc/org/postgresql/largeobject/PGclob.java @@ -16,11 +16,11 @@ import org.postgresql.Field; import org.postgresql.largeobject.*; import org.postgresql.largeobject.*; -/** +/* * This implements the Blob interface, which is basically another way to * access a LargeObject. * - * $Id: PGclob.java,v 1.2 2001/10/25 05:59:59 momjian Exp $ + * $Id: PGclob.java,v 1.3 2001/11/19 22:33:39 momjian Exp $ * */ public class PGclob implements java.sql.Clob diff --git a/src/interfaces/jdbc/org/postgresql/test/JDBC2Tests.java b/src/interfaces/jdbc/org/postgresql/test/JDBC2Tests.java index 2512192c98..88e2438f29 100644 --- a/src/interfaces/jdbc/org/postgresql/test/JDBC2Tests.java +++ b/src/interfaces/jdbc/org/postgresql/test/JDBC2Tests.java @@ -6,12 +6,12 @@ import junit.framework.TestCase; import org.postgresql.test.jdbc2.*; import java.sql.*; -/** +/* * Executes all known tests for JDBC2 and includes some utility methods. */ public class JDBC2Tests extends TestSuite { - /** + /* * Returns the Test database JDBC URL */ public static String getURL() @@ -19,7 +19,7 @@ public class JDBC2Tests extends TestSuite return System.getProperty("database"); } - /** + /* * Returns the Postgresql username */ public static String getUser() @@ -27,7 +27,7 @@ public class JDBC2Tests extends TestSuite return System.getProperty("username"); } - /** + /* * Returns the user's password */ public static String getPassword() @@ -35,7 +35,7 @@ public class JDBC2Tests extends TestSuite return System.getProperty("password"); } - /** + /* * Helper - opens a connection. */ public static java.sql.Connection openDB() @@ -56,7 +56,7 @@ public class JDBC2Tests extends TestSuite return null; } - /** + /* * Helper - closes an open connection. This rewrites SQLException to a failed * assertion. It's static so other classes can use it. */ @@ -73,7 +73,7 @@ public class JDBC2Tests extends TestSuite } } - /** + /* * Helper - creates a test table for use by a test */ public static void createTable(Connection con, @@ -102,7 +102,7 @@ public class JDBC2Tests extends TestSuite } } - /** + /* * Helper - drops a table */ public static void dropTable(Connection con, String table) @@ -125,7 +125,7 @@ public class JDBC2Tests extends TestSuite } } - /** + /* * Helper - generates INSERT SQL - very simple */ public static String insertSQL(String table, String values) @@ -143,7 +143,7 @@ public class JDBC2Tests extends TestSuite return s + " VALUES (" + values + ")"; } - /** + /* * Helper - generates SELECT SQL - very simple */ public static String selectSQL(String table, String columns) @@ -168,7 +168,7 @@ public class JDBC2Tests extends TestSuite return s; } - /** + /* * Helper to prefix a number with leading zeros - ugly but it works... * @param v value to prefix * @param l number of digits (0-10) @@ -179,7 +179,7 @@ public class JDBC2Tests extends TestSuite return s.substring(s.length() - l); } - /** + /* * The main entry point for JUnit */ public static TestSuite suite() diff --git a/src/interfaces/jdbc/org/postgresql/test/README b/src/interfaces/jdbc/org/postgresql/test/README index 79113b5643..27abba3376 100644 --- a/src/interfaces/jdbc/org/postgresql/test/README +++ b/src/interfaces/jdbc/org/postgresql/test/README @@ -172,7 +172,7 @@ import org.postgresql.test.JDBC2Tests; import junit.framework.TestCase; import java.sql.*; -/** +/* * Test case for ... */ public class FooTest extends TestCase { diff --git a/src/interfaces/jdbc/org/postgresql/test/jdbc2/ANTTest.java b/src/interfaces/jdbc/org/postgresql/test/jdbc2/ANTTest.java index 6f61d73eab..b503ff422b 100644 --- a/src/interfaces/jdbc/org/postgresql/test/jdbc2/ANTTest.java +++ b/src/interfaces/jdbc/org/postgresql/test/jdbc2/ANTTest.java @@ -9,7 +9,7 @@ public class ANTTest extends TestCase super(name); } - /** + /* * This tests the acceptsURL() method with a couple of good and badly formed * jdbc urls */ diff --git a/src/interfaces/jdbc/org/postgresql/test/jdbc2/BatchExecuteTest.java b/src/interfaces/jdbc/org/postgresql/test/jdbc2/BatchExecuteTest.java index 50684926cd..26229b8856 100644 --- a/src/interfaces/jdbc/org/postgresql/test/jdbc2/BatchExecuteTest.java +++ b/src/interfaces/jdbc/org/postgresql/test/jdbc2/BatchExecuteTest.java @@ -5,11 +5,11 @@ import junit.framework.TestCase; import java.sql.*; /* TODO tests that can be added to this test case - - SQLExceptions chained to a BatchUpdateException - - test PreparedStatement as thoroughly as Statement + * - SQLExceptions chained to a BatchUpdateException + * - test PreparedStatement as thoroughly as Statement */ -/** +/* * Test case for Statement.batchExecute() */ public class BatchExecuteTest extends TestCase @@ -166,8 +166,6 @@ public class BatchExecuteTest extends TestCase pstmt.close(); } - /** - */ public void testTransactionalBehaviour() throws Exception { Statement stmt = con.createStatement(); diff --git a/src/interfaces/jdbc/org/postgresql/test/jdbc2/BlobTest.java b/src/interfaces/jdbc/org/postgresql/test/jdbc2/BlobTest.java index 981e6c7dd5..cd02e801ec 100644 --- a/src/interfaces/jdbc/org/postgresql/test/jdbc2/BlobTest.java +++ b/src/interfaces/jdbc/org/postgresql/test/jdbc2/BlobTest.java @@ -7,8 +7,8 @@ import java.sql.*; import org.postgresql.largeobject.*; -/** - * $Id: BlobTest.java,v 1.3 2001/10/25 05:59:59 momjian Exp $ +/* + * $Id: BlobTest.java,v 1.4 2001/11/19 22:33:39 momjian Exp $ * * Some simple tests based on problems reported by users. Hopefully these will * help prevent previous problems from re-occuring ;-) @@ -40,7 +40,7 @@ public class BlobTest extends TestCase JDBC2Tests.closeDB(con); } - /** + /* * Tests one method of uploading a blob to the database */ public void testUploadBlob_LOOP() @@ -64,7 +64,7 @@ public class BlobTest extends TestCase } } - /** + /* * Tests one method of uploading a blob to the database */ public void testUploadBlob_NATIVE() @@ -88,7 +88,7 @@ public class BlobTest extends TestCase } } - /** + /* * Helper - uploads a file into a blob using old style methods. We use this * because it always works, and we can use it as a base to test the new * methods. @@ -152,7 +152,7 @@ public class BlobTest extends TestCase return oid; } - /** + /* * Helper - compares the blobs in a table with a local file. Note this alone * tests the InputStream methods! */ diff --git a/src/interfaces/jdbc/org/postgresql/test/jdbc2/ConnectionTest.java b/src/interfaces/jdbc/org/postgresql/test/jdbc2/ConnectionTest.java index d8a9e482b1..6db4f41218 100644 --- a/src/interfaces/jdbc/org/postgresql/test/jdbc2/ConnectionTest.java +++ b/src/interfaces/jdbc/org/postgresql/test/jdbc2/ConnectionTest.java @@ -4,19 +4,19 @@ import org.postgresql.test.JDBC2Tests; import junit.framework.TestCase; import java.sql.*; -/** +/* * TestCase to test the internal functionality of org.postgresql.jdbc2.Connection * and it's superclass. * * PS: Do you know how difficult it is to type on a train? ;-) * - * $Id: ConnectionTest.java,v 1.6 2001/10/25 05:59:59 momjian Exp $ + * $Id: ConnectionTest.java,v 1.7 2001/11/19 22:33:39 momjian Exp $ */ public class ConnectionTest extends TestCase { - /** + /* * Constructor */ public ConnectionTest(String name) @@ -46,7 +46,7 @@ public class ConnectionTest extends TestCase JDBC2Tests.closeDB(con); } - /** + /* * Tests the two forms of createStatement() */ public void testCreateStatement() @@ -72,7 +72,7 @@ public class ConnectionTest extends TestCase } } - /** + /* * Tests the two forms of prepareStatement() */ public void testPrepareStatement() @@ -100,13 +100,13 @@ public class ConnectionTest extends TestCase } } - /** + /* * Put the test for createPrepareCall here */ public void testPrepareCall() {} - /** + /* * Test nativeSQL */ public void testNativeSQL() @@ -114,7 +114,7 @@ public class ConnectionTest extends TestCase // For now do nothing as it returns itself } - /** + /* * Test autoCommit (both get & set) */ public void testTransactions() @@ -163,7 +163,7 @@ public class ConnectionTest extends TestCase } } - /** + /* * Simple test to see if isClosed works. */ public void testIsClosed() @@ -187,7 +187,7 @@ public class ConnectionTest extends TestCase } } - /** + /* * Test the warnings system */ public void testWarnings() @@ -224,7 +224,7 @@ public class ConnectionTest extends TestCase } } - /** + /* * Transaction Isolation Levels */ public void testTransactionIsolation() @@ -309,7 +309,7 @@ public class ConnectionTest extends TestCase } } - /** + /* * JDBC2 Type mappings */ public void testTypeMaps() diff --git a/src/interfaces/jdbc/org/postgresql/test/jdbc2/DatabaseMetaDataTest.java b/src/interfaces/jdbc/org/postgresql/test/jdbc2/DatabaseMetaDataTest.java index 310aad3ca8..440e8d7414 100644 --- a/src/interfaces/jdbc/org/postgresql/test/jdbc2/DatabaseMetaDataTest.java +++ b/src/interfaces/jdbc/org/postgresql/test/jdbc2/DatabaseMetaDataTest.java @@ -4,18 +4,18 @@ import org.postgresql.test.JDBC2Tests; import junit.framework.TestCase; import java.sql.*; -/** +/* * TestCase to test the internal functionality of org.postgresql.jdbc2.DatabaseMetaData * * PS: Do you know how difficult it is to type on a train? ;-) * - * $Id: DatabaseMetaDataTest.java,v 1.3 2001/10/25 05:59:59 momjian Exp $ + * $Id: DatabaseMetaDataTest.java,v 1.4 2001/11/19 22:33:39 momjian Exp $ */ public class DatabaseMetaDataTest extends TestCase { - /** + /* * Constructor */ public DatabaseMetaDataTest(String name) @@ -23,7 +23,7 @@ public class DatabaseMetaDataTest extends TestCase super(name); } - /** + /* * The spec says this may return null, but we always do! */ public void testGetMetaData() @@ -43,7 +43,7 @@ public class DatabaseMetaDataTest extends TestCase } } - /** + /* * Test default capabilities */ public void testCapabilities() diff --git a/src/interfaces/jdbc/org/postgresql/test/jdbc2/DateTest.java b/src/interfaces/jdbc/org/postgresql/test/jdbc2/DateTest.java index 3c42c7173e..300d1549bb 100644 --- a/src/interfaces/jdbc/org/postgresql/test/jdbc2/DateTest.java +++ b/src/interfaces/jdbc/org/postgresql/test/jdbc2/DateTest.java @@ -4,8 +4,8 @@ import org.postgresql.test.JDBC2Tests; import junit.framework.TestCase; import java.sql.*; -/** - * $Id: DateTest.java,v 1.3 2001/10/25 05:59:59 momjian Exp $ +/* + * $Id: DateTest.java,v 1.4 2001/11/19 22:33:39 momjian Exp $ * * Some simple tests based on problems reported by users. Hopefully these will * help prevent previous problems from re-occuring ;-) @@ -33,7 +33,7 @@ public class DateTest extends TestCase JDBC2Tests.closeDB(con); } - /** + /* * Tests the time methods in ResultSet */ public void testGetDate() @@ -59,7 +59,7 @@ public class DateTest extends TestCase } } - /** + /* * Tests the time methods in PreparedStatement */ public void testSetDate() @@ -95,7 +95,7 @@ public class DateTest extends TestCase } } - /** + /* * Helper for the date tests. It tests what should be in the db */ private void dateTest() throws SQLException diff --git a/src/interfaces/jdbc/org/postgresql/test/jdbc2/DriverTest.java b/src/interfaces/jdbc/org/postgresql/test/jdbc2/DriverTest.java index 5b2b408cc2..f2ec356c5a 100644 --- a/src/interfaces/jdbc/org/postgresql/test/jdbc2/DriverTest.java +++ b/src/interfaces/jdbc/org/postgresql/test/jdbc2/DriverTest.java @@ -4,8 +4,8 @@ import org.postgresql.test.JDBC2Tests; import junit.framework.TestCase; import java.sql.*; -/** - * $Id: DriverTest.java,v 1.3 2001/10/25 05:59:59 momjian Exp $ +/* + * $Id: DriverTest.java,v 1.4 2001/11/19 22:33:39 momjian Exp $ * * Tests the dynamically created class org.postgresql.Driver * @@ -18,7 +18,7 @@ public class DriverTest extends TestCase super(name); } - /** + /* * This tests the acceptsURL() method with a couple of good and badly formed * jdbc urls */ @@ -49,10 +49,10 @@ public class DriverTest extends TestCase } } - /** + /* * Tests parseURL (internal) */ - /** + /* * Tests the connect method by connecting to the test database */ public void testConnect() diff --git a/src/interfaces/jdbc/org/postgresql/test/jdbc2/EncodingTest.java b/src/interfaces/jdbc/org/postgresql/test/jdbc2/EncodingTest.java index dbf2aefbe6..f40bb5eae1 100644 --- a/src/interfaces/jdbc/org/postgresql/test/jdbc2/EncodingTest.java +++ b/src/interfaces/jdbc/org/postgresql/test/jdbc2/EncodingTest.java @@ -5,10 +5,10 @@ import junit.framework.*; import org.postgresql.core.Encoding; import java.io.*; -/** +/* * Tests for the Encoding class. * - * $Id: EncodingTest.java,v 1.3 2001/10/25 05:59:59 momjian Exp $ + * $Id: EncodingTest.java,v 1.4 2001/11/19 22:33:39 momjian Exp $ */ diff --git a/src/interfaces/jdbc/org/postgresql/test/jdbc2/JBuilderTest.java b/src/interfaces/jdbc/org/postgresql/test/jdbc2/JBuilderTest.java index 8cd7af8951..456a514613 100644 --- a/src/interfaces/jdbc/org/postgresql/test/jdbc2/JBuilderTest.java +++ b/src/interfaces/jdbc/org/postgresql/test/jdbc2/JBuilderTest.java @@ -5,8 +5,8 @@ import junit.framework.TestCase; import java.sql.*; import java.math.BigDecimal; -/** - * $Id: JBuilderTest.java,v 1.4 2001/10/25 05:59:59 momjian Exp $ +/* + * $Id: JBuilderTest.java,v 1.5 2001/11/19 22:33:39 momjian Exp $ * * Some simple tests to check that the required components needed for JBuilder * stay working @@ -39,7 +39,7 @@ public class JBuilderTest extends TestCase JDBC2Tests.closeDB(con); } - /** + /* * This tests that Money types work. JDBCExplorer barfs if this fails. */ public void testMoney() diff --git a/src/interfaces/jdbc/org/postgresql/test/jdbc2/MiscTest.java b/src/interfaces/jdbc/org/postgresql/test/jdbc2/MiscTest.java index 2e4a7e6848..f62a0738b3 100644 --- a/src/interfaces/jdbc/org/postgresql/test/jdbc2/MiscTest.java +++ b/src/interfaces/jdbc/org/postgresql/test/jdbc2/MiscTest.java @@ -4,8 +4,8 @@ import org.postgresql.test.JDBC2Tests; import junit.framework.TestCase; import java.sql.*; -/** - * $Id: MiscTest.java,v 1.3 2001/10/25 05:59:59 momjian Exp $ +/* + * $Id: MiscTest.java,v 1.4 2001/11/19 22:33:39 momjian Exp $ * * Some simple tests based on problems reported by users. Hopefully these will * help prevent previous problems from re-occuring ;-) @@ -19,7 +19,7 @@ public class MiscTest extends TestCase super(name); } - /** + /* * Some versions of the driver would return rs as a null? * * Sasha was having this problem. diff --git a/src/interfaces/jdbc/org/postgresql/test/jdbc2/ResultSetTest.java b/src/interfaces/jdbc/org/postgresql/test/jdbc2/ResultSetTest.java index e4ec7928c9..64a5560eac 100644 --- a/src/interfaces/jdbc/org/postgresql/test/jdbc2/ResultSetTest.java +++ b/src/interfaces/jdbc/org/postgresql/test/jdbc2/ResultSetTest.java @@ -5,7 +5,7 @@ import junit.framework.TestCase; import java.io.*; import java.sql.*; -/** +/* * ResultSet tests. */ public class ResultSetTest extends TestCase diff --git a/src/interfaces/jdbc/org/postgresql/test/jdbc2/TimeTest.java b/src/interfaces/jdbc/org/postgresql/test/jdbc2/TimeTest.java index 03f484dad8..88ba63f76a 100644 --- a/src/interfaces/jdbc/org/postgresql/test/jdbc2/TimeTest.java +++ b/src/interfaces/jdbc/org/postgresql/test/jdbc2/TimeTest.java @@ -4,8 +4,8 @@ import org.postgresql.test.JDBC2Tests; import junit.framework.TestCase; import java.sql.*; -/** - * $Id: TimeTest.java,v 1.3 2001/10/25 05:59:59 momjian Exp $ +/* + * $Id: TimeTest.java,v 1.4 2001/11/19 22:33:39 momjian Exp $ * * Some simple tests based on problems reported by users. Hopefully these will * help prevent previous problems from re-occuring ;-) @@ -33,7 +33,7 @@ public class TimeTest extends TestCase JDBC2Tests.closeDB(con); } - /** + /* * Tests the time methods in ResultSet */ public void testGetTime() @@ -57,7 +57,7 @@ public class TimeTest extends TestCase } } - /** + /* * Tests the time methods in PreparedStatement */ public void testSetTime() @@ -86,7 +86,7 @@ public class TimeTest extends TestCase } } - /** + /* * Helper for the TimeTests. It tests what should be in the db */ private void timeTest() throws SQLException diff --git a/src/interfaces/jdbc/org/postgresql/test/jdbc2/TimestampTest.java b/src/interfaces/jdbc/org/postgresql/test/jdbc2/TimestampTest.java index 4b98ee5c21..f7bf62e6d6 100644 --- a/src/interfaces/jdbc/org/postgresql/test/jdbc2/TimestampTest.java +++ b/src/interfaces/jdbc/org/postgresql/test/jdbc2/TimestampTest.java @@ -4,8 +4,8 @@ import org.postgresql.test.JDBC2Tests; import junit.framework.TestCase; import java.sql.*; -/** - * $Id: TimestampTest.java,v 1.5 2001/10/25 05:59:59 momjian Exp $ +/* + * $Id: TimestampTest.java,v 1.6 2001/11/19 22:33:39 momjian Exp $ * * This has been the most controversial pair of methods since 6.5 was released! * @@ -37,7 +37,7 @@ public class TimestampTest extends TestCase JDBC2Tests.closeDB(con); } - /** + /* * Tests the time methods in ResultSet */ public void testGetTimestamp() @@ -69,7 +69,7 @@ public class TimestampTest extends TestCase } } - /** + /* * Tests the time methods in PreparedStatement */ public void testSetTimestamp() @@ -102,7 +102,7 @@ public class TimestampTest extends TestCase } } - /** + /* * Helper for the TimeTests. It tests what should be in the db */ private void timestampTest() throws SQLException diff --git a/src/interfaces/jdbc/org/postgresql/util/MD5Digest.java b/src/interfaces/jdbc/org/postgresql/util/MD5Digest.java index 450f242d60..9d7a7d3617 100644 --- a/src/interfaces/jdbc/org/postgresql/util/MD5Digest.java +++ b/src/interfaces/jdbc/org/postgresql/util/MD5Digest.java @@ -1,6 +1,6 @@ package org.postgresql.util; -/** +/* * MD5-based utility function to obfuscate passwords before network transmission * * @author Jeremy Wohl @@ -11,63 +11,70 @@ import java.security.*; public class MD5Digest { - private MD5Digest() {} + private MD5Digest() + {} - /** - * Encodes user/password/salt information in the following way: - * MD5(MD5(password + user) + salt) - * - * @param user The connecting user. - * @param password The connecting user's password. - * @param salt A four-character string sent by the server. - * - * @return A 35-byte array, comprising the string "md5", followed by an MD5 digest. - */ - public static byte[] encode(String user, String password, String salt) - { - MessageDigest md; - byte[] temp_digest, pass_digest; - byte[] hex_digest = new byte[35]; - + /* + * Encodes user/password/salt information in the following way: + * MD5(MD5(password + user) + salt) + * + * @param user The connecting user. + * @param password The connecting user's password. + * @param salt A four-character string sent by the server. + * + * @return A 35-byte array, comprising the string "md5", followed by an MD5 digest. + */ + public static byte[] encode(String user, String password, String salt) + { + MessageDigest md; + byte[] temp_digest, pass_digest; + byte[] hex_digest = new byte[35]; - try { - md = MessageDigest.getInstance("MD5"); + try + { + md = MessageDigest.getInstance("MD5"); - md.update(password.getBytes()); - md.update(user.getBytes()); - temp_digest = md.digest(); + md.update(password.getBytes()); + md.update(user.getBytes()); + temp_digest = md.digest(); - bytesToHex(temp_digest, hex_digest, 0); - md.update(hex_digest, 0, 32); - md.update(salt.getBytes()); - pass_digest = md.digest(); + bytesToHex(temp_digest, hex_digest, 0); + md.update(hex_digest, 0, 32); + md.update(salt.getBytes()); + pass_digest = md.digest(); - bytesToHex(pass_digest, hex_digest, 3); - hex_digest[0] = (byte) 'm'; hex_digest[1] = (byte) 'd'; hex_digest[2] = (byte) '5'; - } catch (Exception e) { - ; // "MessageDigest failure; " + e + bytesToHex(pass_digest, hex_digest, 3); + hex_digest[0] = (byte) 'm'; + hex_digest[1] = (byte) 'd'; + hex_digest[2] = (byte) '5'; + } + catch (Exception e) + { + ; // "MessageDigest failure; " + e + } + + return hex_digest; } - return hex_digest; - } + /* + * Turn 16-byte stream into a human-readable 32-byte hex string + */ + private static void bytesToHex(byte[] bytes, byte[] hex, int offset) + { + final char lookup[] = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', + 'a', 'b', 'c', 'd', 'e', 'f' }; + + int i, c, j, pos = offset; - /** - * Turn 16-byte stream into a human-readable 32-byte hex string - */ - private static void bytesToHex(byte[] bytes, byte[] hex, int offset) - { - final char lookup[] = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', - 'a', 'b', 'c', 'd', 'e', 'f' }; - - int i, c, j, pos = offset; - - for (i = 0; i < 16; i++) { - c = bytes[i] & 0xFF; j = c >> 4; - hex[pos++] = (byte) lookup[j]; - j = (c & 0xF); - hex[pos++] = (byte) lookup[j]; + for (i = 0; i < 16; i++) + { + c = bytes[i] & 0xFF; + j = c >> 4; + hex[pos++] = (byte) lookup[j]; + j = (c & 0xF); + hex[pos++] = (byte) lookup[j]; + } } - } } diff --git a/src/interfaces/jdbc/org/postgresql/util/MessageTranslator.java b/src/interfaces/jdbc/org/postgresql/util/MessageTranslator.java index d9f4810082..4e16d012ab 100644 --- a/src/interfaces/jdbc/org/postgresql/util/MessageTranslator.java +++ b/src/interfaces/jdbc/org/postgresql/util/MessageTranslator.java @@ -3,7 +3,7 @@ package org.postgresql.util; import java.util.*; import java.text.*; -/** +/* * A singleton class to translate JDBC driver messages in SQLException's. */ public class MessageTranslator diff --git a/src/interfaces/jdbc/org/postgresql/util/PGbytea.java b/src/interfaces/jdbc/org/postgresql/util/PGbytea.java index 65db41d7ff..c424ae27ce 100644 --- a/src/interfaces/jdbc/org/postgresql/util/PGbytea.java +++ b/src/interfaces/jdbc/org/postgresql/util/PGbytea.java @@ -2,16 +2,16 @@ package org.postgresql.util; import java.sql.*; -/** +/* * Converts to and from the postgresql bytea datatype used by the backend. * - * $Id: PGbytea.java,v 1.2 2001/10/25 06:00:00 momjian Exp $ + * $Id: PGbytea.java,v 1.3 2001/11/19 22:33:39 momjian Exp $ */ public class PGbytea { - /** + /* * Converts a PG bytea string (i.e. the text representation * of the bytea data type) into a java byte[] */ @@ -54,7 +54,7 @@ public class PGbytea return l_return; } - /** + /* * Converts a java byte[] into a PG bytea string (i.e. the text * representation of the bytea data type) */ diff --git a/src/interfaces/jdbc/org/postgresql/util/PGmoney.java b/src/interfaces/jdbc/org/postgresql/util/PGmoney.java index 4b999d98ce..77e019d724 100644 --- a/src/interfaces/jdbc/org/postgresql/util/PGmoney.java +++ b/src/interfaces/jdbc/org/postgresql/util/PGmoney.java @@ -3,17 +3,17 @@ package org.postgresql.util; import java.io.*; import java.sql.*; -/** +/* * This implements a class that handles the PostgreSQL money and cash types */ public class PGmoney extends PGobject implements Serializable, Cloneable { - /** + /* * The value of the field */ public double val; - /** + /* * @param value of field */ public PGmoney(double value) @@ -22,7 +22,7 @@ public class PGmoney extends PGobject implements Serializable, Cloneable val = value; } - /** + /* * This is called mainly from the other geometric types, when a * point is imbeded within their definition. * @@ -34,7 +34,7 @@ public class PGmoney extends PGobject implements Serializable, Cloneable setValue(value); } - /** + /* * Required by the driver */ public PGmoney() @@ -42,7 +42,7 @@ public class PGmoney extends PGobject implements Serializable, Cloneable setType("money"); } - /** + /* * @param s Definition of this point in PostgreSQL's syntax * @exception SQLException on conversion failure */ @@ -76,7 +76,7 @@ public class PGmoney extends PGobject implements Serializable, Cloneable } } - /** + /* * @param obj Object to compare with * @return true if the two boxes are identical */ @@ -90,7 +90,7 @@ public class PGmoney extends PGobject implements Serializable, Cloneable return false; } - /** + /* * This must be overidden to allow the object to be cloned */ public Object clone() @@ -98,7 +98,7 @@ public class PGmoney extends PGobject implements Serializable, Cloneable return new PGmoney(val); } - /** + /* * @return the PGpoint in the syntax expected by org.postgresql */ public String getValue() diff --git a/src/interfaces/jdbc/org/postgresql/util/PGobject.java b/src/interfaces/jdbc/org/postgresql/util/PGobject.java index 28df4940c8..3370c66eef 100644 --- a/src/interfaces/jdbc/org/postgresql/util/PGobject.java +++ b/src/interfaces/jdbc/org/postgresql/util/PGobject.java @@ -5,7 +5,7 @@ import java.lang.*; import java.sql.*; import java.util.*; -/** +/* * org.postgresql.PG_Object is a class used to describe unknown types * An unknown type is any type that is unknown by JDBC Standards * @@ -18,14 +18,14 @@ public class PGobject implements Serializable, Cloneable protected String type; protected String value; - /** + /* * This is called by org.postgresql.Connection.getObject() to create the * object. */ public PGobject() {} - /** + /* * This method sets the type of this object. * *

It should not be extended by subclasses, hence its final @@ -37,7 +37,7 @@ public class PGobject implements Serializable, Cloneable this.type = type; } - /** + /* * This method sets the value of this object. It must be overidden. * * @param value a string representation of the value of the object @@ -48,7 +48,7 @@ public class PGobject implements Serializable, Cloneable this.value = value; } - /** + /* * As this cannot change during the life of the object, it's final. * @return the type name of this object */ @@ -57,7 +57,7 @@ public class PGobject implements Serializable, Cloneable return type; } - /** + /* * This must be overidden, to return the value of the object, in the * form required by org.postgresql. * @return the value of this object @@ -67,7 +67,7 @@ public class PGobject implements Serializable, Cloneable return value; } - /** + /* * This must be overidden to allow comparisons of objects * @param obj Object to compare with * @return true if the two boxes are identical @@ -79,7 +79,7 @@ public class PGobject implements Serializable, Cloneable return false; } - /** + /* * This must be overidden to allow the object to be cloned */ public Object clone() @@ -90,7 +90,7 @@ public class PGobject implements Serializable, Cloneable return obj; } - /** + /* * This is defined here, so user code need not overide it. * @return the value of this object, in the syntax expected by org.postgresql */ diff --git a/src/interfaces/jdbc/org/postgresql/util/PGtokenizer.java b/src/interfaces/jdbc/org/postgresql/util/PGtokenizer.java index c8605061eb..bdbad3d160 100644 --- a/src/interfaces/jdbc/org/postgresql/util/PGtokenizer.java +++ b/src/interfaces/jdbc/org/postgresql/util/PGtokenizer.java @@ -3,7 +3,7 @@ package org.postgresql.util; import java.sql.*; import java.util.*; -/** +/* * This class is used to tokenize the text output of org.postgres. * *

It's mainly used by the geometric classes, but is useful in parsing any @@ -21,7 +21,7 @@ public class PGtokenizer // Our tokens protected Vector tokens; - /** + /* * Create a tokeniser. * *

We could have used StringTokenizer to do this, however, we needed to @@ -36,7 +36,7 @@ public class PGtokenizer tokenize(string, delim); } - /** + /* * This resets this tokenizer with a new string and/or delimiter. * * @param string containing tokens @@ -83,7 +83,7 @@ public class PGtokenizer return tokens.size(); } - /** + /* * @return the number of tokens available */ public int getSize() @@ -91,7 +91,7 @@ public class PGtokenizer return tokens.size(); } - /** + /* * @param n Token number ( 0 ... getSize()-1 ) * @return The token value */ @@ -100,7 +100,7 @@ public class PGtokenizer return (String)tokens.elementAt(n); } - /** + /* * This returns a new tokenizer based on one of our tokens. * * The geometric datatypes use this to process nested tokens (usually @@ -115,7 +115,7 @@ public class PGtokenizer return new PGtokenizer(getToken(n), delim); } - /** + /* * This removes the lead/trailing strings from a string * @param s Source string * @param l Leading string to remove @@ -131,7 +131,7 @@ public class PGtokenizer return s; } - /** + /* * This removes the lead/trailing strings from all tokens * @param l Leading string to remove * @param t Trailing string to remove @@ -144,7 +144,7 @@ public class PGtokenizer } } - /** + /* * Removes ( and ) from the beginning and end of a string * @param s String to remove from * @return String without the ( or ) @@ -154,7 +154,7 @@ public class PGtokenizer return remove(s, "(", ")"); } - /** + /* * Removes ( and ) from the beginning and end of all tokens * @return String without the ( or ) */ @@ -163,7 +163,7 @@ public class PGtokenizer remove("(", ")"); } - /** + /* * Removes [ and ] from the beginning and end of a string * @param s String to remove from * @return String without the [ or ] @@ -173,7 +173,7 @@ public class PGtokenizer return remove(s, "[", "]"); } - /** + /* * Removes [ and ] from the beginning and end of all tokens * @return String without the [ or ] */ @@ -182,7 +182,7 @@ public class PGtokenizer remove("[", "]"); } - /** + /* * Removes < and > from the beginning and end of a string * @param s String to remove from * @return String without the < or > @@ -192,7 +192,7 @@ public class PGtokenizer return remove(s, "<", ">"); } - /** + /* * Removes < and > from the beginning and end of all tokens * @return String without the < or > */ diff --git a/src/interfaces/jdbc/org/postgresql/util/PSQLException.java b/src/interfaces/jdbc/org/postgresql/util/PSQLException.java index 99f6f310d7..46c71fab11 100644 --- a/src/interfaces/jdbc/org/postgresql/util/PSQLException.java +++ b/src/interfaces/jdbc/org/postgresql/util/PSQLException.java @@ -3,14 +3,14 @@ package org.postgresql.util; import java.io.*; import java.sql.*; -/** +/* * This class extends SQLException, and provides our internationalisation handling */ public class PSQLException extends SQLException { private String message; - /** + /* * This provides the same functionality to SQLException * @param error Error string */ @@ -20,7 +20,7 @@ public class PSQLException extends SQLException translate(error, null); } - /** + /* * A more generic entry point. * @param error Error string or standard message id * @param args Array of arguments @@ -31,7 +31,7 @@ public class PSQLException extends SQLException translate(error, args); } - /** + /* * Helper version for 1 arg */ public PSQLException(String error, Object arg) @@ -42,7 +42,7 @@ public class PSQLException extends SQLException translate(error, argv); } - /** + /* * Helper version for 1 arg. This is used for debug purposes only with * some unusual Exception's. It allows the originiating Exceptions stack * trace to be returned. @@ -73,7 +73,7 @@ public class PSQLException extends SQLException translate(error, argv); } - /** + /* * Helper version for 2 args */ public PSQLException(String error, Object arg1, Object arg2) @@ -90,7 +90,7 @@ public class PSQLException extends SQLException message = MessageTranslator.translate(error, args); } - /** + /* * Overides Throwable */ public String getLocalizedMessage() @@ -98,7 +98,7 @@ public class PSQLException extends SQLException return message; } - /** + /* * Overides Throwable */ public String getMessage() @@ -106,7 +106,7 @@ public class PSQLException extends SQLException return message; } - /** + /* * Overides Object */ public String toString() diff --git a/src/interfaces/jdbc/org/postgresql/util/Serialize.java b/src/interfaces/jdbc/org/postgresql/util/Serialize.java index 7b26f06f4f..ff198964c0 100644 --- a/src/interfaces/jdbc/org/postgresql/util/Serialize.java +++ b/src/interfaces/jdbc/org/postgresql/util/Serialize.java @@ -7,7 +7,7 @@ import java.net.*; import java.util.*; import java.sql.*; -/** +/* * This class uses PostgreSQL's object oriented features to store Java Objects.

* * It does this by mapping a Java Class name to a table in the database. Each @@ -119,7 +119,7 @@ public class Serialize // This is the Class for this serialzed object protected Class ourClass; - /** + /* * This creates an instance that can be used to serialize or deserialize * a Java object from a PostgreSQL table. */ @@ -160,7 +160,7 @@ public class Serialize // Finally cache the fields within the table } - /** + /* * Constructor when Object is passed in */ public Serialize(org.postgresql.Connection c, Object o) throws SQLException @@ -168,7 +168,7 @@ public class Serialize this(c, o.getClass().getName()); } - /** + /* * Constructor when Class is passed in */ public Serialize(org.postgresql.Connection c, Class cls) throws SQLException @@ -176,7 +176,7 @@ public class Serialize this(c, cls.getName()); } - /** + /* * This fetches an object from a table, given it's OID * @param oid The oid of the object * @return Object relating to oid @@ -267,7 +267,7 @@ public class Serialize } } - /** + /* * This stores an object into a table, returning it's OID.

* * If the object has an int called OID, and it is > 0, then @@ -406,7 +406,7 @@ public class Serialize } } - /** + /* * Escape literal single quote and backslashes embedded in strings/chars. * Otherwise, postgres will bomb on the single quote and remove the * the backslashes. @@ -451,7 +451,7 @@ public class Serialize return s; } - /** + /* * This method is not used by the driver, but it creates a table, given * a Serializable Java Object. It should be used before serializing any * objects. @@ -464,7 +464,7 @@ public class Serialize create(con, o.getClass()); } - /** + /* * This method is not used by the driver, but it creates a table, given * a Serializable Java Object. It should be used before serializing any * objects. @@ -558,7 +558,7 @@ public class Serialize {"byte", "int2"} }; - /** + /* * This converts a Java Class name to a org.postgresql table, by replacing . with * _

* @@ -593,7 +593,7 @@ public class Serialize } - /** + /* * This converts a org.postgresql table to a Java Class name, by replacing _ with * .

* diff --git a/src/interfaces/jdbc/org/postgresql/util/UnixCrypt.java b/src/interfaces/jdbc/org/postgresql/util/UnixCrypt.java index e06698ca25..049cb80c1e 100644 --- a/src/interfaces/jdbc/org/postgresql/util/UnixCrypt.java +++ b/src/interfaces/jdbc/org/postgresql/util/UnixCrypt.java @@ -1,6 +1,6 @@ package org.postgresql.util; -/** +/* * This class provides us with the ability to encrypt passwords when sent * over the network stream * @@ -576,7 +576,7 @@ public class UnixCrypt extends Object return (out); } - /** + /* *

Encrypt a password given the cleartext password and a "salt".

* @param salt A two-character string representing the salt used to * iterate the encryption engine in lots of different ways. If you @@ -645,7 +645,7 @@ public class UnixCrypt extends Object return (buffer.toString()); } - /** + /* *

Encrypt a password given the cleartext password. This method * generates a random salt using the 'java.util.Random' class.

* @param original The password to be encrypted. @@ -663,7 +663,7 @@ public class UnixCrypt extends Object return crypt(salt, original); } - /** + /* *

Check that enteredPassword encrypts to * encryptedPassword.

* @param encryptedPassword The encryptedPassword. The first diff --git a/src/interfaces/jdbc/org/postgresql/xa/ClientConnection.java b/src/interfaces/jdbc/org/postgresql/xa/ClientConnection.java index b6fd5c5a9e..8d02af703d 100644 --- a/src/interfaces/jdbc/org/postgresql/xa/ClientConnection.java +++ b/src/interfaces/jdbc/org/postgresql/xa/ClientConnection.java @@ -1,4 +1,4 @@ -/** +/* * Redistribution and use of this software and associated documentation * ("Software"), with or without modification, are permitted provided * that the following conditions are met: @@ -40,7 +40,7 @@ * * Copyright 1999 (C) Exoffice Technologies Inc. All Rights Reserved. * -* $Id: ClientConnection.java,v 1.2 2001/10/25 06:00:05 momjian Exp $ +* $Id: ClientConnection.java,v 1.3 2001/11/19 22:33:39 momjian Exp $ */ @@ -51,7 +51,7 @@ import java.util.*; import java.sql.*; -/** +/* * Encapsulates an application's view of an XA/pooled connection. * The XA connection is managed by the application server through it's * {@link javax.sql.XAConnection} interface. The underlying JDBC @@ -72,14 +72,14 @@ final class ClientConnection { - /** + /* * The pooled XA connection that created this client connection * and should be used to report closure and fatal errors. */ private XAConnectionImpl _xaConn; - /** + /* * This identifier was handed on to use when we were created by * {@link XAConnection}. If since then the XA connection was asked * to create another connection or was closed, our identifier will @@ -94,7 +94,7 @@ final class ClientConnection - /** + /* * Construct a new client connection to provide access to the * underlying JDBC connection (underlying) on behalf of * an XA/pooled connection (xaConn). The pooled connection @@ -483,7 +483,7 @@ final class ClientConnection } - /** + /* * Called by {@link XAConnectionImpl} to terminate this connection * by dissociating it from the underlying JDBC connection. * The application would call {@link #close} but {@link @@ -520,7 +520,7 @@ final class ClientConnection } - /** + /* * Called when an exception is thrown by the underlying connection * to determine whether the exception is critical or not. If the * exception is critical, notifies the XA connection to forget @@ -536,7 +536,7 @@ final class ClientConnection } - /** + /* * Called to retrieve the underlying JDBC connection. Actual JDBC * operations are performed against it. Throws an SQLException if * this connection has been closed. diff --git a/src/interfaces/jdbc/org/postgresql/xa/TwoPhaseConnection.java b/src/interfaces/jdbc/org/postgresql/xa/TwoPhaseConnection.java index 8927943378..7b0ce88f49 100644 --- a/src/interfaces/jdbc/org/postgresql/xa/TwoPhaseConnection.java +++ b/src/interfaces/jdbc/org/postgresql/xa/TwoPhaseConnection.java @@ -1,4 +1,4 @@ -/** +/* * Redistribution and use of this software and associated documentation * ("Software"), with or without modification, are permitted provided * that the following conditions are met: @@ -40,7 +40,7 @@ * * Copyright 1999 (C) Exoffice Technologies Inc. All Rights Reserved. * -* $Id: TwoPhaseConnection.java,v 1.2 2001/10/25 06:00:05 momjian Exp $ +* $Id: TwoPhaseConnection.java,v 1.3 2001/11/19 22:33:39 momjian Exp $ */ @@ -50,7 +50,7 @@ package org.postgresql.xa; import java.sql.SQLException; -/** +/* * Defines two-phase commit support for a JDBC connection used by * {@link XAConnection}. A JDBC connection that can implement any of * these features should extend this interface and attempt to @@ -79,7 +79,7 @@ public interface TwoPhaseConnection { - /** + /* * Enables or disables transaction demarcation through SQL commit * and rollback. When the connection falls under control of * {@link XAConnection}, SQL commit/rollback commands will be @@ -90,7 +90,7 @@ public interface TwoPhaseConnection public void enableSQLTransactions( boolean flag ); - /** + /* * Called to prepare the transaction for commit. Returns true if * the transaction is prepared, false if the transaction is * read-only. If the transaction has been marked for rollback, @@ -104,7 +104,7 @@ public interface TwoPhaseConnection throws SQLException; - /** + /* * Returns true if the error issued by this connection is a * critical error and the connection should be terminated. * diff --git a/src/interfaces/jdbc/org/postgresql/xa/TxConnection.java b/src/interfaces/jdbc/org/postgresql/xa/TxConnection.java index 6d9597af4e..ef2179285f 100644 --- a/src/interfaces/jdbc/org/postgresql/xa/TxConnection.java +++ b/src/interfaces/jdbc/org/postgresql/xa/TxConnection.java @@ -1,4 +1,4 @@ -/** +/* * Redistribution and use of this software and associated documentation * ("Software"), with or without modification, are permitted provided * that the following conditions are met: @@ -40,7 +40,7 @@ * * Copyright 1999 (C) Exoffice Technologies Inc. All Rights Reserved. * -* $Id: TxConnection.java,v 1.2 2001/10/25 06:00:05 momjian Exp $ +* $Id: TxConnection.java,v 1.3 2001/11/19 22:33:39 momjian Exp $ */ @@ -51,7 +51,7 @@ import java.sql.Connection; import javax.transaction.xa.Xid; -/** +/* * Describes an open connection associated with a transaction. When a * transaction is opened for a connection, this record is created for * the connection. It indicates the underlying JDBC connection and @@ -68,14 +68,14 @@ final class TxConnection { - /** + /* * The Xid of the transactions. Connections that are not * associated with a transaction are not represented here. */ Xid xid; - /** + /* * Holds the underlying JDBC connection for as long as this * connection is useable. If the connection has been rolled back, * timed out or had any other error, this variable will null @@ -85,7 +85,7 @@ final class TxConnection - /** + /* * Indicates the clock time (in ms) when the transaction should * time out. The transaction times out when * System.currentTimeMillis() > timeout. @@ -93,32 +93,32 @@ final class TxConnection long timeout; - /** + /* * Indicates the clock time (in ms) when the transaction started. */ long started; - /** + /* * Reference counter indicates how many XA connections share this * underlying connection and transaction. Always one or more. */ int count; - /** + /* * True if the transaction has failed due to time out. */ boolean timedOut; - /** + /* * True if the transaction has already been prepared. */ boolean prepared; - /** + /* * True if the transaction has been prepared and found out to be * read-only. Read-only transactions do not require commit/rollback. */ diff --git a/src/interfaces/jdbc/org/postgresql/xa/XAConnectionImpl.java b/src/interfaces/jdbc/org/postgresql/xa/XAConnectionImpl.java index ea51c90dce..2c7b9fbc9d 100644 --- a/src/interfaces/jdbc/org/postgresql/xa/XAConnectionImpl.java +++ b/src/interfaces/jdbc/org/postgresql/xa/XAConnectionImpl.java @@ -1,4 +1,4 @@ -/** +/* * Redistribution and use of this software and associated documentation * ("Software"), with or without modification, are permitted provided * that the following conditions are met: @@ -40,7 +40,7 @@ * * Copyright 1999 (C) Exoffice Technologies Inc. All Rights Reserved. * -* $Id: XAConnectionImpl.java,v 1.2 2001/10/25 06:00:05 momjian Exp $ +* $Id: XAConnectionImpl.java,v 1.3 2001/11/19 22:33:39 momjian Exp $ */ @@ -60,7 +60,7 @@ import javax.transaction.xa.Xid; import javax.transaction.xa.XAException; -/** +/* * Implements an X/A connection that can be pooled and managed from * inside a transaction monitor. This is the XA connection returned * to the application server from the {@link XADataSourceImpl} and @@ -87,7 +87,7 @@ public final class XAConnectionImpl { - /** + /* * This is the underlying JDBC connection represented * by this pooled connection. This variable may initially be null, * in which case {@link #getUnderlying} will return a new @@ -98,7 +98,7 @@ public final class XAConnectionImpl Connection _underlying; - /** + /* * If this connection is part of a global transaction, this * object identifies the transaction. The transaction's * underlying JDBC connection is exposed through this object and @@ -109,7 +109,7 @@ public final class XAConnectionImpl private TxConnection _txConn; - /** + /* * The client connection last handed to the application. If the * application calls {@link #getConnection} again, we should hand * out a new client connection and render the previous one closed. @@ -118,7 +118,7 @@ public final class XAConnectionImpl //private ClientConnection _clientConn; - /** + /* * An event listener can be registered and notified when the * client connection has been closed by the application or a * fatal error rendered it unuseable. @@ -126,14 +126,14 @@ public final class XAConnectionImpl private ConnectionEventListener _listener; - /** + /* * The resource manager is used to share connections within the * same transaction. */ private XADataSourceImpl _resManager; - /** + /* * This is an identifier we hand to the client connection when we * create it. When the client connection asks for the underlying * connection, we compare the identifiers. If since that point we @@ -149,7 +149,7 @@ public final class XAConnectionImpl private int _clientId = 1; - /** + /* * Construct a new XA/pooled connection with the underlying JDBC * connection suitable for this driver only. This is a one to one * mapping between this connection and the underlying connection. @@ -288,7 +288,7 @@ public final class XAConnectionImpl } - /** + /* * Called by {@link ClientConnection} to notify that the application * has attempted to close the connection. After this call, the client * connection is no longer useable and this pooled connection can be @@ -341,7 +341,7 @@ public final class XAConnectionImpl } - /** + /* * Called by {@link ClientConnection} to notify that an error * occured with the underlying connection. If the error is * critical, the underlying connection is closed and the listener @@ -903,7 +903,7 @@ public final class XAConnectionImpl } - /** + /* * Returns true if this connection is inside a global transaction. * If the connection is inside a global transaction it will not * allow commit/rollback directly from the {@link @@ -914,8 +914,7 @@ public final class XAConnectionImpl return ( _txConn != null ); } - - /** + /* * Called to obtain the underlying connections. If this connection * is part of a transaction, the transction's underlying connection * is returned, or an exception is thrown if the connection was diff --git a/src/interfaces/jdbc/org/postgresql/xa/XADataSourceImpl.java b/src/interfaces/jdbc/org/postgresql/xa/XADataSourceImpl.java index df3c4ae987..4e8e0d4ba0 100644 --- a/src/interfaces/jdbc/org/postgresql/xa/XADataSourceImpl.java +++ b/src/interfaces/jdbc/org/postgresql/xa/XADataSourceImpl.java @@ -1,4 +1,4 @@ -/** +/* * Redistribution and use of this software and associated documentation * ("Software"), with or without modification, are permitted provided * that the following conditions are met: @@ -40,7 +40,7 @@ * * Copyright 1999 (C) Exoffice Technologies Inc. All Rights Reserved. * -* $Id: XADataSourceImpl.java,v 1.2 2001/10/25 06:00:05 momjian Exp $ +* $Id: XADataSourceImpl.java,v 1.3 2001/11/19 22:33:39 momjian Exp $ */ @@ -65,7 +65,7 @@ import javax.transaction.xa.Xid; -/** +/* * Implements a JDBC 2.0 {@link XADataSource} for any JDBC driver * with JNDI persistance support. The base implementation is actually * provided by a different {@link DataSource} class; although this is @@ -82,13 +82,13 @@ public abstract class XADataSourceImpl { - /** + /* * Maps underlying JDBC connections into global transaction Xids. */ private transient Hashtable _txConnections = new Hashtable(); - /** + /* * This is a pool of free underlying JDBC connections. If two * XA connections are used in the same transaction, the second * one will make its underlying JDBC connection available to @@ -98,20 +98,20 @@ public abstract class XADataSourceImpl private transient Stack _pool = new Stack(); - /** + /* * A background deamon thread terminating connections that have * timed out. */ private transient Thread _background; - /** + /* * The default timeout for all new transactions. */ private int _txTimeout = DEFAULT_TX_TIMEOUT; - /** + /* * The default timeout for all new transactions is 10 seconds. */ public final static int DEFAULT_TX_TIMEOUT = 10; @@ -119,7 +119,7 @@ public abstract class XADataSourceImpl - /** + /* * Implementation details: * If two XAConnections are associated with the same transaction * (one with a start the other with a join) they must use the @@ -192,7 +192,7 @@ public abstract class XADataSourceImpl } - /** + /* * Returns the default timeout for all transactions. */ public int getTransactionTimeout() @@ -201,7 +201,7 @@ public abstract class XADataSourceImpl } - /** + /* * This method is defined in the interface and implemented in the * derived class, we re-define it just to make sure it does not * throw an {@link SQLException} and that we do not need to @@ -210,7 +210,7 @@ public abstract class XADataSourceImpl public abstract java.io.PrintWriter getLogWriter(); - /** + /* * Sets the default timeout for all transactions. The timeout is * specified in seconds. Use zero for the default timeout. Calling * this method does not affect transactions in progress. @@ -227,7 +227,7 @@ public abstract class XADataSourceImpl } - /** + /* * Returns an underlying connection for the global transaction, * if one has been associated before. * @@ -240,7 +240,7 @@ public abstract class XADataSourceImpl } - /** + /* * Associates the global transaction with an underlying connection, * or dissociate it when null is passed. * @@ -256,7 +256,7 @@ public abstract class XADataSourceImpl } - /** + /* * Release an unused connection back to the pool. If an XA * connection has been asked to join an existing transaction, * it will no longer use it's own connection and make it available @@ -270,7 +270,7 @@ public abstract class XADataSourceImpl } - /** + /* * Creates a new underlying connection. Used by XA connection * that lost it's underlying connection when joining a * transaction and is now asked to produce a new connection. @@ -294,7 +294,7 @@ public abstract class XADataSourceImpl } - /** + /* * XXX Not fully implemented yet and no code to really * test it. */ @@ -316,7 +316,7 @@ public abstract class XADataSourceImpl } - /** + /* * Returns the transaction isolation level to use with all newly * created transactions, or {@link Connection#TRANSACTION_NONE} * if using the driver's default isolation level. -- 2.40.0